Skip to content

Commit f7ecf59

Browse files
authored
Generate Test stubs (#176)
1 parent 18cb1f6 commit f7ecf59

File tree

5 files changed

+191
-0
lines changed

5 files changed

+191
-0
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<?php
2+
3+
namespace AsyncAws\Core\Tests\Integration;
4+
5+
use AsyncAws\Core\Credentials\NullProvider;
6+
use AsyncAws\Core\Sts\Input\AssumeRoleRequest;
7+
use AsyncAws\Core\Sts\Input\GetCallerIdentityRequest;
8+
use AsyncAws\Core\Sts\Input\PolicyDescriptorType;
9+
use AsyncAws\Core\Sts\Input\Tag;
10+
use AsyncAws\Core\Sts\StsClient;
11+
use PHPUnit\Framework\TestCase;
12+
13+
class StsClientTest extends TestCase
14+
{
15+
public function testAssumeRole(): void
16+
{
17+
self::markTestIncomplete('Not implemented');
18+
19+
$client = $this->getClient();
20+
21+
$input = new AssumeRoleRequest([
22+
'RoleArn' => 'change me',
23+
'RoleSessionName' => 'change me',
24+
'PolicyArns' => [new PolicyDescriptorType([
25+
'arn' => 'change me',
26+
])],
27+
'Policy' => 'change me',
28+
'DurationSeconds' => 1337,
29+
'Tags' => [new Tag([
30+
'Key' => 'change me',
31+
'Value' => 'change me',
32+
])],
33+
'TransitiveTagKeys' => ['change me'],
34+
'ExternalId' => 'change me',
35+
'SerialNumber' => 'change me',
36+
'TokenCode' => 'change me',
37+
]);
38+
$result = $client->AssumeRole($input);
39+
40+
$result->resolve();
41+
42+
// self::assertTODO(expected, $result->getCredentials());
43+
// self::assertTODO(expected, $result->getAssumedRoleUser());
44+
self::assertSame(1337, $result->getPackedPolicySize());
45+
}
46+
47+
public function testGetCallerIdentity(): void
48+
{
49+
self::markTestIncomplete('Not implemented');
50+
51+
$client = $this->getClient();
52+
53+
$input = new GetCallerIdentityRequest([
54+
55+
]);
56+
$result = $client->GetCallerIdentity($input);
57+
58+
$result->resolve();
59+
60+
self::assertStringContainsString('change it', $result->getUserId());
61+
self::assertStringContainsString('change it', $result->getAccount());
62+
self::assertStringContainsString('change it', $result->getArn());
63+
}
64+
65+
private function getClient(): StsClient
66+
{
67+
return new StsClient([
68+
'endpoint' => 'http://localhost',
69+
], new NullProvider());
70+
}
71+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
3+
namespace AsyncAws\Core\Tests\Unit\Input;
4+
5+
use AsyncAws\Core\Sts\Input\AssumeRoleRequest;
6+
use AsyncAws\Core\Sts\Input\PolicyDescriptorType;
7+
use AsyncAws\Core\Sts\Input\Tag;
8+
use PHPUnit\Framework\TestCase;
9+
10+
class AssumeRoleRequestTest extends TestCase
11+
{
12+
public function testRequestBody(): void
13+
{
14+
self::markTestIncomplete('Not implemented');
15+
16+
$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,
24+
'Tags' => [new Tag([
25+
'Key' => 'change me',
26+
'Value' => 'change me',
27+
])],
28+
'TransitiveTagKeys' => ['change me'],
29+
'ExternalId' => 'change me',
30+
'SerialNumber' => 'change me',
31+
'TokenCode' => 'change me',
32+
]);
33+
34+
$expected = trim('
35+
Action=AssumeRole
36+
&Version=2011-06-15
37+
&ChangeIt=Change+it
38+
');
39+
40+
self::assertEquals($expected, \str_replace('&', "\n&", $input->requestBody()));
41+
}
42+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace AsyncAws\Core\Tests\Unit\Input;
4+
5+
use AsyncAws\Core\Sts\Input\GetCallerIdentityRequest;
6+
use PHPUnit\Framework\TestCase;
7+
8+
class GetCallerIdentityRequestTest extends TestCase
9+
{
10+
public function testRequestBody(): void
11+
{
12+
self::markTestIncomplete('Not implemented');
13+
14+
$input = new GetCallerIdentityRequest([
15+
16+
]);
17+
18+
$expected = trim('
19+
Action=GetCallerIdentity
20+
&Version=2011-06-15
21+
&ChangeIt=Change+it
22+
');
23+
24+
self::assertEquals($expected, \str_replace('&', "\n&", $input->requestBody()));
25+
}
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace AsyncAws\Core\Tests\Unit\Result;
4+
5+
use AsyncAws\Core\Sts\Result\AssumeRoleResponse;
6+
use AsyncAws\Core\Test\Http\SimpleMockedResponse;
7+
use PHPUnit\Framework\TestCase;
8+
use Symfony\Component\HttpClient\MockHttpClient;
9+
10+
class AssumeRoleResponseTest extends TestCase
11+
{
12+
public function testAssumeRoleResponse(): void
13+
{
14+
self::markTestIncomplete('Not implemented');
15+
16+
$response = new SimpleMockedResponse('<?xml version="1.0" encoding="UTF-8"?>
17+
<ChangeIt/>
18+
');
19+
20+
$result = new AssumeRoleResponse($response, new MockHttpClient());
21+
22+
// self::assertTODO(expected, $result->getCredentials());
23+
// self::assertTODO(expected, $result->getAssumedRoleUser());
24+
self::assertSame(1337, $result->getPackedPolicySize());
25+
}
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace AsyncAws\Core\Tests\Unit\Result;
4+
5+
use AsyncAws\Core\Sts\Result\GetCallerIdentityResponse;
6+
use AsyncAws\Core\Test\Http\SimpleMockedResponse;
7+
use PHPUnit\Framework\TestCase;
8+
use Symfony\Component\HttpClient\MockHttpClient;
9+
10+
class GetCallerIdentityResponseTest extends TestCase
11+
{
12+
public function testGetCallerIdentityResponse(): void
13+
{
14+
self::markTestIncomplete('Not implemented');
15+
16+
$response = new SimpleMockedResponse('<?xml version="1.0" encoding="UTF-8"?>
17+
<ChangeIt/>
18+
');
19+
20+
$result = new GetCallerIdentityResponse($response, new MockHttpClient());
21+
22+
self::assertStringContainsString('change it', $result->getUserId());
23+
self::assertStringContainsString('change it', $result->getAccount());
24+
self::assertStringContainsString('change it', $result->getArn());
25+
}
26+
}

0 commit comments

Comments
 (0)