def test_parse_alias_arn_success(self): arn_str = "arn:aws:kms:us-east-1:222222222222:alias/aws/service" arn = Arn.from_str(arn_str) assert arn.partition == "aws" assert arn.service == "kms" assert arn.region == "us-east-1" assert arn.account_id == "222222222222" assert arn.resource_type == "alias" assert arn.resource_id == "aws/service"
def test_parse_key_arn_success(self): arn_str = "arn:aws:kms:us-east-1:222222222222:key/aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb" arn = Arn.from_str(arn_str) assert arn.partition == "aws" assert arn.service == "kms" assert arn.region == "us-east-1" assert arn.account_id == "222222222222" assert arn.resource_type == "key" assert arn.resource_id == "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb"
def test_malformed_arn_missing_resource_type(self): arn = "arn:aws:us-east-1:222222222222" with pytest.raises(MalformedArnError) as excinfo: Arn.from_str(arn) excinfo.match("Resource {} could not be parsed as an ARN".format(arn))
def test_malformed_arn_missing_account(self): arn = "arn:aws:us-east-1:key/aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb" with pytest.raises(MalformedArnError) as excinfo: Arn.from_str(arn) excinfo.match("Resource {} could not be parsed as an ARN".format(arn))