"""Lambda test module.""" import pytest from src import app as index @pytest.fixture() def patch_iam_client(iam_client, monkeypatch): """Patch the global IAM client with a mocked one.""" monkeypatch.setattr(index, 'client', iam_client) return iam_client def test_get_policies(patch_iam_client, sample_data_for_get_policies): """Test get_policies function.""" result = index.get_policies() assert len(result) == 1 policy_name = result[0]['PolicyName'] assert policy_name.startswith('BreakGlass-expired-') def test_detach_policy_from_users( patch_iam_client, sample_data_for_detach_user_policy): """Test detach_user_policy function.""" index.detach_policy_from_users( 'arn:aws:iam::123456789012:policy/BreakGlass-user1-2021-08-15-14-30-45') index.detach_policy_from_users( 'arn:aws:iam::123456789012:policy/BreakGlass-user2-2021-08-15-14-30-45') def test_delete_policy(patch_iam_client, sample_data_for_delete_policy): """Test delete_policy function.""" policy_name = 'BreakGlass-user1-2021-08-15-14-30-45' index.delete_policy(policy_name, f'arn:aws:iam::123456789012:policy/{policy_name}') policy_name = 'BreakGlass-nonexistent-2021-08-15-14-30-45' index.delete_policy(policy_name, f'arn:aws:iam::123456789012:policy/{policy_name}')