Skip to content

Commit b160c24

Browse files
committed
Add unit tests for 502 responses
1 parent 85699e0 commit b160c24

9 files changed

+139
-4
lines changed

tests/Domain/ClientGetAvailableDomainsTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Tests\Domain;
44

5+
use GuzzleHttp\Exception\ServerException;
56
use GuzzleHttp\Handler\MockHandler;
67
use GuzzleHttp\HandlerStack;
78
use GuzzleHttp\Psr7\Response;
@@ -108,4 +109,18 @@ public function testGetAvailableDomains429Error(): void
108109
$this->assertNull($response->successResponse);
109110
$this->assertEquals($error, $response->errorResponse->toArray());
110111
}
112+
113+
public function testGetAvailableDomains502Error(): void
114+
{
115+
$this->expectException(ServerException::class);
116+
117+
$mock = new MockHandler([
118+
new Response(502, [], 'Bad Gateway')
119+
]);
120+
$handlerStack = HandlerStack::create($mock);
121+
$guzzleClient = new \GuzzleHttp\Client(['handler' => $handlerStack]);
122+
$client = new Client($guzzleClient, new RateLimitReader(), 'test-api-key');
123+
124+
$client->getAvailableDomains();
125+
}
111126
}

tests/Email/ClientCreateTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Tests\Email;
44

5+
use GuzzleHttp\Exception\ServerException;
56
use GuzzleHttp\Handler\MockHandler;
67
use GuzzleHttp\HandlerStack;
78
use GuzzleHttp\Psr7\Response;
@@ -95,4 +96,18 @@ public function testCreate429Error(): void
9596
$this->assertNull($response->successResponse);
9697
$this->assertEquals($error, $response->errorResponse->toArray());
9798
}
99+
100+
public function testCreate502Error(): void
101+
{
102+
$this->expectException(ServerException::class);
103+
104+
$mock = new MockHandler([
105+
new Response(502, [], 'Bad Gateway')
106+
]);
107+
$handlerStack = HandlerStack::create($mock);
108+
$guzzleClient = new \GuzzleHttp\Client(['handler' => $handlerStack]);
109+
$client = new Client($guzzleClient, new RateLimitReader(), 'test-api-key');
110+
111+
$client->create();
112+
}
98113
}

tests/Email/ClientDeleteTest.php

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Tests\Email;
44

5+
use GuzzleHttp\Exception\ServerException;
56
use GuzzleHttp\Handler\MockHandler;
67
use GuzzleHttp\HandlerStack;
78
use GuzzleHttp\Psr7\Response;
@@ -33,7 +34,7 @@ public function testDeleteSuccess(): void
3334
$this->assertNotNull($response->successResponse);
3435
}
3536

36-
public function testCreate400Error(): void
37+
public function testDelete400Error(): void
3738
{
3839
$error = [
3940
'error' => [
@@ -60,7 +61,7 @@ public function testCreate400Error(): void
6061
$this->assertEquals($error, $response->errorResponse->toArray());
6162
}
6263

63-
public function testCreate429Error(): void
64+
public function testDelete429Error(): void
6465
{
6566
$error = [
6667
'error' => [
@@ -86,4 +87,18 @@ public function testCreate429Error(): void
8687
$this->assertNull($response->successResponse);
8788
$this->assertEquals($error, $response->errorResponse->toArray());
8889
}
90+
91+
public function testDelete502Error(): void
92+
{
93+
$this->expectException(ServerException::class);
94+
95+
$mock = new MockHandler([
96+
new Response(502, [], 'Bad Gateway')
97+
]);
98+
$handlerStack = HandlerStack::create($mock);
99+
$guzzleClient = new \GuzzleHttp\Client(['handler' => $handlerStack]);
100+
$client = new Client($guzzleClient, new RateLimitReader(), 'test-api-key');
101+
102+
$client->delete('abc');
103+
}
89104
}

tests/Email/ClientGetMessagesTest.php

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Tests\Email;
44

5+
use GuzzleHttp\Exception\ServerException;
56
use GuzzleHttp\Handler\MockHandler;
67
use GuzzleHttp\HandlerStack;
78
use GuzzleHttp\Psr7\Response;
@@ -103,7 +104,7 @@ public function testGetMessagesSuccess(): void
103104
], $response->successResponse->toArray()['messages'][1]);
104105
}
105106

