class TestUsers(unittest.TestCase): NUMBER_OF_USER_TESTS = 12 def setUp(self): self.users = Users(USER_LIST) def test_should_find_five_users(self): self.assertEqual(5, len(self.users.users)) def test_initially_test_counts_are_zero(self): for user in self.users.users: self.assertEqual(0, user.test_count) def test_all_admin_users_are_found(self): admins = set() for x in range(self.NUMBER_OF_USER_TESTS): user = self.users.find_user(Requirements(is_admin=True)) if user not in admins: admins.add(user) self.assertEqual(NUMBER_OF_ADMINS, len(admins)) admin_names = list(user.auth_user for user in admins) self.assertTrue("admin" in admin_names) self.assertTrue("anne" in admin_names) self.assertTrue("dan" in admin_names) expected_test_count = self.NUMBER_OF_USER_TESTS / NUMBER_OF_ADMINS for user in admins: self.assertTrue(user.requirements.is_admin) self.assertEqual(expected_test_count, user.test_count) def test_all_non_admin_users_are_found(self): normals = set() for x in range(self.NUMBER_OF_USER_TESTS): user = self.users.find_user(Requirements(is_admin=False)) if user not in normals: normals.add(user) self.assertEqual(NUMBER_OF_NORMALS, len(normals)) normal_names = list(user.auth_user for user in normals) self.assertTrue("mike" in normal_names) self.assertTrue("tim" in normal_names) expected_test_count = self.NUMBER_OF_USER_TESTS / NUMBER_OF_NORMALS for user in normals: self.assertFalse(user.requirements.is_admin) self.assertEqual(expected_test_count, user.test_count)
def setUp(self): self.users = Users(USER_LIST)
def _setup(): """Initializes the module.""" from tests.util.users import Users global clean_slate global compute_service global dbaas global dbaas_image global dbaas_url global glance_image global keystone_service global nova global nova_auth_url global reddwarf_auth_url global test_mgmt global typical_nova_image_name global use_reaper global use_venv global users global values global version_url global volume_service global white_box global instance_create_time clean_slate = os.environ.get("CLEAN_SLATE", "False") == "True" values = load_configuration() if os.environ.get("FAKE_MODE", "False") == "True": values["fake_mode"] = True use_venv = values.get("use_venv", True) nova_auth_url = str( values.get("nova_auth_url", "http://localhost:5000/v2.0")) reddwarf_auth_url = str( values.get("reddwarf_auth_url", "http://localhost:5000/v1.1")) dbaas_url = str(values.get("dbaas_url", "http://localhost:8775/v1.0/dbaas")) version_url = str(values.get("version_url", "http://localhost:8775/")) nova_url = str(values.get("nova_url", "http://localhost:8774/v1.1")) nova_code_root = str(values["nova_code_root"]) nova_conf = str(values["nova_conf"]) keystone_conf = str(values["keystone_conf"]) reddwarf_code_root = str(values["reddwarf_code_root"]) reddwarf_conf = str(values["reddwarf_conf"]) glance_image = str(values["glance_image"]) use_reaper = values["use_reaper"] instance_create_time = values.get('instance_create_time', 16 * 60) if not nova_conf: raise ValueError("Configuration value \"nova_conf\" not found.") if str(values.get("reddwarf_api_format", "new")) == "old": dbaas = WebService(cmd=python_cmd_list() + [ "%s/bin/reddwarf-api" % reddwarf_code_root, "--flagfile=%s" % reddwarf_conf ], url=dbaas_url) else: dbaas = WebService(cmd=python_cmd_list() + [ "%s/bin/reddwarf-server" % reddwarf_code_root, "--config-file=%s" % reddwarf_conf ], url=dbaas_url) nova = WebService( cmd=python_cmd_list() + ["%s/bin/nova-api" % nova_code_root, "--flagfile=%s" % nova_conf], url=nova_url) volume_service = Service( cmd=python_cmd_list() + ["%s/bin/nova-volume" % nova_code_root, "--flagfile=%s" % nova_conf]) compute_service = Service( cmd=python_cmd_list() + ["%s/bin/nova-compute" % nova_code_root, "--flagfile=%s" % nova_conf]) keystone_service = Service( python_cmd_list() + [keystone_bin("keystone-auth"), "-c %s" % keystone_conf]) users = Users(values["users"]) dbaas_image = values.get("dbaas_image", None) typical_nova_image_name = values.get("typical_nova_image_name", None) # If true, we import certain classes and test using internal code. white_box = values.get("white_box", False) # If true, we run the mgmt tests, if not we don't. test_mgmt = values.get("test_mgmt", False)
def users(self): if self._users is None: from tests.util.users import Users self._users = Users(self.values['users']) return self._users