Add trait to the rest of the endpoints

This commit is contained in:
Levi Durfee
2018-10-19 11:06:34 -04:00
parent 2639331c2b
commit 099f383ef3
7 changed files with 61 additions and 29 deletions

View File

@@ -8,9 +8,12 @@
namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class User implements API
{
use BodyAccessorTrait;
private $adapter;
public function __construct(Adapter $adapter)
@@ -21,8 +24,8 @@ class User implements API
public function getUserDetails(): \stdClass
{
$user = $this->adapter->get('user');
$body = json_decode($user->getBody());
return $body->result;
$this->body = json_decode($user->getBody());
return $this->body->result;
}
public function getUserID(): string
@@ -38,6 +41,7 @@ class User implements API
public function updateUserDetails(array $details): \stdClass
{
$response = $this->adapter->patch('user', $details);
return json_decode($response->getBody());
$this->body = json_decode($response->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 WAF implements API
{
use BodyAccessorTrait;
private $adapter;
public function __construct(Adapter $adapter)
@@ -42,9 +45,9 @@ class WAF implements API
}
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages', $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];
}
@@ -53,9 +56,9 @@ class WAF implements API
string $packageID
): \stdClass {
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID);
$body = json_decode($user->getBody());
$this->body = json_decode($user->getBody());
return $body->result;
return $this->body->result;
}
public function getRules(
@@ -81,9 +84,9 @@ class WAF implements API
$query['direction'] = $direction;
}
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/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 getRuleInfo(
@@ -92,9 +95,9 @@ class WAF implements API
string $ruleID
): \stdClass {
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/rules/' . $ruleID);
$body = json_decode($user->getBody());
$this->body = json_decode($user->getBody());
return $body->result;
return $this->body->result;
}
public function updateRule(
@@ -111,9 +114,9 @@ class WAF implements API
'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/rules/' . $ruleID,
$query
);
$body = json_decode($user->getBody());
$this->body = json_decode($user->getBody());
return $body->result;
return $this->body->result;
}
public function getGroups(
@@ -143,9 +146,9 @@ class WAF implements API
'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/groups',
$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 getGroupInfo(
@@ -154,9 +157,9 @@ class WAF implements API
string $groupID
): \stdClass {
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/groups/' . $groupID);
$body = json_decode($user->getBody());
$this->body = json_decode($user->getBody());
return $body->result;
return $this->body->result;
}
public function updateGroup(
@@ -173,8 +176,8 @@ class WAF implements API
'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/groups/' . $groupID,
$query
);
$body = json_decode($user->getBody());
$this->body = json_decode($user->getBody());
return $body->result;
return $this->body->result;
}
}

View File

@@ -9,9 +9,12 @@
namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class ZoneLockdown implements API
{
use BodyAccessorTrait;
private $adapter;
public function __construct(Adapter $adapter)
@@ -30,9 +33,9 @@ class ZoneLockdown implements API
];
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/lockdowns', $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 createLockdown(
@@ -57,9 +60,9 @@ class ZoneLockdown implements API
$user = $this->adapter->post('zones/' . $zoneID . '/firewall/lockdowns', $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;
}
@@ -69,8 +72,8 @@ class ZoneLockdown implements API
public function getLockdownDetails(string $zoneID, string $lockdownID): \stdClass
{
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/lockdowns/' . $lockdownID);
$body = json_decode($user->getBody());
return $body->result;
$this->body = json_decode($user->getBody());
return $this->body->result;
}
public function updateLockdown(
@@ -92,9 +95,9 @@ class ZoneLockdown implements API
$user = $this->adapter->put('zones/' . $zoneID . '/firewall/lockdowns/' . $lockdownID, $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;
}
@@ -105,9 +108,9 @@ class ZoneLockdown implements API
{
$user = $this->adapter->delete('zones/' . $zoneID . '/firewall/lockdowns/' . $lockdownID);
$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

@@ -33,6 +33,7 @@ class UARulesTest 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 testCreateRule()
@@ -65,6 +66,7 @@ class UARulesTest extends TestCase
'372e67954025e0ba6aaa6d586b9e0b59',
'Prevent access from abusive clients identified by this UserAgent to mitigate DDoS attack'
);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
}
public function getRuleDetails()
@@ -84,6 +86,7 @@ class UARulesTest extends TestCase
$result = $lockdown->getRuleDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
}
public function testUpdateRule()
@@ -116,6 +119,7 @@ class UARulesTest extends TestCase
$config,
'Restrict access to these endpoints to requests from a known IP address'
);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
}
public function testDeleteRule()
@@ -133,5 +137,6 @@ class UARulesTest extends TestCase
$rules = new \Cloudflare\API\Endpoints\UARules($mock);
$rules->deleteRule('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
}
}

