From 48837d27ea82236389f0a96a002494b95f1ca44a Mon Sep 17 00:00:00 2001 From: PlanetCloud <35788716+PlanetGamingGG@users.noreply.github.com> Date: Fri, 8 Mar 2019 21:36:41 +0700 Subject: [PATCH 1/3] Added check for json_decode result --- src/Message/GetUserDomainsResponse.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Message/GetUserDomainsResponse.php b/src/Message/GetUserDomainsResponse.php index 4c7b1b5..6c1cf17 100644 --- a/src/Message/GetUserDomainsResponse.php +++ b/src/Message/GetUserDomainsResponse.php @@ -58,6 +58,11 @@ public function getStatus() { if ($this->isSuccessful()) { $data = json_decode($this->getData(), true); + + if($data == null){ + //throw new \RuntimeException('Failed to decode JSON data: ' . $this->getData()); + return null; + } $statuses = array_unique(array_map(function ($item) { return $item[0]; From f026db0b7c425c47ca1bccdc45ef7c73b5971ac0 Mon Sep 17 00:00:00 2001 From: PlanetCloud <35788716+PlanetGamingGG@users.noreply.github.com> Date: Sat, 9 Mar 2019 15:28:13 +0700 Subject: [PATCH 2/3] Followed PSR-2 Coding Standart --- src/Message/GetUserDomainsResponse.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Message/GetUserDomainsResponse.php b/src/Message/GetUserDomainsResponse.php index 6c1cf17..391ddac 100644 --- a/src/Message/GetUserDomainsResponse.php +++ b/src/Message/GetUserDomainsResponse.php @@ -59,8 +59,7 @@ public function getStatus() if ($this->isSuccessful()) { $data = json_decode($this->getData(), true); - if($data == null){ - //throw new \RuntimeException('Failed to decode JSON data: ' . $this->getData()); + if ($data == null) { return null; } From 195ed3c31a75f36679974689b93aefe138eb6aa6 Mon Sep 17 00:00:00 2001 From: PlanetCloud <35788716+PlanetGamingGG@users.noreply.github.com> Date: Sat, 9 Mar 2019 16:59:44 +0700 Subject: [PATCH 3/3] Added test --- tests/Message/GetUserDomainsRequestTest.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/Message/GetUserDomainsRequestTest.php b/tests/Message/GetUserDomainsRequestTest.php index ae60567..d87ef81 100644 --- a/tests/Message/GetUserDomainsRequestTest.php +++ b/tests/Message/GetUserDomainsRequestTest.php @@ -25,6 +25,17 @@ public function setUp() $this->request->initialize($this->requestData); } + public function testNullServerResponse(){ + // Ensure $response->getStatus() returned `null` if the server responded with "null" + $this->mockHandler->append(new Response(200, [], 'null')); + + $response = $this->request->send(); + $this->assertInstanceOf(GetUserDomainsResponse::class, $response); + $this->assertEquals(null, $response->getStatus()); + + $this->assertValidGetCall('getuserdomains'); + } + public function testGetData() { $data = $this->request->getData();