def test_setup(self, mock_credential, mock_clients):
        user1 = mock.MagicMock(tenant_id="1")
        user2 = mock.MagicMock(tenant_id="1")
        user3 = mock.MagicMock(tenant_id="2")

        mock_clients.return_value.keystone.side_effect = [
            user1, user2, user3
        ]

        context = {
            "task": mock.MagicMock(),
            "config": {
                "existing_users": [user1, user2, user3]
            }
        }
        existing_users.ExistingUsers(context).setup()

        self.assertIn("users", context)
        self.assertIn("tenants", context)
        self.assertEqual(3, len(context["users"]))
        self.assertEqual(
            {
                "id": user1.user_id,
                "credential": mock_credential.return_value,
                "tenant_id": user1.tenant_id
            },
            context["users"][0]
        )
        self.assertEqual(["1", "2"], sorted(context["tenants"].keys()))
        self.assertEqual({"id": "1", "name": user1.tenant_name},
                         context["tenants"]["1"])
        self.assertEqual({"id": "2", "name": user3.tenant_name},
                         context["tenants"]["2"])
Exemple #2
0
    def test_setup(self, mock_credential, mock_clients):
        user1 = mock.MagicMock(tenant_id="1",
                               user_id="1",
                               tenant_name="proj",
                               username="******")
        user2 = mock.MagicMock(tenant_id="1",
                               user_id="2",
                               tenant_name="proj",
                               username="******")
        user3 = mock.MagicMock(tenant_id="2",
                               user_id="3",
                               tenant_name="proj",
                               username="******")

        user_list = [user1, user2, user3]

        class AuthRef(object):
            USER_ID_COUNT = 0
            PROJECT_ID_COUNT = 0

            @property
            def user_id(self):
                self.USER_ID_COUNT += 1
                return user_list[self.USER_ID_COUNT - 1].user_id

            @property
            def project_id(self):
                self.PROJECT_ID_COUNT += 1
                return user_list[self.PROJECT_ID_COUNT - 1].tenant_id

        mock_clients.return_value.keystone.auth_ref = AuthRef()
        mock_credential.side_effect = user_list

        context = {
            "task": mock.MagicMock(),
            "config": {
                "existing_users": user_list
            }
        }
        existing_users.ExistingUsers(context).setup()

        self.assertIn("users", context)
        self.assertIn("tenants", context)
        self.assertEqual(3, len(context["users"]))
        self.assertEqual(
            {
                "id": user1.user_id,
                "credential": user1,
                "tenant_id": user1.tenant_id
            }, context["users"][0])
        self.assertEqual(["1", "2"], sorted(context["tenants"].keys()))
        self.assertEqual({
            "id": "1",
            "name": user1.tenant_name
        }, context["tenants"]["1"])
        self.assertEqual({
            "id": "2",
            "name": user3.tenant_name
        }, context["tenants"]["2"])
Exemple #3
0
    def _get_user_ctx_for_validation(self, ctx):
        if self.existing_users:
            ctx["config"] = {"existing_users": self.existing_users}
            user_context = existing_users.ExistingUsers(ctx)
        else:
            user_context = users_ctx.UserGenerator(ctx)

        return user_context
Exemple #4
0
    def test_setup(self, mock_credential, mock_clients):
        user1 = mock.MagicMock(tenant_id="1", user_id="1",
                               project_name="proj", username="******")
        user2 = mock.MagicMock(tenant_id="1", user_id="2",
                               project_name="proj", username="******")
        user3 = mock.MagicMock(tenant_id="2", user_id="3",
                               project_name="proj", username="******")

        user_list = [user1, user2, user3]
        for u in user_list:
            u.get_user_id.return_value = u.user_id
            u.get_project_id.return_value = u.tenant_id

        mock_clients.return_value.keystone.side_effect = user_list

        context = {
            "task": mock.MagicMock(),
            "config": {
                "existing_users": user_list
            }
        }
        existing_users.ExistingUsers(context).setup()

        self.assertIn("users", context)
        self.assertIn("tenants", context)
        self.assertEqual(3, len(context["users"]))
        self.assertEqual(
            {
                "id": user1.user_id,
                "credential": mock_credential.return_value,
                "tenant_id": user1.tenant_id
            },
            context["users"][0]
        )
        self.assertEqual(["1", "2"], sorted(context["tenants"].keys()))
        self.assertEqual({"id": "1", "name": user1.project_name},
                         context["tenants"]["1"])
        self.assertEqual({"id": "2", "name": user3.project_name},
                         context["tenants"]["2"])
Exemple #5
0
 def test_cleanup(self):
     # NOTE(boris-42): Test that cleanup is not abstract
     existing_users.ExistingUsers({"task": mock.MagicMock()}).cleanup()