def test_init_admin_context(self): self.context["admin"] = {"credential": mock.Mock()} scenario = base_scenario.OpenStackScenario(self.context) self.assertEqual(self.context, scenario.context) self.osclients.mock.assert_called_once_with( self.context["admin"]["credential"], {}) scenario = base_scenario.OpenStackScenario(self.context, admin_clients="foobar")
def test_profiler_init(self, users_credentials, expected_call_count, mock_profiler_get, mock_profiler_init): for user, credential in users_credentials: self.context.update({user: {"credential": credential}}) base_scenario.OpenStackScenario(self.context) self.assertEqual(expected_call_count, mock_profiler_init.call_count) self.assertEqual([mock.call()] * expected_call_count, mock_profiler_get.call_args_list)
def test_init_user_context(self): user = {"credential": mock.Mock(), "tenant_id": "foo"} self.context["users"] = [user] self.context["tenants"] = {"foo": {"name": "bar"}} self.context["user_choice_method"] = "random" scenario = base_scenario.OpenStackScenario(self.context) self.assertEqual(user, scenario.context["user"]) self.assertEqual(self.context["tenants"]["foo"], scenario.context["tenant"]) self.osclients.mock.assert_called_once_with(user["credential"])
def test__choose_user_random(self): users = [{"credential": mock.Mock(), "tenant_id": "foo"} for _ in range(5)] self.context["users"] = users self.context["tenants"] = {"foo": {"name": "bar"}, "baz": {"name": "spam"}} self.context["user_choice_method"] = "random" scenario = base_scenario.OpenStackScenario() scenario._choose_user(self.context) self.assertIn("user", self.context) self.assertIn(self.context["user"], self.context["users"]) self.assertIn("tenant", self.context) tenant_id = self.context["user"]["tenant_id"] self.assertEqual(self.context["tenants"][tenant_id], self.context["tenant"])
def test_profiler_init(self, users_credentials, expected_call_count, mock_profiler_get, mock_profiler_init): for user, credential in users_credentials: self.context.update({ user: { "credential": credential }, "iteration": 0 }) base_scenario.OpenStackScenario(self.context) if expected_call_count: mock_profiler_init.assert_called_once_with( CREDENTIAL_WITH_HMAC["profiler_hmac_key"]) mock_profiler_get.assert_called_once_with() else: self.assertFalse(mock_profiler_init.called) self.assertFalse(mock_profiler_get.called)
def test__choose_user_round_robin(self, iteration, expected_user_id, expected_tenant_id): self.context["iteration"] = iteration self.context["user_choice_method"] = "round_robin" self.context["users"] = [] self.context["tenants"] = {} for tid in ("foo", "bar"): users = [{"id": str(i), "tenant_id": tid} for i in range(2)] self.context["users"] += users self.context["tenants"][tid] = {"name": tid, "users": users} scenario = base_scenario.OpenStackScenario() scenario._choose_user(self.context) self.assertIn("user", self.context) self.assertIn(self.context["user"], self.context["users"]) self.assertEqual(expected_user_id, self.context["user"]["id"]) self.assertIn("tenant", self.context) tenant_id = self.context["user"]["tenant_id"] self.assertEqual(self.context["tenants"][tenant_id], self.context["tenant"]) self.assertEqual(expected_tenant_id, tenant_id)
def test_init_user_clients(self): scenario = base_scenario.OpenStackScenario(self.context, clients="foobar") self.assertEqual(self.context, scenario.context) self.assertEqual("foobar", scenario._clients)
def test_init_clients(self): scenario = base_scenario.OpenStackScenario(self.context, admin_clients="spam", clients="ham") self.assertEqual("spam", scenario._admin_clients) self.assertEqual("ham", scenario._clients)
def test_init(self): scenario = base_scenario.OpenStackScenario(self.context) self.assertEqual(self.context, scenario.context)