Example #1
0
class RoleManagerTests(TestCase):

    def setUp(self):
        super(RoleManagerTests, self).setUp()
        self.role_manager = RoleManager()

        self.template_store = TemplateStore()

    def test_list_roles(self):
        # Test
        self._populate_roles()
        all_roles = self.role_manager.list_roles()

        # Verify
        self.assertEqual(3, len(all_roles))
        self.assertTrue(isinstance(all_roles[0], Role))
        all_roles.sort(key=lambda x: '%s-%s' % (x.name, x.version))

        self.assertEqual('r1', all_roles[0].name)
        self.assertEqual(1, all_roles[0].version)

        self.assertEqual('r1', all_roles[1].name)
        self.assertEqual(2, all_roles[1].version)

        self.assertEqual('r2', all_roles[2].name)
        self.assertEqual(1, all_roles[2].version)

    def test_list_roles_only_latest(self):
        # Setup
        list_mock = mock.MagicMock()
        self.role_manager.template_store.list = list_mock
        list_mock.return_value = []

        # Test
        self.role_manager.list_roles(only_latest=True)

        # Verify
        list_mock.assert_called_once_with(only_latest=True)

    def test_retrieve_role_by_uuid(self):
        # Test
        added_roles = self._populate_roles()
        found = self.role_manager.retrieve_role_by_uuid(added_roles[0].uuid)

        # Verify
        self.assertTrue(found is not None)
        self.assertTrue(isinstance(found, Role))
        self.assertEqual(found.name, 'r1')
        self.assertEqual(found.version, 2)

    def test_retrieve_role_by_fake_uuid(self):
        self.assertRaises(UnknownUUID,
                          self.role_manager.retrieve_role_by_uuid,
                          'fake')

    def _populate_roles(self):
        r1 = self.template_store.create('r1', TEST_TEMPLATE)
        r1 = self.template_store.update(r1.uuid, TEST_TEMPLATE)
        r2 = self.template_store.create('r2', TEST_TEMPLATE)
        return [r1, r2]
Example #2
0
class RoleManagerTests(TestCase):
    def setUp(self):
        super(RoleManagerTests, self).setUp()
        self.role_manager = RoleManager()

        self.template_store = TemplateStore()

    def test_list_roles(self):
        # Test
        self._populate_roles()
        all_roles = self.role_manager.list_roles()

        # Verify
        self.assertEqual(3, len(all_roles))
        self.assertTrue(isinstance(all_roles[0], Role))
        all_roles.sort(key=lambda x: '%s-%s' % (x.name, x.version))

        self.assertEqual('r1', all_roles[0].name)
        self.assertEqual(1, all_roles[0].version)

        self.assertEqual('r1', all_roles[1].name)
        self.assertEqual(2, all_roles[1].version)

        self.assertEqual('r2', all_roles[2].name)
        self.assertEqual(1, all_roles[2].version)

    def test_list_roles_only_latest(self):
        # Setup
        list_mock = mock.MagicMock()
        self.role_manager.template_store.list = list_mock
        list_mock.return_value = []

        # Test
        self.role_manager.list_roles(only_latest=True)

        # Verify
        list_mock.assert_called_once_with(only_latest=True)

    def test_retrieve_role_by_uuid(self):
        # Test
        added_roles = self._populate_roles()
        found = self.role_manager.retrieve_role_by_uuid(added_roles[0].uuid)

        # Verify
        self.assertTrue(found is not None)
        self.assertTrue(isinstance(found, Role))
        self.assertEqual(found.name, 'r1')
        self.assertEqual(found.version, 2)

    def test_retrieve_role_by_fake_uuid(self):
        self.assertRaises(UnknownUUID, self.role_manager.retrieve_role_by_uuid,
                          'fake')

    def _populate_roles(self):
        r1 = self.template_store.create('r1', TEST_TEMPLATE)
        r1 = self.template_store.update(r1.uuid, TEST_TEMPLATE)
        r2 = self.template_store.create('r2', TEST_TEMPLATE)
        return [r1, r2]
Example #3
0
def create_or_update(name, contents, store=None, relative_path='',
                     registry_path=''):
    if store is None:
        store = TemplateStore()
    try:
        role = store.retrieve_by_name(name)
        if role.contents != contents:
            role = store.update(role.uuid, contents, relative_path,
                                registry_path)

        return False, role
    except UnknownName:
        return True, store.create(name, contents, relative_path, registry_path)
Example #4
0
def _create_or_update(name, contents, store=None):

    if store is None:
        store = TemplateStore()

    try:
        role = store.retrieve_by_name(name)

        if role.contents != contents:
            role = store.update(role.uuid, contents)

        return False, role
    except UnknownName:
        return True, store.create(name, contents)
Example #5
0
def create_or_update(name,
                     contents,
                     store=None,
                     relative_path='',
                     registry_path=''):
    if store is None:
        store = TemplateStore()
    try:
        role = store.retrieve_by_name(name)
        if role.contents != contents:
            role = store.update(role.uuid, contents, relative_path,
                                registry_path)

        return False, role
    except UnknownName:
        return True, store.create(name, contents, relative_path, registry_path)