@@ -11,31 +11,49 @@ class AssumeRoleRequestTest extends TestCase
1111{
1212 public function testRequestBody (): void
1313 {
14- self ::markTestIncomplete ('Not implemented ' );
15-
1614 $ input = new AssumeRoleRequest ([
17- 'RoleArn ' => 'change me ' ,
18- 'RoleSessionName ' => 'change me ' ,
19- 'PolicyArns ' => [new PolicyDescriptorType ([
20- 'arn ' => 'change me ' ,
21- ])],
22- 'Policy ' => 'change me ' ,
23- 'DurationSeconds ' => 1337 ,
15+ 'RoleArn ' => 'arn:aws::iam::123456789012:role/demo ' ,
16+ 'RoleSessionName ' => 'John-session ' ,
17+ 'PolicyArns ' => [
18+ new PolicyDescriptorType (['arn ' => 'arn:aws:iam::123456789012:policy/demopolicy1 ' ]),
19+ new PolicyDescriptorType (['arn ' => 'arn:aws:iam::123456789012:policy/demopolicy2 ' ]),
20+ ],
21+ 'Policy ' => '{"Version":"2012-10-17","Statement":[{"Sid": "Stmt1","Effect": "Allow","Action": "s3:*","Resource": "*"}]} ' ,
22+ 'DurationSeconds ' => 1800 ,
2423 'Tags ' => [new Tag ([
25- 'Key ' => 'change me ' ,
26- 'Value ' => 'change me ' ,
24+ 'Key ' => 'Project ' ,
25+ 'Value ' => 'Pegasus ' ,
26+ ]), new Tag ([
27+ 'Key ' => 'Team ' ,
28+ 'Value ' => 'Engineering ' ,
29+ ]), new Tag ([
30+ 'Key ' => 'Cost-Center ' ,
31+ 'Value ' => '12345 ' ,
2732 ])],
28- 'TransitiveTagKeys ' => ['change me ' ],
29- 'ExternalId ' => 'change me ' ,
30- 'SerialNumber ' => 'change me ' ,
31- 'TokenCode ' => 'change me ' ,
33+ 'TransitiveTagKeys ' => ['Project ' , 'Cost-Center ' ],
34+ 'ExternalId ' => '123ABC ' ,
3235 ]);
3336
37+ /** @see https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html */
3438 $ expected = trim ('
35- Action=AssumeRole
36- &Version=2011-06-15
37- &ChangeIt=Change+it
38- ' );
39+ Action=AssumeRole
40+ &Version=2011-06-15
41+ &RoleArn=arn%3Aaws%3A%3Aiam%3A%3A123456789012%3Arole%2Fdemo
42+ &RoleSessionName=John-session
43+ &PolicyArns.member.1.arn=arn%3Aaws%3Aiam%3A%3A123456789012%3Apolicy%2Fdemopolicy1
44+ &PolicyArns.member.2.arn=arn%3Aaws%3Aiam%3A%3A123456789012%3Apolicy%2Fdemopolicy2
45+ &Policy=%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A+%22Stmt1%22%2C%22Effect%22%3A+%22Allow%22%2C%22Action%22%3A+%22s3%3A%2A%22%2C%22Resource%22%3A+%22%2A%22%7D%5D%7D
46+ &DurationSeconds=1800
47+ &Tags.member.1.Key=Project
48+ &Tags.member.1.Value=Pegasus
49+ &Tags.member.2.Key=Team
50+ &Tags.member.2.Value=Engineering
51+ &Tags.member.3.Key=Cost-Center
52+ &Tags.member.3.Value=12345
53+ &TransitiveTagKeys.member.1=Project
54+ &TransitiveTagKeys.member.2=Cost-Center
55+ &ExternalId=123ABC
56+ ' );
3957
4058 self ::assertEquals ($ expected , \str_replace ('& ' , "\n& " , $ input ->requestBody ()));
4159 }
0 commit comments