Add BodyAccessorTrait to most classes

This commit is contained in:
Levi Durfee
2018-10-19 10:48:25 -04:00
parent d871bdd007
commit 2639331c2b
12 changed files with 99 additions and 55 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}