diff --git a/test/test.js b/test/test.js index 2f925b0..0f01280 100644 --- a/test/test.js +++ b/test/test.js @@ -102,7 +102,7 @@ describe('main.ARN', function () { assert.equal(new main.ARN(testcase).consoleLink, expected); }) } - for (const testcase of awsNegativeTests) { + for (const [testcase, expected] of Object.entries(awsNegativeTests)) { it(`should throw for: "${testcase}"`, () => { assert.throws(() => { new main.ARN(testcase).consoleLink }, Error); }) diff --git a/testcases/aws-negative.json b/testcases/aws-negative.json index d05ecb4..fec9d9b 100644 --- a/testcases/aws-negative.json +++ b/testcases/aws-negative.json @@ -1,43 +1,43 @@ -[ - ":", - "::", - ":::", - "::::", - ":::::", - "::::::", - ":::::::", - "::::::::", - ":::::::::", - "::::::::::", - - "arn-UNSUPPORTED:aws:iam::123456789012:user/test", - "arn:aws-UNSUPPORTED:iam::123456789012:user/test", - "arn:aws:UNSUPPORTED::123456789012:user/test", - - "arn:aws:iam::123456789012:UNSUPPORTED/test", - - "arn:aws:s3:::UNSUPPORTED:abcdefgh1234", - - "arn:aws:route53:::UNSUPPORTED/12345ABCDEFGHI", - - "arn:aws:acm:us-east-1:123456789012:UNSUPPORTED/1f6ee793-4064-4a10-9567-f03875640b35", - - "arn:aws:ec2:us-east-1:123456789012:UNSUPPORTED/1234", - - "arn:aws-us-gov:iam::123456789012:user''''''test", - - "arn:aws:ec2:us-east-1:123456789012:instance/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy", - - "arn:aws:ec2:us-ea:st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea/st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea+st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea=st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea,st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea.st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea@st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea*st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea#st-1:123456789012:instance/asdf", - "arn:aws:ec2:us-ea\\st-1:123456789012:instance/asdf", - "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret9A3F29-adf" -] \ No newline at end of file +{ + ":": null, + "::": null, + ":::": null, + "::::": null, + ":::::": null, + "::::::": null, + ":::::::": null, + "::::::::": null, + ":::::::::": null, + "::::::::::": null, + + "arn-UNSUPPORTED:aws:iam::123456789012:user/test": null, + "arn:aws-UNSUPPORTED:iam::123456789012:user/test": null, + "arn:aws:UNSUPPORTED::123456789012:user/test": null, + + "arn:aws:iam::123456789012:UNSUPPORTED/test": null, + + "arn:aws:s3:::UNSUPPORTED:abcdefgh1234": null, + + "arn:aws:route53:::UNSUPPORTED/12345ABCDEFGHI": null, + + "arn:aws:acm:us-east-1:123456789012:UNSUPPORTED/1f6ee793-4064-4a10-9567-f03875640b35": null, + + "arn:aws:ec2:us-east-1:123456789012:UNSUPPORTED/1234": null, + + "arn:aws-us-gov:iam::123456789012:user''''''test": null, + + "arn:aws:ec2:us-east-1:123456789012:instance/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy": null, + + "arn:aws:ec2:us-ea:st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea/st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea+st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea=st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea,st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea.st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea@st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea*st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea#st-1:123456789012:instance/asdf": null, + "arn:aws:ec2:us-ea\\st-1:123456789012:instance/asdf": null, + "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret9A3F29-adf": null +}