Example #1
0
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)
Example #2
0
 def setUp(self):
     self.validator = Mock(TemplateValidator)
     self.funckey_builder = Mock(FuncKeyBuilder)
     self.builder = TemplateBuilder(self.validator, self.funckey_builder)