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)
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()
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")
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"})