diff --git a/src/Endpoints/CustomHostnames.php b/src/Endpoints/CustomHostnames.php index 4b37d1e..4af5c9e 100644 --- a/src/Endpoints/CustomHostnames.php +++ b/src/Endpoints/CustomHostnames.php @@ -9,9 +9,12 @@ namespace Cloudflare\API\Endpoints; use Cloudflare\API\Adapter\Adapter; +use Cloudflare\API\Traits\BodyAccessorTrait; class CustomHostnames implements API { + use BodyAccessorTrait; + private $adapter; public function __construct(Adapter $adapter) @@ -40,8 +43,8 @@ class CustomHostnames implements API ]; $zone = $this->adapter->post('zones/'.$zoneID.'/custom_hostnames', $options); - $body = json_decode($zone->getBody()); - return $body->result; + $this->body = json_decode($zone->getBody()); + return $this->body->result; } /** @@ -88,9 +91,9 @@ class CustomHostnames implements API } $zone = $this->adapter->get('zones/'.$zoneID.'/custom_hostnames', $query); - $body = json_decode($zone->getBody()); + $this->body = json_decode($zone->getBody()); - return (object)['result' => $body->result, 'result_info' => $body->result_info]; + return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; } /** @@ -101,9 +104,9 @@ class CustomHostnames implements API public function getHostname(string $zoneID, string $hostnameID) { $zone = $this->adapter->get('zones/'.$zoneID.'/custom_hostnames/'.$hostnameID); - $body = json_decode($zone->getBody()); + $this->body = json_decode($zone->getBody()); - return $body->result; + return $this->body->result; } /** @@ -132,8 +135,8 @@ class CustomHostnames implements API ]; $zone = $this->adapter->patch('zones/'.$zoneID.'/custom_hostnames/'.$hostnameID, $options); - $body = json_decode($zone->getBody()); - return $body->result; + $this->body = json_decode($zone->getBody()); + return $this->body->result; } /** @@ -144,7 +147,7 @@ class CustomHostnames implements API public function deleteHostname(string $zoneID, string $hostnameID): \stdClass { $zone = $this->adapter->delete('zones/'.$zoneID.'/custom_hostnames/'.$hostnameID); - $body = json_decode($zone->getBody()); - return $body; + $this->body = json_decode($zone->getBody()); + return $this->body; } } diff --git a/src/Endpoints/DNS.php b/src/Endpoints/DNS.php index dc57566..bf455bd 100644 --- a/src/Endpoints/DNS.php +++ b/src/Endpoints/DNS.php @@ -9,9 +9,12 @@ namespace Cloudflare\API\Endpoints; use Cloudflare\API\Adapter\Adapter; +use Cloudflare\API\Traits\BodyAccessorTrait; class DNS implements API { + use BodyAccessorTrait; + private $adapter; public function __construct(Adapter $adapter) @@ -57,9 +60,9 @@ class DNS implements API $user = $this->adapter->post('zones/' . $zoneID . '/dns_records', $options); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - if (isset($body->result->id)) { + if (isset($this->body->result->id)) { return true; } @@ -104,31 +107,32 @@ class DNS implements API } $user = $this->adapter->get('zones/' . $zoneID . '/dns_records', $query); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - return (object)['result' => $body->result, 'result_info' => $body->result_info]; + return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; } public function getRecordDetails(string $zoneID, string $recordID): \stdClass { $user = $this->adapter->get('zones/' . $zoneID . '/dns_records/' . $recordID); - $body = json_decode($user->getBody()); - return $body->result; + $this->body = json_decode($user->getBody()); + return $this->body->result; } public function updateRecordDetails(string $zoneID, string $recordID, array $details): \stdClass { $response = $this->adapter->put('zones/' . $zoneID . '/dns_records/' . $recordID, $details); - return json_decode($response->getBody()); + $this->body = json_decode($response->getBody()); + return $this->body; } public function deleteRecord(string $zoneID, string $recordID): bool { $user = $this->adapter->delete('zones/' . $zoneID . '/dns_records/' . $recordID); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - if (isset($body->result->id)) { + if (isset($this->body->result->id)) { return true; } diff --git a/src/Endpoints/IPs.php b/src/Endpoints/IPs.php index 46b4765..16ad2fe 100644 --- a/src/Endpoints/IPs.php +++ b/src/Endpoints/IPs.php @@ -9,9 +9,12 @@ namespace Cloudflare\API\Endpoints; use Cloudflare\API\Adapter\Adapter; +use Cloudflare\API\Traits\BodyAccessorTrait; class IPs implements API { + use BodyAccessorTrait; + private $adapter; public function __construct(Adapter $adapter) @@ -22,8 +25,8 @@ class IPs implements API public function listIPs(): \stdClass { $ips = $this->adapter->get('ips'); - $body = json_decode($ips->getBody()); + $this->body = json_decode($ips->getBody()); - return $body->result; + return $this->body->result; } } diff --git a/src/Endpoints/PageRules.php b/src/Endpoints/PageRules.php index 43f2b3a..3e56007 100644 --- a/src/Endpoints/PageRules.php +++ b/src/Endpoints/PageRules.php @@ -11,9 +11,12 @@ namespace Cloudflare\API\Endpoints; use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Configurations\PageRulesActions; use Cloudflare\API\Configurations\PageRulesTargets; +use Cloudflare\API\Traits\BodyAccessorTrait; class PageRules implements API { + use BodyAccessorTrait; + private $adapter; public function __construct(Adapter $adapter) @@ -54,9 +57,9 @@ class PageRules implements API $query = $this->adapter->post('zones/' . $zoneID . '/pagerules', $options); - $body = json_decode($query->getBody()); + $this->body = json_decode($query->getBody()); - if (isset($body->result->id)) { + if (isset($this->body->result->id)) { return true; } @@ -94,16 +97,16 @@ class PageRules implements API ]; $user = $this->adapter->get('zones/' . $zoneID . '/pagerules', $query); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - return $body->result; + return $this->body->result; } public function getPageRuleDetails(string $zoneID, string $ruleID): \stdClass { $user = $this->adapter->get('zones/' . $zoneID . '/pagerules/' . $ruleID); - $body = json_decode($user->getBody()); - return $body->result; + $this->body = json_decode($user->getBody()); + return $this->body->result; } public function updatePageRule( @@ -134,9 +137,9 @@ class PageRules implements API $query = $this->adapter->patch('zones/' . $zoneID . '/pagerules', $options); - $body = json_decode($query->getBody()); + $this->body = json_decode($query->getBody()); - if (isset($body->result->id)) { + if (isset($this->body->result->id)) { return true; } @@ -147,9 +150,9 @@ class PageRules implements API { $user = $this->adapter->delete('zones/' . $zoneID . '/pagerules/' . $ruleID); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - if (isset($body->result->id)) { + if (isset($this->body->result->id)) { return true; } diff --git a/src/Endpoints/Railgun.php b/src/Endpoints/Railgun.php index 7272d69..8ba3182 100644 --- a/src/Endpoints/Railgun.php +++ b/src/Endpoints/Railgun.php @@ -9,9 +9,12 @@ namespace Cloudflare\API\Endpoints; use Cloudflare\API\Adapter\Adapter; +use Cloudflare\API\Traits\BodyAccessorTrait; class Railgun implements API { + use BodyAccessorTrait; + private $adapter; public function __construct(Adapter $adapter) @@ -27,9 +30,9 @@ class Railgun implements API ]; $user = $this->adapter->post('railguns', $query); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - return $body; + return $this->body; } public function list( @@ -47,27 +50,27 @@ class Railgun implements API } $user = $this->adapter->get('railguns', $query); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - return (object)['result' => $body->result, 'result_info' => $body->result_info]; + return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; } public function get( string $railgunID ): \stdClass { $user = $this->adapter->get('railguns/' . $railgunID); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - return $body->result; + return $this->body->result; } public function getZones( string $railgunID ): \stdClass { $user = $this->adapter->get('railguns/' . $railgunID . '/zones'); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - return (object)['result' => $body->result, 'result_info' => $body->result_info]; + return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; } public function update( @@ -79,18 +82,18 @@ class Railgun implements API ]; $user = $this->adapter->patch('railguns/' . $railgunID, $query); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - return $body->result; + return $this->body->result; } public function delete( string $railgunID ): bool { $user = $this->adapter->delete('railguns/' . $railgunID); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - if (isset($body->result->id)) { + if (isset($this->body->result->id)) { return true; } diff --git a/src/Endpoints/UARules.php b/src/Endpoints/UARules.php index 2284c0a..8c7bfd9 100644 --- a/src/Endpoints/UARules.php +++ b/src/Endpoints/UARules.php @@ -10,9 +10,12 @@ namespace Cloudflare\API\Endpoints; use Cloudflare\API\Configurations\Configurations; use Cloudflare\API\Adapter\Adapter; +use Cloudflare\API\Traits\BodyAccessorTrait; class UARules implements API { + use BodyAccessorTrait; + private $adapter; public function __construct(Adapter $adapter) @@ -31,9 +34,9 @@ class UARules implements API ]; $user = $this->adapter->get('zones/' . $zoneID . '/firewall/ua_rules', $query); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - return (object)['result' => $body->result, 'result_info' => $body->result_info]; + return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; } public function createRule( @@ -58,9 +61,9 @@ class UARules implements API $user = $this->adapter->post('zones/' . $zoneID . '/firewall/ua_rules', $options); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - if (isset($body->result->id)) { + if (isset($this->body->result->id)) { return true; } @@ -70,8 +73,8 @@ class UARules implements API public function getRuleDetails(string $zoneID, string $blockID): \stdClass { $user = $this->adapter->get('zones/' . $zoneID . '/firewall/ua_rules/' . $blockID); - $body = json_decode($user->getBody()); - return $body->result; + $this->body = json_decode($user->getBody()); + return $this->body->result; } public function updateRule( @@ -93,9 +96,9 @@ class UARules implements API $user = $this->adapter->put('zones/' . $zoneID . '/firewall/ua_rules/' . $ruleID, $options); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - if (isset($body->result->id)) { + if (isset($this->body->result->id)) { return true; } @@ -106,9 +109,9 @@ class UARules implements API { $user = $this->adapter->delete('zones/' . $zoneID . '/firewall/ua_rules/' . $ruleID); - $body = json_decode($user->getBody()); + $this->body = json_decode($user->getBody()); - if (isset($body->result->id)) { + if (isset($this->body->result->id)) { return true; } diff --git a/tests/Endpoints/AccessRulesTest.php b/tests/Endpoints/AccessRulesTest.php index a7fd24d..fbe4bd4 100644 --- a/tests/Endpoints/AccessRulesTest.php +++ b/tests/Endpoints/AccessRulesTest.php @@ -28,6 +28,7 @@ class AccessRulesTest extends TestCase $this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $result->result[0]->id); $this->assertEquals(1, $result->result_info->page); + $this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $zones->getBody()->result[0]->id); } public function testCreateRule() @@ -58,6 +59,7 @@ class AccessRulesTest extends TestCase $config, 'This rule is on because of an event that occured on date X' ); + $this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $rules->getBody()->result->id); } public function testUpdateRule() @@ -84,6 +86,7 @@ class AccessRulesTest extends TestCase 'challenge', 'This rule is on because of an event that occured on date X' ); + $this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $rules->getBody()->result->id); } public function testDeleteRule() @@ -104,5 +107,6 @@ class AccessRulesTest extends TestCase $rules = new \Cloudflare\API\Endpoints\AccessRules($mock); $rules->deleteRule('023e105f4ecef8ad9ca31a8372d0c353', '92f17202ed8bd63d69a66b86a49a8f6b'); + $this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $rules->getBody()->result->id); } } diff --git a/tests/Endpoints/CustomHostnamesTest.php b/tests/Endpoints/CustomHostnamesTest.php index a6d9f9b..faa247f 100644 --- a/tests/Endpoints/CustomHostnamesTest.php +++ b/tests/Endpoints/CustomHostnamesTest.php @@ -32,6 +32,7 @@ class CustomHostnamesTest extends TestCase $hostname = new CustomHostnames($mock); $hostname->addHostname('023e105f4ecef8ad9ca31a8372d0c353', 'app.example.com', 'http', 'dv'); + $this->assertEquals('0d89c70d-ad9f-4843-b99f-6cc0252067e9', $hostname->getBody()->result->id); } public function testListHostnames() @@ -64,6 +65,7 @@ class CustomHostnamesTest extends TestCase $this->assertEquals('0d89c70d-ad9f-4843-b99f-6cc0252067e9', $result->result[0]->id); $this->assertEquals(1, $result->result_info->page); + $this->assertEquals('0d89c70d-ad9f-4843-b99f-6cc0252067e9', $zones->getBody()->result[0]->id); } public function testGetHostname() @@ -84,6 +86,7 @@ class CustomHostnamesTest extends TestCase $this->assertObjectHasAttribute('id', $result); $this->assertObjectHasAttribute('hostname', $result); + $this->assertEquals('0d89c70d-ad9f-4843-b99f-6cc0252067e9', $zones->getBody()->result->id); } public function testUpdateHostname() @@ -110,6 +113,7 @@ class CustomHostnamesTest extends TestCase $this->assertObjectHasAttribute('id', $result); $this->assertObjectHasAttribute('hostname', $result); + $this->assertEquals('0d89c70d-ad9f-4843-b99f-6cc0252067e9', $zones->getBody()->result->id); } public function testDeleteHostname() @@ -129,5 +133,6 @@ class CustomHostnamesTest extends TestCase $result = $zones->deleteHostname('023e105f4ecef8ad9ca31a8372d0c353', '0d89c70d-ad9f-4843-b99f-6cc0252067e9'); $this->assertEquals('0d89c70d-ad9f-4843-b99f-6cc0252067e9', $result->id); + $this->assertEquals('0d89c70d-ad9f-4843-b99f-6cc0252067e9', $zones->getBody()->id); } } diff --git a/tests/Endpoints/DNSTest.php b/tests/Endpoints/DNSTest.php index d82553a..11c21fa 100644 --- a/tests/Endpoints/DNSTest.php +++ b/tests/Endpoints/DNSTest.php @@ -63,6 +63,7 @@ class DNSTest extends TestCase $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id); $this->assertEquals(1, $result->result_info->page); + $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zones->getBody()->result[0]->id); } public function testGetDNSRecordDetails() @@ -82,6 +83,7 @@ class DNSTest extends TestCase $result = $dns->getRecordDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59'); $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id); + $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $dns->getBody()->result->id); } public function testUpdateDNSRecord() @@ -110,6 +112,7 @@ class DNSTest extends TestCase $result = $dns->updateRecordDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59', $details); $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result->id); + $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $dns->getBody()->result->id); foreach ($details as $property => $value) { $this->assertEquals($result->result->{ $property }, $value); diff --git a/tests/Endpoints/IPsTest.php b/tests/Endpoints/IPsTest.php index 27b85b5..1f92804 100644 --- a/tests/Endpoints/IPsTest.php +++ b/tests/Endpoints/IPsTest.php @@ -21,9 +21,11 @@ class IPsTest extends TestCase $this->equalTo('ips') ); - $ips = new \Cloudflare\API\Endpoints\IPs($mock); - $ips = $ips->listIPs(); + $ipsMock = new \Cloudflare\API\Endpoints\IPs($mock); + $ips = $ipsMock->listIPs(); $this->assertObjectHasAttribute('ipv4_cidrs', $ips); $this->assertObjectHasAttribute('ipv6_cidrs', $ips); + $this->assertObjectHasAttribute('ipv4_cidrs', $ipsMock->getBody()->result); + $this->assertObjectHasAttribute('ipv6_cidrs', $ipsMock->getBody()->result); } } diff --git a/tests/Endpoints/PageRulesTest.php b/tests/Endpoints/PageRulesTest.php index b082f60..f2813fd 100644 --- a/tests/Endpoints/PageRulesTest.php +++ b/tests/Endpoints/PageRulesTest.php @@ -35,6 +35,7 @@ class PageRulesTest extends TestCase $result = $pageRules->createPageRule('023e105f4ecef8ad9ca31a8372d0c353', $target, $action, true, 1); $this->assertTrue($result); + $this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id); } public function testListPageRules() @@ -58,6 +59,7 @@ class PageRulesTest extends TestCase $pageRules = new \Cloudflare\API\Endpoints\PageRules($mock); $pageRules->listPageRules('023e105f4ecef8ad9ca31a8372d0c353', 'active', 'status', 'desc', 'all'); + $this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result[0]->id); } public function testGetPageRuleDetails() @@ -75,6 +77,7 @@ class PageRulesTest extends TestCase $pageRules = new \Cloudflare\API\Endpoints\PageRules($mock); $pageRules->getPageRuleDetails('023e105f4ecef8ad9ca31a8372d0c353', '9a7806061c88ada191ed06f989cc3dac'); + $this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id); } public function testUpdatePageRule() @@ -104,6 +107,7 @@ class PageRulesTest extends TestCase $result = $pageRules->updatePageRule('023e105f4ecef8ad9ca31a8372d0c353', $target, $action, true, 1); $this->assertTrue($result); + $this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id); } public function testDeletePageRule() @@ -123,5 +127,6 @@ class PageRulesTest extends TestCase $result = $pageRules->deletePageRule('023e105f4ecef8ad9ca31a8372d0c353', '9a7806061c88ada191ed06f989cc3dac'); $this->assertTrue($result); + $this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id); } } diff --git a/tests/Endpoints/RailgunTest.php b/tests/Endpoints/RailgunTest.php index 7d56e1c..15e210b 100644 --- a/tests/Endpoints/RailgunTest.php +++ b/tests/Endpoints/RailgunTest.php @@ -34,6 +34,7 @@ class RailgunTest extends TestCase foreach ($details as $property => $value) { $this->assertEquals($result->result->{ $property }, $value); } + $this->assertEquals('e928d310693a83094309acf9ead50448', $railgun->getBody()->result->id); } public function testlist() @@ -59,6 +60,7 @@ class RailgunTest extends TestCase $this->assertObjectHasAttribute('result', $result); $this->assertObjectHasAttribute('result_info', $result); + $this->assertEquals('e928d310693a83094309acf9ead50448', $railgun->getBody()->result[0]->id); } public function testget() @@ -78,6 +80,7 @@ class RailgunTest extends TestCase $result = $railgun->get('e928d310693a83094309acf9ead50448'); $this->assertEquals('e928d310693a83094309acf9ead50448', $result->id); + $this->assertEquals('e928d310693a83094309acf9ead50448', $railgun->getBody()->result->id); } public function testgetZones() @@ -98,6 +101,7 @@ class RailgunTest extends TestCase $this->assertObjectHasAttribute('result', $result); $this->assertObjectHasAttribute('result_info', $result); + $this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $railgun->getBody()->result[0]->id); } public function testupdate() @@ -122,6 +126,7 @@ class RailgunTest extends TestCase $result = $waf->update('e928d310693a83094309acf9ead50448', true); $this->assertEquals('e928d310693a83094309acf9ead50448', $result->id); + $this->assertEquals('e928d310693a83094309acf9ead50448', $waf->getBody()->result->id); } public function testdelete() @@ -139,5 +144,6 @@ class RailgunTest extends TestCase $waf = new \Cloudflare\API\Endpoints\Railgun($mock); $waf->delete('e928d310693a83094309acf9ead50448'); + $this->assertEquals('e928d310693a83094309acf9ead50448', $waf->getBody()->result->id); } }