def test_creates_traverser_and_gets_organization_id(self): cloudtrail_client = mock.Mock() cloudtrail_client.describe_trails.return_value = { 'trailList': [{ 'TrailARN': TEST_TRAIL_ARN, 'S3BucketName': 'bucket', 'S3KeyPrefix': 'prefix', 'IsOrganizationTrail': True }] } organization_client = mock.Mock() organization_client.describe_organization.return_value = { "Organization": { "MasterAccountId": TEST_ACCOUNT_ID, "Id": TEST_ORGANIZATION_ID, } } traverser = create_digest_traverser( trail_arn=TEST_TRAIL_ARN, trail_source_region='us-east-1', cloudtrail_client=cloudtrail_client, organization_client=organization_client, s3_client_provider=mock.Mock(), account_id=TEST_ACCOUNT_ID) self.assertEqual('bucket', traverser.starting_bucket) self.assertEqual('prefix', traverser.starting_prefix) digest_provider = traverser.digest_provider self.assertEqual('us-east-1', digest_provider.trail_home_region) self.assertEqual('foo', digest_provider.trail_name) self.assertEqual(TEST_ORGANIZATION_ID, digest_provider.organization_id)
def test_creates_traverser_organization_trail_missing_account_id(self): cloudtrail_client = Mock() cloudtrail_client.describe_trails.return_value = {'trailList': [ {'TrailARN': TEST_TRAIL_ARN, 'S3BucketName': 'bucket', 'S3KeyPrefix': 'prefix', 'IsOrganizationTrail': True} ]} organization_client = Mock() organization_client.describe_organization.return_value = { "Organization": { "MasterAccountId": TEST_ACCOUNT_ID, "Id": TEST_ORGANIZATION_ID, } } with self.assertRaises(ParameterRequiredError): create_digest_traverser( trail_arn=TEST_TRAIL_ARN, trail_source_region='us-east-1', cloudtrail_client=cloudtrail_client, organization_client=organization_client, s3_client_provider=Mock())
def test_creates_traverser(self): mock_s3_provider = Mock() traverser = create_digest_traverser( trail_arn=TEST_TRAIL_ARN, cloudtrail_client=Mock(), trail_source_region='us-east-1', s3_client_provider=mock_s3_provider, bucket='bucket', prefix='prefix') self.assertEqual('bucket', traverser.starting_bucket) self.assertEqual('prefix', traverser.starting_prefix) digest_provider = traverser.digest_provider self.assertEqual('us-east-1', digest_provider.trail_home_region) self.assertEqual('foo', digest_provider.trail_name)
def test_creates_traverser_and_gets_trail_by_arn_s3_bucket_specified(self): cloudtrail_client = Mock() traverser = create_digest_traverser( trail_arn=TEST_TRAIL_ARN, trail_source_region='us-east-1', cloudtrail_client=cloudtrail_client, organization_client=Mock(), s3_client_provider=Mock(), bucket="bucket") self.assertEqual('bucket', traverser.starting_bucket) digest_provider = traverser.digest_provider self.assertEqual('us-east-1', digest_provider.trail_home_region) self.assertEqual('foo', digest_provider.trail_name) self.assertEqual(TEST_ACCOUNT_ID, digest_provider.account_id)
def test_creates_traverser(self): mock_s3_provider = Mock() traverser = create_digest_traverser( trail_arn=TEST_TRAIL_ARN, cloudtrail_client=Mock(), trail_source_region="us-east-1", s3_client_provider=mock_s3_provider, bucket="bucket", prefix="prefix", ) self.assertEqual("bucket", traverser.starting_bucket) self.assertEqual("prefix", traverser.starting_prefix) digest_provider = traverser.digest_provider self.assertEqual("us-east-1", digest_provider.trail_home_region) self.assertEqual("foo", digest_provider.trail_name)
def test_creates_traverser_and_gets_trail_by_arn(self): cloudtrail_client = Mock() cloudtrail_client.describe_trails.return_value = {'trailList': [ {'TrailARN': TEST_TRAIL_ARN, 'S3BucketName': 'bucket', 'S3KeyPrefix': 'prefix'} ]} traverser = create_digest_traverser( trail_arn=TEST_TRAIL_ARN, trail_source_region='us-east-1', cloudtrail_client=cloudtrail_client, s3_client_provider=Mock()) self.assertEqual('bucket', traverser.starting_bucket) self.assertEqual('prefix', traverser.starting_prefix) digest_provider = traverser.digest_provider self.assertEqual('us-east-1', digest_provider.trail_home_region) self.assertEqual('foo', digest_provider.trail_name)
def test_creates_traverser_and_gets_trail_by_arn(self): cloudtrail_client = Mock() cloudtrail_client.describe_trails.return_value = { "trailList": [{"TrailARN": TEST_TRAIL_ARN, "S3BucketName": "bucket", "S3KeyPrefix": "prefix"}] } traverser = create_digest_traverser( trail_arn=TEST_TRAIL_ARN, trail_source_region="us-east-1", cloudtrail_client=cloudtrail_client, s3_client_provider=Mock(), ) self.assertEqual("bucket", traverser.starting_bucket) self.assertEqual("prefix", traverser.starting_prefix) digest_provider = traverser.digest_provider self.assertEqual("us-east-1", digest_provider.trail_home_region) self.assertEqual("foo", digest_provider.trail_name)
def test_creates_traverser_account_id(self): mock_s3_provider = Mock() traverser = create_digest_traverser( trail_arn=TEST_TRAIL_ARN, cloudtrail_client=Mock(), organization_client=Mock(), trail_source_region='us-east-1', s3_client_provider=mock_s3_provider, bucket='bucket', prefix='prefix', account_id=TEST_ORGANIZATION_ACCOUNT_ID) self.assertEqual('bucket', traverser.starting_bucket) self.assertEqual('prefix', traverser.starting_prefix) digest_provider = traverser.digest_provider self.assertEqual('us-east-1', digest_provider.trail_home_region) self.assertEqual('foo', digest_provider.trail_name) self.assertEqual( TEST_ORGANIZATION_ACCOUNT_ID, digest_provider.account_id)
def test_create_traverser_organizational_trail_not_launched(self): cloudtrail_client = mock.Mock() cloudtrail_client.describe_trails.return_value = { 'trailList': [{ 'TrailARN': TEST_TRAIL_ARN, 'S3BucketName': 'bucket', 'S3KeyPrefix': 'prefix' }] } traverser = create_digest_traverser( trail_arn=TEST_TRAIL_ARN, trail_source_region='us-east-1', cloudtrail_client=cloudtrail_client, organization_client=mock.Mock(), s3_client_provider=mock.Mock()) self.assertEqual('bucket', traverser.starting_bucket) self.assertEqual('prefix', traverser.starting_prefix) digest_provider = traverser.digest_provider self.assertEqual('us-east-1', digest_provider.trail_home_region) self.assertEqual('foo', digest_provider.trail_name) self.assertEqual(TEST_ACCOUNT_ID, digest_provider.account_id)