class TestTemplateBuilder(unittest.TestCase): def setUp(self): self.validator = Mock(TemplateValidator) self.funckey_builder = Mock(FuncKeyBuilder) self.builder = TemplateBuilder(self.validator, self.funckey_builder) def test_given_template_with_funckeys_when_creating_then_returns_model(self): expected_func_key = self.funckey_builder.create.return_value expected = FuncKeyTemplate(name="foobar", keys={1: expected_func_key}) body = {"name": "foobar", "keys": {1: {"destination": {"type": "user"}}}} result = self.builder.create(body) assert_that(result, equal_to(expected)) def test_given_template_with_complete_funckeys_when_creating_then_returns_model(self): expected_func_key = self.funckey_builder.create.return_value expected = FuncKeyTemplate(name="foobar", keys={1: expected_func_key}) body = {"name": "foobar", "keys": {1: {"label": "myuser", "blf": True, "destination": {"type": "user"}}}} result = self.builder.create(body) assert_that(result, equal_to(expected)) def test_given_template_when_updating_then_updates_model(self): model = FuncKeyTemplate(name="foobar", keys={}) expected = FuncKeyTemplate(name="otherfoobar", keys={}) body = {"name": "otherfoobar"} self.builder.update(model, body) assert_that(model, equal_to(expected)) def test_given_funckey_when_updating_then_updates_keys(self): unmodified_key = Mock(FuncKey) original_key = Mock(FuncKey) model = FuncKeyTemplate(name="foobar", keys={1: unmodified_key, 2: original_key}) key = {"type": "user"} body = {"keys": {2: key}} self.builder.update(model, body) self.funckey_builder.update.assert_called_once_with(original_key, key)
def setUp(self): self.validator = Mock(TemplateValidator) self.funckey_builder = Mock(FuncKeyBuilder) self.builder = TemplateBuilder(self.validator, self.funckey_builder)