106-
public function testCreate400Error(): void
107+
public function testGetMessages400Error(): void
107108
{
108109
$error = [
109110
'error' => [
@@ -130,7 +131,7 @@ public function testCreate400Error(): void
130131
$this->assertEquals($error, $response->errorResponse->toArray());
131132
}
132133

133-
public function testCreate429Error(): void
134+
public function testGetMessages429Error(): void
134135
{
135136
$error = [
136137
'error' => [
@@ -156,4 +157,18 @@ public function testCreate429Error(): void
156157
$this->assertNull($response->successResponse);
157158
$this->assertEquals($error, $response->errorResponse->toArray());
158159
}
160+
161+
public function testGetMessages502Error(): void
162+
{
163+
$this->expectException(ServerException::class);
164+
165+
$mock = new MockHandler([
166+
new Response(502, [], 'Bad Gateway')
167+
]);
168+
$handlerStack = HandlerStack::create($mock);
169+
$guzzleClient = new \GuzzleHttp\Client(['handler' => $handlerStack]);
170+
$client = new Client($guzzleClient, new RateLimitReader(), 'test-api-key');
171+
172+
$client->getMessages('test@example.com');
173+
}
159174
}

tests/Message/ClientDeleteTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Tests\Message;
44

5+
use GuzzleHttp\Exception\ServerException;
56
use GuzzleHttp\Handler\MockHandler;
67
use GuzzleHttp\HandlerStack;
78
use GuzzleHttp\Psr7\Response;
@@ -92,4 +93,18 @@ public function testDelete429Error(): void
9293
$this->assertNull($response->successResponse);
9394
$this->assertEquals($error, $response->errorResponse->toArray());
9495
}
96+
97+
public function testDelete502Error(): void
98+
{
99+
$this->expectException(ServerException::class);
100+
101+
$mock = new MockHandler([
102+
new Response(502, [], 'Bad Gateway')
103+
]);
104+
$handlerStack = HandlerStack::create($mock);
105+
$guzzleClient = new \GuzzleHttp\Client(['handler' => $handlerStack]);
106+
$client = new Client($guzzleClient, new RateLimitReader(), 'test-api-key');
107+
108+
$client->delete('abc');
109+
}
95110
}

tests/Message/ClientDownloadAttachmentTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Tests\Message;
44

5+
use GuzzleHttp\Exception\ServerException;
56
use GuzzleHttp\Handler\MockHandler;
67
use GuzzleHttp\HandlerStack;
78
use GuzzleHttp\Psr7\Response;
@@ -101,4 +102,18 @@ public function testDownloadAttachment429Error(): void
101102
$this->assertNull($response->successResponse);
102103
$this->assertEquals($error, $response->errorResponse->toArray());
103104
}
105+
106+
public function testDownloadAttachment502Error(): void
107+
{
108+
$this->expectException(ServerException::class);
109+
110+
$mock = new MockHandler([
111+
new Response(502, [], 'Bad Gateway')
112+
]);
113+
$handlerStack = HandlerStack::create($mock);
114+
$guzzleClient = new \GuzzleHttp\Client(['handler' => $handlerStack]);
115+
$client = new Client($guzzleClient, new RateLimitReader(), 'test-api-key');
116+
117+
$client->downloadAttachment('abc', '/root/file_path.txt');
118+
}
104119
}

tests/Message/ClientGetMessageSourceCodeTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Tests\Message;
44

5+
use GuzzleHttp\Exception\ServerException;
56
use GuzzleHttp\Handler\MockHandler;
67
use GuzzleHttp\HandlerStack;
78
use GuzzleHttp\Psr7\Response;
@@ -95,4 +96,18 @@ public function testGetMessageSourceCode429Error(): void
9596
$this->assertNull($response->successResponse);
9697
$this->assertEquals($error, $response->errorResponse->toArray());
9798
}
99+
100+
public function testGetMessageSourceCode502Error(): void
101+
{
102+
$this->expectException(ServerException::class);
103+
104+
$mock = new MockHandler([
105+
new Response(502, [], 'Bad Gateway')
106+
]);
107+
$handlerStack = HandlerStack::create($mock);
108+
$guzzleClient = new \GuzzleHttp\Client(['handler' => $handlerStack]);
109+
$client = new Client($guzzleClient, new RateLimitReader(), 'test-api-key');
110+
111+
$client->getMessageSourceCode('abc');
112+
}
98113
}

tests/Message/ClientGetMessageTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Tests\Message;
44

5+
use GuzzleHttp\Exception\ServerException;
56
use GuzzleHttp\Handler\MockHandler;
67
use GuzzleHttp\HandlerStack;
78
use GuzzleHttp\Psr7\Response;
@@ -105,4 +106,18 @@ public function testCreate429Error(): void
105106
$this->assertNull($response->successResponse);
106107
$this->assertEquals($error, $response->errorResponse->toArray());
107108
}
109+
110+
public function testCreate502Error(): void
111+
{
112+
$this->expectException(ServerException::class);
113+
114+
$mock = new MockHandler([
115+
new Response(502, [], 'Bad Gateway')
116+
]);
117+
$handlerStack = HandlerStack::create($mock);
118+
$guzzleClient = new \GuzzleHttp\Client(['handler' => $handlerStack]);
119+
$client = new Client($guzzleClient, new RateLimitReader(), 'test-api-key');
120+
121+
$client->getMessage('abc');
122+
}
108123
}

tests/RateLimit/ClientGetStatusTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Tests\RateLimit;
44

5+
use GuzzleHttp\Exception\ServerException;
56
use GuzzleHttp\Handler\MockHandler;
67
use GuzzleHttp\HandlerStack;
78
use GuzzleHttp\Psr7\Response;
@@ -61,4 +62,18 @@ public function testGetStatus400Error(): void
6162
$this->assertNull($response->successResponse);
6263
$this->assertEquals($error, $response->errorResponse->toArray());
6364
}
65+
66+
public function testGetStatus502Error(): void
67+
{
68+
$this->expectException(ServerException::class);
69+
70+
$mock = new MockHandler([
71+
new Response(502, [], 'Bad Gateway')
72+
]);
73+
$handlerStack = HandlerStack::create($mock);
74+
$guzzleClient = new \GuzzleHttp\Client(['handler' => $handlerStack]);
75+
$client = new Client($guzzleClient, 'test-api-key');
76+
77+
$client->getStatus();
78+
}
6479
}

0 commit comments

Comments
 (0)