View File

@@ -21,6 +21,7 @@ class UserTest extends TestCase
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $details->id);
$this->assertObjectHasAttribute('email', $details);
$this->assertEquals('user@example.com', $details->email);
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $user->getBody()->result->id);
}
public function testGetUserID()
@@ -32,6 +33,7 @@ class UserTest extends TestCase
$user = new \Cloudflare\API\Endpoints\User($mock);
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $user->getUserID());
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $user->getBody()->result->id);
}
public function testGetUserEmail()
@@ -45,6 +47,7 @@ class UserTest extends TestCase
$user = new \Cloudflare\API\Endpoints\User($mock);
$this->assertEquals('user@example.com', $user->getUserEmail());
$this->assertEquals('user@example.com', $user->getBody()->result->email);
}
public function testUpdateUserDetails()
@@ -60,5 +63,6 @@ class UserTest extends TestCase
$user = new \Cloudflare\API\Endpoints\User($mock);
$user->updateUserDetails(['email' => 'user2@example.com']);
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $user->getBody()->result->id);
}
}

View File

@@ -36,6 +36,7 @@ class WAFTest extends TestCase
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page);
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $waf->getBody()->result[0]->id);
}
public function testgetPackageInfo()
@@ -55,6 +56,7 @@ class WAFTest extends TestCase
$result = $waf->getPackageInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b');
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $result->id);
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $waf->getBody()->result->id);
}
public function testgetRules()
@@ -85,6 +87,7 @@ class WAFTest extends TestCase
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page);
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $waf->getBody()->result[0]->id);
}
public function testgetRuleInfo()
@@ -104,6 +107,7 @@ class WAFTest extends TestCase
$result = $waf->getRuleInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'f939de3be84e66e757adcdcb87908023');
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $result->id);
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $waf->getBody()->result->id);
}
public function testupdateRule()
@@ -132,6 +136,7 @@ class WAFTest extends TestCase
foreach ($details as $property => $value) {
$this->assertEquals($result->{ $property }, $value);
}
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $waf->getBody()->result->id);
}
public function getGroups()
@@ -162,6 +167,7 @@ class WAFTest extends TestCase
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page);
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $waf->getBody()->result[0]->id);
}
public function testgetGroupInfo()
@@ -181,6 +187,7 @@ class WAFTest extends TestCase
$result = $waf->getGroupInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'de677e5818985db1285d0e80225f06e5');
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $result->id);
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $waf->getBody()->result->id);
}
public function testupdateGroup()
@@ -209,5 +216,6 @@ class WAFTest extends TestCase
foreach ($details as $property => $value) {
$this->assertEquals($result->{ $property }, $value);
}
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $waf->getBody()->result->id);
}
}

View File

@@ -33,6 +33,7 @@ class ZoneLockdownTest 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 testAddLockdown()
@@ -65,6 +66,7 @@ class ZoneLockdownTest extends TestCase
'372e67954025e0ba6aaa6d586b9e0b59',
'Restrict access to these endpoints to requests from a known IP address'
);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zoneLockdown->getBody()->result->id);
}
public function testGetRecordDetails()
@@ -84,6 +86,7 @@ class ZoneLockdownTest extends TestCase
$result = $lockdown->getLockdownDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $lockdown->getBody()->result->id);
}
public function testUpdateLockdown()
@@ -116,6 +119,7 @@ class ZoneLockdownTest extends TestCase
$config,
'Restrict access to these endpoints to requests from a known IP address'
);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zoneLockdown->getBody()->result->id);
}
public function testDeleteLockdown()
@@ -136,5 +140,6 @@ class ZoneLockdownTest extends TestCase
$zoneLockdown = new \Cloudflare\API\Endpoints\ZoneLockdown($mock);
$zoneLockdown->deleteLockdown('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zoneLockdown->getBody()->result->id);
}
}