Beispiel #1
0
    def setUp(self):
        """
        Setup keystone client and target user to clean up
        """
        if not hasattr(self, "keystone_client") or not self.keystone_client:
            self.keystone_client = self._init_keystone_client()

        self.resource_cleaner = ResourceCleaner(self.keystone_client)

        self.user_name = self.rand_name("UserCleanerTest", prefix="sedna")
        self.keystone_client.users.create(self.user_name)
        users = self.keystone_client.users.list(**{"name": self.user_name})
        self.assertGreater(len(users), 0)

        self.user = users[0]
Beispiel #2
0
class UserCleanerTest(TestCase):
    """ Test cases for user  cleanup"""

    def setUp(self):
        """
        Setup keystone client and target user to clean up
        """
        if not hasattr(self, "keystone_client") or not self.keystone_client:
            self.keystone_client = self._init_keystone_client()

        self.resource_cleaner = ResourceCleaner(self.keystone_client)

        self.user_name = self.rand_name("UserCleanerTest", prefix="sedna")
        self.keystone_client.users.create(self.user_name)
        users = self.keystone_client.users.list(**{"name": self.user_name})
        self.assertGreater(len(users), 0)

        self.user = users[0]

    def tearDown(self):
        """
        Cleanup created user if the normal cleanup process is failed
        """
        users = self.keystone_client.users.list(**{"name": self.user_name})
        for user in users:
            self.keystone_client.users.delete(user)

    def test_cleanup(self):
        """ test cleaning up a user"""
        self.resource_cleaner.cleanup_users([self.user])

        users = self.keystone_client.users.list(**{"name": self.user_name})
        self.assertEqual(len(users), 0)

    def rand_name(self, name='', prefix=None):
        """Generate a random name that includes a random number

        :param str name: The name that you want to include
        :param str prefix: The prefix that you want to include
        :return: a random name. The format is
                 '<prefix>-<name>-<random number>'.
                 (e.g. 'prefixfoo-namebar-154876201')
        :rtype: string
        """
        randbits = str(random.randint(1, 0x7fffffff))
        rand_name = randbits
        if name:
            rand_name = name + '-' + rand_name
        if prefix:
            rand_name = prefix + '-' + rand_name
        return rand_name

    def _init_keystone_client(self):
        auth_url = "http://lb.2.stage.polex.io:35357/"
        admin_username = "******"
        admin_password = "******"
        admin_project_id = "66124df8b15b46dead4bff69ab35cdfb"
        admin_domain_id = "default"
        region = "RegionOne"

        auth = Password(auth_url=auth_url + "v3",
                username=admin_username,
                password=admin_password,
                project_id=admin_project_id,
                user_domain_id=admin_domain_id
        )

        os_session = Session(auth=auth)
        return KeystoneClient(session=os_session)