Ejemplo n.º 1
0
    def test_it_stops_the_visit_if_the_node_does_not_exists(self):
        config_builder = MagicMock()
        config_builder.complete_key = "a"
        config_builder.children = MagicMock()
        config_builder.children.items = MagicMock()

        node_visitor.apply_config_builder(config_builder, {})
        self.assertFalse(config_builder.children.items.called)
Ejemplo n.º 2
0
    def test_it_visits_node_recursively(self):
        child_config_builder = MagicMock()
        root_config_builder = MagicMock()
        root_config_builder.complete_key = "a"
        root_config_builder.children.items = MagicMock(return_value=[("b", child_config_builder)])

        node_visitor.apply_config_builder(root_config_builder, {"a": {"b": "c"}})
        root_config_builder.children.items.assert_called_with()
        child_config_builder.children.items.assert_called_with()
Ejemplo n.º 3
0
    def test_it_executes_expectations(self):
        expectation = MagicMock()

        config = {"a": {"b": "c"}, "d": "e"}
        config_builder = MagicMock()
        config_builder.expectations = [expectation]
        config_builder.complete_key = "a.b"
        node_visitor.apply_config_builder(config_builder, config)

        expectation.assert_called_with(config, "a.b")
Ejemplo n.º 4
0
    def test_it_executes_transformers(self):
        config = {"a": {"b": "c"}, "d": "e"}
        transformer = MagicMock(side_effect=self.set_true)

        config_builder = MagicMock()
        config_builder.transformers = [transformer]
        config_builder.complete_key = "a.b"
        node_visitor.apply_config_builder(config_builder, config)

        transformer.assert_called_with(config, "a.b")
        self.assertEqual(config, {"a": {"b": True}, "d": "e"})