Skip to content

Commit

Permalink
test (core) : adding TestMinIOAdminAdapter
Browse files Browse the repository at this point in the history
  • Loading branch information
gnknithin committed Mar 9, 2024
1 parent 0cc8ab7 commit 704e32f
Showing 1 changed file with 254 additions and 1 deletion.
255 changes: 254 additions & 1 deletion tests/integration/infra/adapters/storage/test_minio_admin_adapter.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
from random import choice
from typing import List

import pytest
from bootstrap import ApplicationBootstrap
from infra.generator.identity import IdentityGenerator
from minio.error import MinioAdminException

from tests.utils.base_tests import BaseIntegrationTest

Expand All @@ -10,7 +16,7 @@ def test_should_check_server_info(
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
# Act
sut = _minio_admin_adapter.info()
sut = _minio_admin_adapter.server_info()
# Assert
assert sut is not None
assert isinstance(sut, dict)
Expand All @@ -26,3 +32,250 @@ def test_should_check_server_availability(
assert sut is not None
assert isinstance(sut, bool)
assert sut is True

def test_should_delete_random_user_raise_MinioAdminException(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_random_access_key = f"{IdentityGenerator().get_random_id()}"
# Act
with pytest.raises(MinioAdminException) as exec_info:
_ = _minio_admin_adapter.delete_user(user_access_key=_random_access_key)
assert exec_info.type is MinioAdminException

def test_should_add_existing_user_and_return_successfully(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_random_access_key = f"{IdentityGenerator().get_random_id()}"
_random_secret_key = f"{IdentityGenerator().get_random_id()}"
_create_user = _minio_admin_adapter.add_user(
user_access_key=_random_access_key, user_secret_key=_random_secret_key
)
assert _create_user is not None
assert isinstance(_create_user, str)
# Act
sut = _minio_admin_adapter.add_user(
user_access_key=_random_access_key,
user_secret_key=_random_secret_key,
)
# Assert
assert sut is not None
assert isinstance(sut, str)
# Clean-Up
_delete_user = _minio_admin_adapter.delete_user(
user_access_key=_random_access_key
)
assert _delete_user is not None
assert isinstance(_delete_user, str)

def test_should_delete_existing_user_and_return_successfully(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_random_access_key = f"{IdentityGenerator().get_random_id()}"
_random_secret_key = f"{IdentityGenerator().get_random_id()}"
_create_user = _minio_admin_adapter.add_user(
user_access_key=_random_access_key, user_secret_key=_random_secret_key
)
assert _create_user is not None
assert isinstance(_create_user, str)
# Act
sut = _minio_admin_adapter.delete_user(user_access_key=_random_access_key)
# Assert
assert sut is not None
assert isinstance(sut, str)

def test_should_get_random_user_info_raise_MinioAdminException(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_random_access_key = f"{IdentityGenerator().get_random_id()}"
# Act
with pytest.raises(MinioAdminException) as exec_info:
_ = _minio_admin_adapter.get_user_info(user_access_key=_random_access_key)
assert exec_info.type is MinioAdminException

def test_should_get_existing_user_info_and_return_successfully(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_random_access_key = f"{IdentityGenerator().get_random_id()}"
_random_secret_key = f"{IdentityGenerator().get_random_id()}"
_create_user = _minio_admin_adapter.add_user(
user_access_key=_random_access_key, user_secret_key=_random_secret_key
)
assert _create_user is not None
assert isinstance(_create_user, str)
# Act
sut = _minio_admin_adapter.get_user_info(user_access_key=_random_access_key)
# Assert
assert sut is not None
assert isinstance(sut, dict)
assert len(sut) == 2
assert "status" in sut
assert isinstance(sut["status"], str)
assert "updatedAt" in sut
assert isinstance(sut["updatedAt"], str)
# Clean-Up
_delete_user = _minio_admin_adapter.delete_user(
user_access_key=_random_access_key
)
assert _delete_user is not None
assert isinstance(_delete_user, str)

def test_should_disable_user(self, init_bootstrap: ApplicationBootstrap) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_random_access_key = f"{IdentityGenerator().get_random_id()}"
_random_secret_key = f"{IdentityGenerator().get_random_id()}"
_create_user = _minio_admin_adapter.add_user(
user_access_key=_random_access_key, user_secret_key=_random_secret_key
)
assert _create_user is not None
assert isinstance(_create_user, str)
_user_enabled = _minio_admin_adapter.is_user_enabled(
user_access_key=_random_access_key
)
assert _user_enabled is not None
assert isinstance(_user_enabled, bool)
assert _user_enabled is True
# Act
sut = _minio_admin_adapter.disable_user(user_access_key=_random_access_key)
# Assert
assert sut is not None
assert isinstance(sut, str)
_user_disabled = _minio_admin_adapter.is_user_enabled(
user_access_key=_random_access_key
)
assert _user_disabled is not None
assert isinstance(_user_disabled, bool)
assert _user_disabled is False
# Clean-Up
_delete_user = _minio_admin_adapter.delete_user(
user_access_key=_random_access_key
)
assert _delete_user is not None
assert isinstance(_delete_user, str)

def test_should_check_random_user_enabled_and_raise_MinioAdminException(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_random_access_key = f"{IdentityGenerator().get_random_id()}"
# Act
with pytest.raises(MinioAdminException) as exec_info:
_ = _minio_admin_adapter.is_user_enabled(user_access_key=_random_access_key)
assert exec_info.type is MinioAdminException

def test_should_check_is_user_enabled_and_return_true(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_random_access_key = f"{IdentityGenerator().get_random_id()}"
_random_secret_key = f"{IdentityGenerator().get_random_id()}"
_create_user = _minio_admin_adapter.add_user(
user_access_key=_random_access_key, user_secret_key=_random_secret_key
)
assert _create_user is not None
assert isinstance(_create_user, str)
# Act
sut = _minio_admin_adapter.is_user_enabled(user_access_key=_random_access_key)
# Assert
assert sut is not None
assert isinstance(sut, bool)
# Clean-Up
_delete_user = _minio_admin_adapter.delete_user(
user_access_key=_random_access_key
)
assert _delete_user is not None
assert isinstance(_delete_user, str)

def test_should_get_existing_users(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_user_ids: List[str] = list()
for _ in range(10):
_random_access_key = f"{IdentityGenerator().get_random_id()}"
_random_secret_key = f"{IdentityGenerator().get_random_id()}"
_create_user = _minio_admin_adapter.add_user(
user_access_key=_random_access_key, user_secret_key=_random_secret_key
)
assert _create_user is not None
assert isinstance(_create_user, str)
_user_ids.append(_random_access_key)
# Act
sut = _minio_admin_adapter.get_users()
# Assert
assert sut is not None
assert isinstance(sut, dict)
for _each_user_access_key, _each_user_status_dict in sut.items():
assert _each_user_access_key is not None
assert isinstance(_each_user_access_key, str)
assert _each_user_access_key in _user_ids
assert _each_user_status_dict is not None
assert isinstance(_each_user_status_dict, dict)
assert "status" in _each_user_status_dict
assert isinstance(_each_user_status_dict["status"], str)
assert "updatedAt" in _each_user_status_dict
assert isinstance(_each_user_status_dict["updatedAt"], str)

# Clean-Up
for _each_user_access_key in _user_ids:
_delete_user = _minio_admin_adapter.delete_user(
user_access_key=_each_user_access_key
)
assert _delete_user is not None
assert isinstance(_delete_user, str)

def test_should_check_existing_user_return_true(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_user_ids: List[str] = list()
for _ in range(2):
_random_access_key = f"{IdentityGenerator().get_random_id()}"
_random_secret_key = f"{IdentityGenerator().get_random_id()}"
_create_user = _minio_admin_adapter.add_user(
user_access_key=_random_access_key, user_secret_key=_random_secret_key
)
assert _create_user is not None
assert isinstance(_create_user, str)
_user_ids.append(_random_access_key)
# Act
sut = _minio_admin_adapter.check_user_exists(user_access_key=choice(_user_ids))
# Assert
assert sut is not None
assert isinstance(sut, bool)
assert sut is True

# Clean-Up
for _each_user_access_key in _user_ids:
_delete_user = _minio_admin_adapter.delete_user(
user_access_key=_each_user_access_key
)
assert _delete_user is not None
assert isinstance(_delete_user, str)

def test_should_check_existing_user_return_false(
self, init_bootstrap: ApplicationBootstrap
) -> None:
# Arrange
_minio_admin_adapter = init_bootstrap.minio_admin_adapter
_random_access_key = f"{IdentityGenerator().get_random_id()}"
# Act
sut = _minio_admin_adapter.check_user_exists(user_access_key=_random_access_key)
# Assert
assert sut is not None
assert isinstance(sut, bool)
assert sut is False

0 comments on commit 704e32f

Please sign in to comment.