diff --git a/providers/aws/services/iam/iam_user_two_active_access_key/iam_user_two_active_access_key_test.py b/providers/aws/services/iam/iam_user_two_active_access_key/iam_user_two_active_access_key_test.py index f86f2629..e0752b3c 100644 --- a/providers/aws/services/iam/iam_user_two_active_access_key/iam_user_two_active_access_key_test.py +++ b/providers/aws/services/iam/iam_user_two_active_access_key/iam_user_two_active_access_key_test.py @@ -1,11 +1,9 @@ +from re import search from unittest import mock from boto3 import client from moto import mock_iam -from providers.aws.lib.audit_info.audit_info import current_audit_info -from providers.aws.services.iam.iam_service import IAM - class Test_iam_user_two_active_access_key: @mock_iam @@ -13,12 +11,15 @@ class Test_iam_user_two_active_access_key: # Create IAM Mocked Resources iam_client = client("iam") user = "test1" - iam_client.create_user(UserName=user) + user_arn = iam_client.create_user(UserName=user)["User"]["Arn"] # Create Access Key 1 iam_client.create_access_key(UserName=user) # Create Access Key 2 iam_client.create_access_key(UserName=user) + from providers.aws.lib.audit_info.audit_info import current_audit_info + from providers.aws.services.iam.iam_service import IAM + with mock.patch( "providers.aws.services.iam.iam_user_two_active_access_key.iam_user_two_active_access_key.iam_client", new=IAM(current_audit_info), @@ -33,15 +34,24 @@ class Test_iam_user_two_active_access_key: assert len(result) == 1 assert result[0].status == "FAIL" + assert result[0].resource_id == user + assert result[0].resource_arn == user_arn + assert search( + f"User {user} has 2 active access keys.", result[0].status_extended + ) @mock_iam def test_iam_user_one_active_access_key(self): # Create IAM User iam_client = client("iam") user = "test1" - iam_client.create_user(UserName=user) + user_arn = iam_client.create_user(UserName=user)["User"]["Arn"] # Create Access Key 1 iam_client.create_access_key(UserName=user) + + from providers.aws.lib.audit_info.audit_info import current_audit_info + from providers.aws.services.iam.iam_service import IAM + with mock.patch( "providers.aws.services.iam.iam_user_two_active_access_key.iam_user_two_active_access_key.iam_client", new=IAM(current_audit_info), @@ -56,13 +66,22 @@ class Test_iam_user_two_active_access_key: assert len(result) == 1 assert result[0].status == "PASS" + assert result[0].resource_id == user + assert result[0].resource_arn == user_arn + assert search( + f"User {user} has not 2 active access keys.", result[0].status_extended + ) @mock_iam def test_iam_user_without_active_access_key(self): # Create IAM User iam_client = client("iam") user = "test1" - iam_client.create_user(UserName=user) + user_arn = iam_client.create_user(UserName=user)["User"]["Arn"] + + from providers.aws.lib.audit_info.audit_info import current_audit_info + from providers.aws.services.iam.iam_service import IAM + with mock.patch( "providers.aws.services.iam.iam_user_two_active_access_key.iam_user_two_active_access_key.iam_client", new=IAM(current_audit_info), @@ -77,9 +96,17 @@ class Test_iam_user_two_active_access_key: assert len(result) == 1 assert result[0].status == "PASS" + assert result[0].resource_id == user + assert result[0].resource_arn == user_arn + assert search( + f"User {user} has not 2 active access keys.", result[0].status_extended + ) @mock_iam def test_iam_no_users(self): + from providers.aws.lib.audit_info.audit_info import current_audit_info + from providers.aws.services.iam.iam_service import IAM + with mock.patch( "providers.aws.services.iam.iam_user_two_active_access_key.iam_user_two_active_access_key.iam_client", new=IAM(current_audit_info), @@ -93,21 +120,3 @@ class Test_iam_user_two_active_access_key: result = check.execute() assert len(result) == 0 - - @mock_iam - def test_bad_response(self): - mock_client = mock.MagicMock() - mock_client.credential_report = None - with mock.patch( - "providers.aws.services.iam.iam_user_two_active_access_key.iam_user_two_active_access_key.iam_client", - new=mock_client, - ): - # Test Check - from providers.aws.services.iam.iam_user_two_active_access_key.iam_user_two_active_access_key import ( - iam_user_two_active_access_key, - ) - - check = iam_user_two_active_access_key() - result = check.execute() - - assert len(result) == 0