Skip to content

Commit cb34a90

Browse files
authored
Test entire request (#310)
1 parent b8c41d1 commit cb34a90

File tree

4 files changed

+54
-98
lines changed

4 files changed

+54
-98
lines changed

tests/Unit/Input/AddLayerVersionPermissionRequestTest.php

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,9 @@
1010
*/
1111
class AddLayerVersionPermissionRequestTest extends TestCase
1212
{
13-
/**
14-
* @var AddLayerVersionPermissionRequest
15-
*/
16-
private $input;
17-
18-
public function setUp(): void
13+
public function testRequest(): void
1914
{
20-
$this->input = new AddLayerVersionPermissionRequest([
15+
$input = new AddLayerVersionPermissionRequest([
2116
'LayerName' => 'nodejs',
2217
'VersionNumber' => 2,
2318
'StatementId' => 'fooBar',
@@ -26,31 +21,19 @@ public function setUp(): void
2621
'OrganizationId' => '*',
2722
'RevisionId' => '123456',
2823
]);
29-
parent::setUp();
30-
}
3124

32-
public function testRequestBody(): void
33-
{
34-
$expected = '{
35-
"Action": "lambda:GetLayerVersion",
36-
"StatementId": "fooBar",
37-
"Principal": "123456789",
38-
"OrganizationId": "*"
39-
}';
25+
$expected = '
26+
POST /2018-10-31/layers/nodejs/versions/2/policy?RevisionId=123456 HTTP/1.0
27+
Content-Type: application/json
4028
41-
self::assertJsonStringEqualsJsonString($expected, $this->input->request()->getBody()->stringify());
42-
}
29+
{
30+
"Action": "lambda:GetLayerVersion",
31+
"StatementId": "fooBar",
32+
"Principal": "123456789",
33+
"OrganizationId": "*"
34+
}
35+
';
4336

44-
public function testRequestUri(): void
45-
{
46-
$expected = '/2018-10-31/layers/nodejs/versions/2/policy';
47-
48-
self::assertSame($expected, $this->input->request()->getUri());
49-
}
50-
51-
public function testRequestQuery(): void
52-
{
53-
$expected = ['RevisionId' => '123456'];
54-
self::assertSame($expected, $this->input->request()->getQuery());
37+
self::assertRequestEqualsHttpRequest($expected, $input->request());
5538
}
5639
}

tests/Unit/Input/InvocationRequestTest.php

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,37 +11,30 @@
1111
*/
1212
class InvocationRequestTest extends TestCase
1313
{
14-
/**
15-
* @var InvocationRequest
16-
*/
17-
private $input;
18-
19-
public function setUp(): void
14+
public function testRequest(): void
2015
{
21-
$this->input = new InvocationRequest([
16+
$input = new InvocationRequest([
2217
'FunctionName' => 'MyFunction',
2318
'InvocationType' => 'Event',
2419
'LogType' => 'Tail',
2520
'ClientContext' => 'MyApp',
2621
'Payload' => '{"name": "jderusse"}',
2722
'Qualifier' => '1',
2823
]);
29-
parent::setUp();
30-
}
3124

32-
public function testRequestBody(): void
33-
{
34-
$expected = '{
35-
"name": "jderusse"
36-
}';
25+
$expected = '
26+
POST /2015-03-31/functions/MyFunction/invocations?Qualifier=1 HTTP/1.0
27+
Content-Type: application/json
28+
x-amz-invocation-type: Event
29+
x-amz-log-type: Tail
30+
x-amz-client-context: MyApp
3731
38-
self::assertJsonStringEqualsJsonString($expected, $this->input->request()->getBody()->stringify());
39-
}
4032
41-
public function testRequestUri(): void
42-
{
43-
$expected = '/2015-03-31/functions/MyFunction/invocations';
33+
{
34+
"name": "jderusse"
35+
}
36+
';
4437

45-
self::assertSame($expected, $this->input->request()->getUri());
38+
self::assertRequestEqualsHttpRequest($expected, $input->request());
4639
}
4740
}

tests/Unit/Input/ListLayerVersionsRequestTest.php

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@
1111
*/
1212
class ListLayerVersionsRequestTest extends TestCase
1313
{
14-
/**
15-
* @var ListLayerVersionsRequest
16-
*/
17-
private $input;
18-
19-
public function setUp(): void
14+
public function testRequest(): void
2015
{
21-
$this->input = new ListLayerVersionsRequest([
16+
$input = new ListLayerVersionsRequest([
2217
'CompatibleRuntime' => 'nodejs12.x',
2318
'LayerName' => 'demo',
2419
]);
2520

26-
parent::setUp();
21+
$expected = '
22+
GET /2018-10-31/layers/demo/versions?CompatibleRuntime=nodejs12.x HTTP/1.0
23+
Content-Type: application/json
24+
';
25+
26+
self::assertRequestEqualsHttpRequest($expected, $input->request());
2727
}
2828

2929
public function testInvalidEnum(): void
@@ -36,11 +36,4 @@ public function testInvalidEnum(): void
3636
$this->expectExceptionMessage('Invalid parameter "CompatibleRuntime" when validating the "AsyncAws\Lambda\Input\ListLayerVersionsRequest". The value "boom" is not a valid "Runtime".');
3737
$input->validate();
3838
}
39-
40-
public function testRequestUrl(): void
41-
{
42-
$expected = '/2018-10-31/layers/demo/versions';
43-
44-
self::assertSame($expected, $this->input->request()->getUri());
45-
}
4639
}

tests/Unit/Input/PublishLayerVersionRequestTest.php

Lines changed: 20 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,9 @@
1111
*/
1212
class PublishLayerVersionRequestTest extends TestCase
1313
{
14-
/**
15-
* @var PublishLayerVersionRequest
16-
*/
17-
private $input;
18-
19-
public function setUp(): void
14+
public function testRequest(): void
2015
{
21-
$this->input = new PublishLayerVersionRequest([
16+
$input = new PublishLayerVersionRequest([
2217
'LayerName' => 'demo',
2318
'Description' => 'small description',
2419
'Content' => new LayerVersionContentInput([
@@ -31,32 +26,24 @@ public function setUp(): void
3126
'LicenseInfo' => 'MIT',
3227
]);
3328

34-
parent::setUp();
35-
}
36-
37-
public function testRequestBody(): void
38-
{
3929
// see https://docs.aws.amazon.com/lambda/latest/dg/API_PublishLayerVersion.html
40-
$expected = '{
41-
"Description": "small description",
42-
"Content": {
43-
"S3Bucket": "myBucket",
44-
"S3Key": "path/to/file",
45-
"S3ObjectVersion": "123",
46-
"ZipFile": "YmluYXJ5IGNvbnRlbnQ="
47-
},
48-
"CompatibleRuntimes": ["nodejs10.x", "nodejs12.x"],
49-
"LicenseInfo": "MIT"
50-
}';
51-
52-
self::assertJsonStringEqualsJsonString($expected, $this->input->request()->getBody()->stringify());
53-
}
54-
55-
public function testRequestUrl(): void
56-
{
57-
// see https://docs.aws.amazon.com/lambda/latest/dg/API_ListLayerVersions.html
58-
$expected = '/2018-10-31/layers/demo/versions';
59-
60-
self::assertSame($expected, $this->input->request()->getUri());
30+
$expected = '
31+
POST /2018-10-31/layers/demo/versions HTTP/1.0
32+
Content-Type: application/json
33+
34+
{
35+
"Description": "small description",
36+
"Content": {
37+
"S3Bucket": "myBucket",
38+
"S3Key": "path/to/file",
39+
"S3ObjectVersion": "123",
40+
"ZipFile": "YmluYXJ5IGNvbnRlbnQ="
41+
},
42+
"CompatibleRuntimes": ["nodejs10.x", "nodejs12.x"],
43+
"LicenseInfo": "MIT"
44+
}
45+
';
46+
47+
self::assertRequestEqualsHttpRequest($expected, $input->request());
6148
}
6249
}

0 commit comments

Comments
 (0)