1 Commits

Author SHA1 Message Date
Junade
67c34b789e Revert "MX records need ability to set priority" 2018-03-05 14:21:06 -06:00
49 changed files with 379 additions and 4044 deletions

View File

@@ -4,7 +4,7 @@
## Installation ## Installation
The recommended way to install this package is via the Packagist Dependency Manager ([cloudflare/sdk](https://packagist.org/packages/cloudflare/sdk)). You can get specific usage examples on the Cloudflare Knowledge Base under: [Cloudflare PHP API Binding](https://support.cloudflare.com/hc/en-us/articles/115001661191) The recommended way to install this package is via the Packagist Dependency Manager ([cloudflare/sdk](https://packagist.org/packages/cloudflare/sdk)). You can specific usage examples on the Cloudflare Knowledge Base under: [Cloudflare PHP API Binding](https://support.cloudflare.com/hc/en-us/articles/115001661191)
## Cloudflare API version 4 ## Cloudflare API version 4
@@ -18,8 +18,7 @@ Each API call is provided via a similarly named function within various classes
- [x] [Page Rules](https://support.cloudflare.com/hc/en-us/articles/200168306-Is-there-a-tutorial-for-Page-Rules-) - [x] [Page Rules](https://support.cloudflare.com/hc/en-us/articles/200168306-Is-there-a-tutorial-for-Page-Rules-)
- [x] [Web Application Firewall (WAF)](https://www.cloudflare.com/waf/) - [x] [Web Application Firewall (WAF)](https://www.cloudflare.com/waf/)
- [ ] Virtual DNS Management - [ ] Virtual DNS Management
- [x] Custom hostnames - [ ] Custom hostnames
- [x] Manage TLS settings
- [x] Zone Lockdown and User-Agent Block rules - [x] Zone Lockdown and User-Agent Block rules
- [ ] Organization Administration - [ ] Organization Administration
- [x] [Railgun](https://www.cloudflare.com/railgun/) administration - [x] [Railgun](https://www.cloudflare.com/railgun/) administration

3002
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -31,46 +31,46 @@ interface Adapter
* RFCs, it is never useful). * RFCs, it is never useful).
* *
* @param string $uri * @param string $uri
* @param array $data * @param array $query
* @param array $headers * @param array $headers
* *
* @return mixed * @return mixed
*/ */
public function get(string $uri, array $data = [], array $headers = []): ResponseInterface; public function get(string $uri, array $query, array $headers): ResponseInterface;
/** /**
* @param string $uri * @param string $uri
* @param array $data
* @param array $headers * @param array $headers
* @param array $body
* *
* @return mixed * @return mixed
*/ */
public function post(string $uri, array $data = [], array $headers = []): ResponseInterface; public function post(string $uri, array $headers, array $body): ResponseInterface;
/** /**
* @param string $uri * @param string $uri
* @param array $data
* @param array $headers * @param array $headers
* @param array $body
* *
* @return mixed * @return mixed
*/ */
public function put(string $uri, array $data = [], array $headers = []): ResponseInterface; public function put(string $uri, array $headers, array $body): ResponseInterface;
/** /**
* @param string $uri * @param string $uri
* @param array $data
* @param array $headers * @param array $headers
* @param array $body
* *
* @return mixed * @return mixed
*/ */
public function patch(string $uri, array $data = [], array $headers = []): ResponseInterface; public function patch(string $uri, array $headers, array $body): ResponseInterface;
/** /**
* @param string $uri * @param string $uri
* @param array $data
* @param array $headers * @param array $headers
* @param array $body
* *
* @return mixed * @return mixed
*/ */
public function delete(string $uri, array $data = [], array $headers = []): ResponseInterface; public function delete(string $uri, array $headers, array $body): ResponseInterface;
} }

View File

@@ -37,56 +37,79 @@ class Guzzle implements Adapter
/** /**
* @inheritDoc * @inheritDoc
*/ */
public function get(string $uri, array $data = [], array $headers = []): ResponseInterface public function get(string $uri, array $query = [], array $headers = []): ResponseInterface
{ {
return $this->request('get', $uri, $data, $headers); $response = $this->client->get($uri, ['query' => $query, 'headers' => $headers]);
}
/**
* @inheritDoc
*/
public function post(string $uri, array $data = [], array $headers = []): ResponseInterface
{
return $this->request('post', $uri, $data, $headers);
}
/**
* @inheritDoc
*/
public function put(string $uri, array $data = [], array $headers = []): ResponseInterface
{
return $this->request('put', $uri, $data, $headers);
}
/**
* @inheritDoc
*/
public function patch(string $uri, array $data = [], array $headers = []): ResponseInterface
{
return $this->request('patch', $uri, $data, $headers);
}
/**
* @inheritDoc
*/
public function delete(string $uri, array $data = [], array $headers = []): ResponseInterface
{
return $this->request('delete', $uri, $data, $headers);
}
public function request(string $method, string $uri, array $data = [], array $headers = [])
{
if (!in_array($method, ['get', 'post', 'put', 'patch', 'delete'])) {
throw new \InvalidArgumentException('Request method must be get, post, put, patch, or delete');
}
$response = $this->client->$method($uri, [
'headers' => $headers,
($method === 'get' ? 'query' : 'json') => $data,
]);
$this->checkError($response); $this->checkError($response);
return $response;
}
/**
* @inheritDoc
*/
public function post(string $uri, array $headers = [], array $body = []): ResponseInterface
{
$response = $this->client->post(
$uri,
[
'headers' => $headers,
'json' => $body
]
);
$this->checkError($response);
return $response;
}
/**
* @inheritDoc
*/
public function put(string $uri, array $headers = [], array $body = []): ResponseInterface
{
$response = $this->client->put(
$uri,
[
'headers' => $headers,
'json' => $body
]
);
$this->checkError($response);
return $response;
}
/**
* @inheritDoc
*/
public function patch(string $uri, array $headers = [], array $body = []): ResponseInterface
{
$response = $this->client->patch(
$uri,
[
'headers' => $headers,
'json' => $body
]
);
$this->checkError($response);
return $response;
}
/**
* @inheritDoc
*/
public function delete(string $uri, array $headers = [], array $body = []): ResponseInterface
{
$response = $this->client->delete(
$uri,
[
'headers' => $headers,
'json' => $body
]
);
$this->checkError($response);
return $response; return $response;
} }

View File

@@ -132,11 +132,9 @@ class PageRulesActions implements Configurations
throw new ConfigurationsException('Status Codes can only be 301 or 302.'); throw new ConfigurationsException('Status Codes can only be 301 or 302.');
} }
$this->addConfigurationOption("forwarding_url", [ $this->addConfigurationOption('forwarding_url', [
'value' => [
'status_code' => $statusCode, 'status_code' => $statusCode,
'url' => $forwardingUrl, 'url' => $forwardingUrl,
],
]); ]);
} }
@@ -261,7 +259,7 @@ class PageRulesActions implements Configurations
throw new ConfigurationsException('Can only be set to off, flexible, full, strict, origin_pull.'); throw new ConfigurationsException('Can only be set to off, flexible, full, strict, origin_pull.');
} }
$this->addConfigurationOption('ssl', [ $this->addConfigurationOption('smart_errors', [
'value' => $value 'value' => $value
]); ]);
} }
@@ -303,7 +301,7 @@ class PageRulesActions implements Configurations
{ {
$configuration['id'] = $setting; $configuration['id'] = $setting;
array_push($this->configs, $configuration); $this->configs[] = (object) $configuration;
} }
private function getBoolAsOnOrOff(bool $value): string private function getBoolAsOnOrOff(bool $value): string

View File

@@ -15,9 +15,9 @@ class PageRulesTargets implements Configurations
public function __construct(string $queryUrl) public function __construct(string $queryUrl)
{ {
$this->targets = [ $this->targets = [
[ (object)[
'target' => 'url', 'target' => 'url',
'constraint' => [ 'constraint' => (object)[
'operator' => 'matches', 'operator' => 'matches',
'value' => $queryUrl 'value' => $queryUrl
] ]

View File

@@ -14,7 +14,7 @@ class UARules implements Configurations
public function addUA(string $value) public function addUA(string $value)
{ {
$this->configs[] = ['target' => 'ua', 'value' => $value]; $this->configs[] = (object)['target' => 'ua', 'value' => $value];
} }
public function getArray(): array public function getArray(): array

View File

@@ -14,12 +14,12 @@ class ZoneLockdown implements Configurations
public function addIP(string $value) public function addIP(string $value)
{ {
$this->configs[] = ['target' => 'ip', 'value' => $value]; $this->configs[] = (object)['target' => 'ip', 'value' => $value];
} }
public function addIPRange(string $value) public function addIPRange(string $value)
{ {
$this->configs[] = ['target' => 'ip_range', 'value' => $value]; $this->configs[] = (object)['target' => 'ip_range', 'value' => $value];
} }
public function getArray(): array public function getArray(): array

View File

@@ -4,12 +4,9 @@ namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Configurations\Configurations; use Cloudflare\API\Configurations\Configurations;
use Cloudflare\API\Traits\BodyAccessorTrait;
class AccessRules implements API class AccessRules implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -80,10 +77,10 @@ class AccessRules implements API
$query['notes'] = $notes; $query['notes'] = $notes;
} }
$data = $this->adapter->get('zones/' . $zoneID . '/firewall/access_rules/rules', $query); $data = $this->adapter->get('zones/' . $zoneID . '/firewall/access_rules/rules', $query, []);
$this->body = json_decode($data->getBody()); $body = json_decode($data->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
public function createRule( public function createRule(
@@ -94,18 +91,18 @@ class AccessRules implements API
): bool { ): bool {
$options = [ $options = [
'mode' => $mode, 'mode' => $mode,
'configuration' => $configuration->getArray() 'configuration' => (object) $configuration->getArray()
]; ];
if ($notes !== null) { if ($notes !== null) {
$options['notes'] = $notes; $options['notes'] = $notes;
} }
$query = $this->adapter->post('zones/' . $zoneID . '/firewall/access_rules/rules', $options); $query = $this->adapter->post('zones/' . $zoneID . '/firewall/access_rules/rules', [], $options);
$this->body = json_decode($query->getBody()); $body = json_decode($query->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
@@ -126,11 +123,11 @@ class AccessRules implements API
$options['notes'] = $notes; $options['notes'] = $notes;
} }
$query = $this->adapter->patch('zones/' . $zoneID . '/firewall/access_rules/rules/' . $ruleID, $options); $query = $this->adapter->patch('zones/' . $zoneID . '/firewall/access_rules/rules/' . $ruleID, [], $options);
$this->body = json_decode($query->getBody()); $body = json_decode($query->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
@@ -143,11 +140,11 @@ class AccessRules implements API
'cascade' => $cascade 'cascade' => $cascade
]; ];
$data = $this->adapter->delete('zones/' . $zoneID . '/firewall/access_rules/rules/' . $ruleID, $options); $data = $this->adapter->delete('zones/' . $zoneID . '/firewall/access_rules/rules/' . $ruleID, [], $options);
$this->body = json_decode($data->getBody()); $body = json_decode($data->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }

View File

@@ -1,153 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: junade
* Date: 18/03/2018
* Time: 21:46
*/
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)
{
$this->adapter = $adapter;
}
/**
* @SuppressWarnings(PHPMD.BooleanArgumentFlag)
*
* @param string $zoneID
* @param string $hostname
* @param string $sslMethod
* @param string $sslType
* @return \stdClass
*/
public function addHostname(string $zoneID, string $hostname, string $sslMethod = 'http', string $sslType = 'dv'): \stdClass
{
$options = [
'hostname' => $hostname,
'ssl' => [
'method' => $sslMethod,
'type' => $sslType
]
];
$zone = $this->adapter->post('zones/'.$zoneID.'/custom_hostnames', $options);
$this->body = json_decode($zone->getBody());
return $this->body->result;
}
/**
* @param string $zoneID
* @param string $hostname
* @param string $id
* @param int $page
* @param int $perPage
* @param string $order
* @param string $direction
* @param int $ssl
* @return \stdClass
*/
public function listHostnames(
string $zoneID,
string $hostname = '',
string $hostnameID = '',
int $page = 1,
int $perPage = 20,
string $order = '',
string $direction = '',
int $ssl = 0
): \stdClass {
$query = [
'page' => $page,
'per_page' => $perPage,
'ssl' => $ssl
];
if (!empty($hostname)) {
$query['hostname'] = $hostname;
}
if (!empty($hostnameID)) {
$query['id'] = $hostnameID;
}
if (!empty($order)) {
$query['order'] = $order;
}
if (!empty($direction)) {
$query['direction'] = $direction;
}
$zone = $this->adapter->get('zones/'.$zoneID.'/custom_hostnames', $query);
$this->body = json_decode($zone->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info];
}
/**
* @param string $zoneID
* @param string $hostnameID
* @return mixed
*/
public function getHostname(string $zoneID, string $hostnameID)
{
$zone = $this->adapter->get('zones/'.$zoneID.'/custom_hostnames/'.$hostnameID);
$this->body = json_decode($zone->getBody());
return $this->body->result;
}
/**
* @SuppressWarnings(PHPMD.BooleanArgumentFlag)
*
* @param string $zoneID
* @param string $hostnameID
* @param string $sslMethod
* @param string $sslType
* @return \stdClass
*/
public function updateHostname(string $zoneID, string $hostnameID, string $sslMethod = '', string $sslType = ''): \stdClass
{
$query = [];
if (!empty($sslMethod)) {
$query['method'] = $sslMethod;
}
if (!empty($sslType)) {
$query['type'] = $sslType;
}
$options = [
'ssl' => $query
];
$zone = $this->adapter->patch('zones/'.$zoneID.'/custom_hostnames/'.$hostnameID, $options);
$this->body = json_decode($zone->getBody());
return $this->body->result;
}
/**
* @param string $zoneID
* @param string $hostnameID
* @return \stdClass
*/
public function deleteHostname(string $zoneID, string $hostnameID): \stdClass
{
$zone = $this->adapter->delete('zones/'.$zoneID.'/custom_hostnames/'.$hostnameID);
$this->body = json_decode($zone->getBody());
return $this->body;
}
}

View File

@@ -9,12 +9,9 @@
namespace Cloudflare\API\Endpoints; namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class DNS implements API class DNS implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -31,8 +28,6 @@ class DNS implements API
* @param string $content * @param string $content
* @param int $ttl * @param int $ttl
* @param bool $proxied * @param bool $proxied
* @param string $priority
* @param array $data
* @return bool * @return bool
*/ */
public function addRecord( public function addRecord(
@@ -41,9 +36,7 @@ class DNS implements API
string $name, string $name,
string $content, string $content,
int $ttl = 0, int $ttl = 0,
bool $proxied = true, bool $proxied = true
string $priority = '',
array $data = []
): bool { ): bool {
$options = [ $options = [
'type' => $type, 'type' => $type,
@@ -56,19 +49,11 @@ class DNS implements API
$options['ttl'] = $ttl; $options['ttl'] = $ttl;
} }
if (!empty($priority)) { $user = $this->adapter->post('zones/' . $zoneID . '/dns_records', [], $options);
$options['priority'] = (int)$priority;
}
if (!empty($data)) { $body = json_decode($user->getBody());
$options['data'] = $data;
}
$user = $this->adapter->post('zones/' . $zoneID . '/dns_records', $options); if (isset($body->result->id)) {
$this->body = json_decode($user->getBody());
if (isset($this->body->result->id)) {
return true; return true;
} }
@@ -112,33 +97,32 @@ class DNS implements API
$query['direction'] = $direction; $query['direction'] = $direction;
} }
$user = $this->adapter->get('zones/' . $zoneID . '/dns_records', $query); $user = $this->adapter->get('zones/' . $zoneID . '/dns_records', $query, []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
public function getRecordDetails(string $zoneID, string $recordID): \stdClass public function getRecordDetails(string $zoneID, string $recordID): \stdClass
{ {
$user = $this->adapter->get('zones/' . $zoneID . '/dns_records/' . $recordID); $user = $this->adapter->get('zones/' . $zoneID . '/dns_records/' . $recordID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function updateRecordDetails(string $zoneID, string $recordID, array $details): \stdClass public function updateRecordDetails(string $zoneID, string $recordID, array $details): \stdClass
{ {
$response = $this->adapter->put('zones/' . $zoneID . '/dns_records/' . $recordID, $details); $response = $this->adapter->put('zones/' . $zoneID . '/dns_records/' . $recordID, [], $details);
$this->body = json_decode($response->getBody()); return json_decode($response->getBody());
return $this->body;
} }
public function deleteRecord(string $zoneID, string $recordID): bool public function deleteRecord(string $zoneID, string $recordID): bool
{ {
$user = $this->adapter->delete('zones/' . $zoneID . '/dns_records/' . $recordID); $user = $this->adapter->delete('zones/' . $zoneID . '/dns_records/' . $recordID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }

View File

@@ -9,12 +9,9 @@
namespace Cloudflare\API\Endpoints; namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class IPs implements API class IPs implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -24,9 +21,9 @@ class IPs implements API
public function listIPs(): \stdClass public function listIPs(): \stdClass
{ {
$ips = $this->adapter->get('ips'); $ips = $this->adapter->get('ips', [], []);
$this->body = json_decode($ips->getBody()); $body = json_decode($ips->getBody());
return $this->body->result; return $body->result;
} }
} }

View File

@@ -11,12 +11,9 @@ namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Configurations\PageRulesActions; use Cloudflare\API\Configurations\PageRulesActions;
use Cloudflare\API\Configurations\PageRulesTargets; use Cloudflare\API\Configurations\PageRulesTargets;
use Cloudflare\API\Traits\BodyAccessorTrait;
class PageRules implements API class PageRules implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -55,11 +52,11 @@ class PageRules implements API
} }
$query = $this->adapter->post('zones/' . $zoneID . '/pagerules', $options); $query = $this->adapter->post('zones/' . $zoneID . '/pagerules', [], $options);
$this->body = json_decode($query->getBody()); $body = json_decode($query->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
@@ -96,17 +93,17 @@ class PageRules implements API
'match' => $match 'match' => $match
]; ];
$user = $this->adapter->get('zones/' . $zoneID . '/pagerules', $query); $user = $this->adapter->get('zones/' . $zoneID . '/pagerules', $query, []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function getPageRuleDetails(string $zoneID, string $ruleID): \stdClass public function getPageRuleDetails(string $zoneID, string $ruleID): \stdClass
{ {
$user = $this->adapter->get('zones/' . $zoneID . '/pagerules/' . $ruleID); $user = $this->adapter->get('zones/' . $zoneID . '/pagerules/' . $ruleID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function updatePageRule( public function updatePageRule(
@@ -135,11 +132,11 @@ class PageRules implements API
} }
$query = $this->adapter->patch('zones/' . $zoneID . '/pagerules', $options); $query = $this->adapter->patch('zones/' . $zoneID . '/pagerules', [], $options);
$this->body = json_decode($query->getBody()); $body = json_decode($query->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
@@ -148,11 +145,11 @@ class PageRules implements API
public function deletePageRule(string $zoneID, string $ruleID): bool public function deletePageRule(string $zoneID, string $ruleID): bool
{ {
$user = $this->adapter->delete('zones/' . $zoneID . '/pagerules/' . $ruleID); $user = $this->adapter->delete('zones/' . $zoneID . '/pagerules/' . $ruleID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }

View File

@@ -9,12 +9,9 @@
namespace Cloudflare\API\Endpoints; namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class Railgun implements API class Railgun implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -29,10 +26,10 @@ class Railgun implements API
'name' => $name, 'name' => $name,
]; ];
$user = $this->adapter->post('railguns', $query); $user = $this->adapter->post('railguns', [], $query);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body; return $body;
} }
public function list( public function list(
@@ -49,28 +46,28 @@ class Railgun implements API
$query['direction'] = $direction; $query['direction'] = $direction;
} }
$user = $this->adapter->get('railguns', $query); $user = $this->adapter->get('railguns', $query, []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
public function get( public function get(
string $railgunID string $railgunID
): \stdClass { ): \stdClass {
$user = $this->adapter->get('railguns/' . $railgunID); $user = $this->adapter->get('railguns/' . $railgunID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function getZones( public function getZones(
string $railgunID string $railgunID
): \stdClass { ): \stdClass {
$user = $this->adapter->get('railguns/' . $railgunID . '/zones'); $user = $this->adapter->get('railguns/' . $railgunID . '/zones', [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
public function update( public function update(
@@ -81,19 +78,19 @@ class Railgun implements API
'enabled' => $status 'enabled' => $status
]; ];
$user = $this->adapter->patch('railguns/' . $railgunID, $query); $user = $this->adapter->patch('railguns/' . $railgunID, [], $query);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function delete( public function delete(
string $railgunID string $railgunID
): bool { ): bool {
$user = $this->adapter->delete('railguns/' . $railgunID); $user = $this->adapter->delete('railguns/' . $railgunID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }

View File

@@ -1,70 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: Jurgen Coetsiers
* Date: 21/10/2018
* Time: 09:10
*/
namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter;
class TLS implements API
{
private $adapter;
public function __construct(Adapter $adapter)
{
$this->adapter = $adapter;
}
public function enableTLS13($zoneID)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/tls_1_3',
['value' => 'on']
);
$body = json_decode($return->getBody());
if ($body->success) {
return true;
}
return false;
}
public function disableTLS13($zoneID)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/tls_1_3',
['value' => 'off']
);
$body = json_decode($return->getBody());
if ($body->success) {
return true;
}
return false;
}
public function changeMinimumTLSVersion($zoneID, $minimumVersion)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/min_tls_version',
[
'value' => $minimumVersion
]
);
$body = json_decode($return->getBody());
if ($body->success) {
return true;
}
return false;
}
}

View File

@@ -10,12 +10,9 @@ namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Configurations\Configurations; use Cloudflare\API\Configurations\Configurations;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class UARules implements API class UARules implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -33,10 +30,10 @@ class UARules implements API
'per_page' => $perPage 'per_page' => $perPage
]; ];
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/ua_rules', $query); $user = $this->adapter->get('zones/' . $zoneID . '/firewall/ua_rules', $query, []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
public function createRule( public function createRule(
@@ -59,11 +56,11 @@ class UARules implements API
$options['description'] = $description; $options['description'] = $description;
} }
$user = $this->adapter->post('zones/' . $zoneID . '/firewall/ua_rules', $options); $user = $this->adapter->post('zones/' . $zoneID . '/firewall/ua_rules', [], $options);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
@@ -72,9 +69,9 @@ class UARules implements API
public function getRuleDetails(string $zoneID, string $blockID): \stdClass public function getRuleDetails(string $zoneID, string $blockID): \stdClass
{ {
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/ua_rules/' . $blockID); $user = $this->adapter->get('zones/' . $zoneID . '/firewall/ua_rules/' . $blockID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function updateRule( public function updateRule(
@@ -94,11 +91,11 @@ class UARules implements API
$options['description'] = $description; $options['description'] = $description;
} }
$user = $this->adapter->put('zones/' . $zoneID . '/firewall/ua_rules/' . $ruleID, $options); $user = $this->adapter->put('zones/' . $zoneID . '/firewall/ua_rules/' . $ruleID, [], $options);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
@@ -107,11 +104,11 @@ class UARules implements API
public function deleteRule(string $zoneID, string $ruleID): bool public function deleteRule(string $zoneID, string $ruleID): bool
{ {
$user = $this->adapter->delete('zones/' . $zoneID . '/firewall/ua_rules/' . $ruleID); $user = $this->adapter->delete('zones/' . $zoneID . '/firewall/ua_rules/' . $ruleID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }

View File

@@ -8,12 +8,9 @@
namespace Cloudflare\API\Endpoints; namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class User implements API class User implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -23,9 +20,9 @@ class User implements API
public function getUserDetails(): \stdClass public function getUserDetails(): \stdClass
{ {
$user = $this->adapter->get('user'); $user = $this->adapter->get('user', [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function getUserID(): string public function getUserID(): string
@@ -40,8 +37,7 @@ class User implements API
public function updateUserDetails(array $details): \stdClass public function updateUserDetails(array $details): \stdClass
{ {
$response = $this->adapter->patch('user', $details); $response = $this->adapter->patch('user', [], $details);
$this->body = json_decode($response->getBody()); return json_decode($response->getBody());
return $this->body;
} }
} }

View File

@@ -9,12 +9,9 @@
namespace Cloudflare\API\Endpoints; namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class WAF implements API class WAF implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -44,10 +41,10 @@ class WAF implements API
$query['direction'] = $direction; $query['direction'] = $direction;
} }
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages', $query); $user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages', $query, []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
@@ -55,10 +52,10 @@ class WAF implements API
string $zoneID, string $zoneID,
string $packageID string $packageID
): \stdClass { ): \stdClass {
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID); $user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function getRules( public function getRules(
@@ -83,10 +80,10 @@ class WAF implements API
if (!empty($direction)) { if (!empty($direction)) {
$query['direction'] = $direction; $query['direction'] = $direction;
} }
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/rules', $query); $user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/rules', $query, []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
public function getRuleInfo( public function getRuleInfo(
@@ -94,10 +91,14 @@ class WAF implements API
string $packageID, string $packageID,
string $ruleID string $ruleID
): \stdClass { ): \stdClass {
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/rules/' . $ruleID); $user = $this->adapter->get(
$this->body = json_decode($user->getBody()); 'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/rules/' . $ruleID,
[],
[]
);
$body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function updateRule( public function updateRule(
@@ -112,11 +113,12 @@ class WAF implements API
$user = $this->adapter->patch( $user = $this->adapter->patch(
'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/rules/' . $ruleID, 'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/rules/' . $ruleID,
[],
$query $query
); );
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function getGroups( public function getGroups(
@@ -144,11 +146,12 @@ class WAF implements API
$user = $this->adapter->get( $user = $this->adapter->get(
'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/groups', 'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/groups',
$query $query,
[]
); );
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
public function getGroupInfo( public function getGroupInfo(
@@ -156,10 +159,14 @@ class WAF implements API
string $packageID, string $packageID,
string $groupID string $groupID
): \stdClass { ): \stdClass {
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/groups/' . $groupID); $user = $this->adapter->get(
$this->body = json_decode($user->getBody()); 'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/groups/' . $groupID,
[],
[]
);
$body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function updateGroup( public function updateGroup(
@@ -174,10 +181,11 @@ class WAF implements API
$user = $this->adapter->patch( $user = $this->adapter->patch(
'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/groups/' . $groupID, 'zones/' . $zoneID . '/firewall/waf/packages/' . $packageID . '/groups/' . $groupID,
[],
$query $query
); );
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
} }

View File

@@ -9,12 +9,9 @@
namespace Cloudflare\API\Endpoints; namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class ZoneLockdown implements API class ZoneLockdown implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -32,10 +29,10 @@ class ZoneLockdown implements API
'per_page' => $perPage 'per_page' => $perPage
]; ];
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/lockdowns', $query); $user = $this->adapter->get('zones/' . $zoneID . '/firewall/lockdowns', $query, []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
public function createLockdown( public function createLockdown(
@@ -58,11 +55,11 @@ class ZoneLockdown implements API
$options['description'] = $description; $options['description'] = $description;
} }
$user = $this->adapter->post('zones/' . $zoneID . '/firewall/lockdowns', $options); $user = $this->adapter->post('zones/' . $zoneID . '/firewall/lockdowns', [], $options);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
@@ -71,9 +68,9 @@ class ZoneLockdown implements API
public function getLockdownDetails(string $zoneID, string $lockdownID): \stdClass public function getLockdownDetails(string $zoneID, string $lockdownID): \stdClass
{ {
$user = $this->adapter->get('zones/' . $zoneID . '/firewall/lockdowns/' . $lockdownID); $user = $this->adapter->get('zones/' . $zoneID . '/firewall/lockdowns/' . $lockdownID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function updateLockdown( public function updateLockdown(
@@ -93,11 +90,11 @@ class ZoneLockdown implements API
$options['description'] = $description; $options['description'] = $description;
} }
$user = $this->adapter->put('zones/' . $zoneID . '/firewall/lockdowns/' . $lockdownID, $options); $user = $this->adapter->put('zones/' . $zoneID . '/firewall/lockdowns/' . $lockdownID, [], $options);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
@@ -106,11 +103,11 @@ class ZoneLockdown implements API
public function deleteLockdown(string $zoneID, string $lockdownID): bool public function deleteLockdown(string $zoneID, string $lockdownID): bool
{ {
$user = $this->adapter->delete('zones/' . $zoneID . '/firewall/lockdowns/' . $lockdownID); $user = $this->adapter->delete('zones/' . $zoneID . '/firewall/lockdowns/' . $lockdownID, [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }

View File

@@ -9,12 +9,9 @@
namespace Cloudflare\API\Endpoints; namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter; use Cloudflare\API\Adapter\Adapter;
use Cloudflare\API\Traits\BodyAccessorTrait;
class Zones implements API class Zones implements API
{ {
use BodyAccessorTrait;
private $adapter; private $adapter;
public function __construct(Adapter $adapter) public function __construct(Adapter $adapter)
@@ -38,20 +35,20 @@ class Zones implements API
]; ];
if (!empty($organizationID)) { if (!empty($organizationID)) {
$options['organization'] = ['id' => $organizationID]; $options['organization'] = (object)['id' => $organizationID];
} }
$user = $this->adapter->post('zones', $options); $user = $this->adapter->post('zones', [], $options);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return $this->body->result; return $body->result;
} }
public function activationCheck(string $zoneID): bool public function activationCheck(string $zoneID): bool
{ {
$user = $this->adapter->put('zones/' . $zoneID . '/activation_check'); $user = $this->adapter->put('zones/' . $zoneID . '/activation_check', [], []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
@@ -89,10 +86,10 @@ class Zones implements API
$query['direction'] = $direction; $query['direction'] = $direction;
} }
$user = $this->adapter->get('zones', $query); $user = $this->adapter->get('zones', $query, []);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info]; return (object)['result' => $body->result, 'result_info' => $body->result_info];
} }
public function getZoneID(string $name = ''): string public function getZoneID(string $name = ''): string
@@ -117,11 +114,9 @@ class Zones implements API
*/ */
public function getAnalyticsDashboard(string $zoneID, string $since = '-10080', string $until = '0', bool $continuous = true): \stdClass public function getAnalyticsDashboard(string $zoneID, string $since = '-10080', string $until = '0', bool $continuous = true): \stdClass
{ {
$response = $this->adapter->get('zones/' . $zoneID . '/analytics/dashboard', ['since' => $since, 'until' => $until, 'continuous' => var_export($continuous, true)]); $response = $this->adapter->get('zones/' . $zoneID . '/analytics/dashboard', ['since' => $since, 'until' => $until, 'continuous' => var_export($continuous, true)], []);
$this->body = $response->getBody(); return json_decode($response->getBody())->result;
return json_decode($this->body)->result;
} }
/** /**
@@ -133,11 +128,11 @@ class Zones implements API
*/ */
public function changeDevelopmentMode(string $zoneID, bool $enable = false): bool public function changeDevelopmentMode(string $zoneID, bool $enable = false): bool
{ {
$response = $this->adapter->patch('zones/' . $zoneID . '/settings/development_mode', ['value' => $enable ? 'on' : 'off']); $response = $this->adapter->patch('zones/' . $zoneID . '/settings/development_mode', [], ['value' => $enable ? 'on' : 'off']);
$this->body = json_decode($response->getBody()); $body = json_decode($response->getBody());
if ($this->body->success) { if ($body->success) {
return true; return true;
} }
@@ -152,41 +147,33 @@ class Zones implements API
*/ */
public function cachePurgeEverything(string $zoneID): bool public function cachePurgeEverything(string $zoneID): bool
{ {
$user = $this->adapter->delete('zones/' . $zoneID . '/purge_cache', ['purge_everything' => true]); $user = $this->adapter->delete('zones/' . $zoneID . '/purge_cache', [], ['purge_everything' => true]);
$this->body = json_decode($user->getBody()); $body = json_decode($user->getBody());
if (isset($this->body->result->id)) { if (isset($body->result->id)) {
return true; return true;
} }
return false; return false;
} }
public function cachePurge(string $zoneID, array $files = null, array $tags = null, array $hosts = null): bool public function cachePurge(string $zoneID, array $files = null, array $tags = null): bool
{ {
if ($files === null && $tags === null && $hosts === null) { if ($files === null && $tags === null) {
throw new EndpointException('No files, tags or hosts to purge.'); throw new EndpointException('No files or tags to purge.');
} }
$options = []; $options = [
if (!is_null($files)) { 'files' => $files,
$options['files'] = $files; 'tags' => $tags
} ];
if (!is_null($tags)) { $user = $this->adapter->delete('zones/' . $zoneID . '/purge_cache', [], $options);
$options['tags'] = $tags;
}
if (!is_null($hosts)) { $body = json_decode($user->getBody());
$options['hosts'] = $hosts;
}
$user = $this->adapter->delete('zones/' . $zoneID . '/purge_cache', $options); if (isset($body->result->id)) {
$this->body = json_decode($user->getBody());
if (isset($this->body->result->id)) {
return true; return true;
} }

View File

@@ -1,13 +0,0 @@
<?php
namespace Cloudflare\API\Traits;
trait BodyAccessorTrait
{
private $body;
public function getBody()
{
return $this->body;
}
}

View File

@@ -41,7 +41,7 @@ class GuzzleTest extends TestCase
public function testPost() public function testPost()
{ {
$response = $this->client->post('https://httpbin.org/post', ['X-Post-Test' => 'Testing a POST request.']); $response = $this->client->post('https://httpbin.org/post', [], ['X-Post-Test' => 'Testing a POST request.']);
$headers = $response->getHeaders(); $headers = $response->getHeaders();
$this->assertEquals('application/json', $headers['Content-Type'][0]); $this->assertEquals('application/json', $headers['Content-Type'][0]);
@@ -52,7 +52,7 @@ class GuzzleTest extends TestCase
public function testPut() public function testPut()
{ {
$response = $this->client->put('https://httpbin.org/put', ['X-Put-Test' => 'Testing a PUT request.']); $response = $this->client->put('https://httpbin.org/put', [], ['X-Put-Test' => 'Testing a PUT request.']);
$headers = $response->getHeaders(); $headers = $response->getHeaders();
$this->assertEquals('application/json', $headers['Content-Type'][0]); $this->assertEquals('application/json', $headers['Content-Type'][0]);
@@ -65,6 +65,7 @@ class GuzzleTest extends TestCase
{ {
$response = $this->client->patch( $response = $this->client->patch(
'https://httpbin.org/patch', 'https://httpbin.org/patch',
[],
['X-Patch-Test' => 'Testing a PATCH request.'] ['X-Patch-Test' => 'Testing a PATCH request.']
); );
@@ -79,6 +80,7 @@ class GuzzleTest extends TestCase
{ {
$response = $this->client->delete( $response = $this->client->delete(
'https://httpbin.org/delete', 'https://httpbin.org/delete',
[],
['X-Delete-Test' => 'Testing a DELETE request.'] ['X-Delete-Test' => 'Testing a DELETE request.']
); );

View File

@@ -16,12 +16,12 @@ class ConfigurationsUARulesTest extends TestCase
$array = $configuration->getArray(); $array = $configuration->getArray();
$this->assertCount(1, $array); $this->assertCount(1, $array);
$this->assertArrayHasKey('target', $array[0]); $this->assertObjectHasAttribute('target', $array[0]);
$this->assertEquals('ua', $array[0]['target']); $this->assertEquals('ua', $array[0]->target);
$this->assertArrayHasKey('value', $array[0]); $this->assertObjectHasAttribute('value', $array[0]);
$this->assertEquals( $this->assertEquals(
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4',
$array[0]['value'] $array[0]->value
); );
} }
} }

View File

@@ -16,19 +16,19 @@ class ConfigurationsZoneLockdownTest extends TestCase
$array = $configuration->getArray(); $array = $configuration->getArray();
$this->assertCount(1, $array); $this->assertCount(1, $array);
$this->assertArrayHasKey('target', $array[0]); $this->assertObjectHasAttribute('target', $array[0]);
$this->assertEquals('ip', $array[0]['target']); $this->assertEquals('ip', $array[0]->target);
$this->assertArrayHasKey('value', $array[0]); $this->assertObjectHasAttribute('value', $array[0]);
$this->assertEquals('1.2.3.4', $array[0]['value']); $this->assertEquals('1.2.3.4', $array[0]->value);
$configuration->addIPRange('1.2.3.4/24'); $configuration->addIPRange('1.2.3.4/24');
$array = $configuration->getArray(); $array = $configuration->getArray();
$this->assertCount(2, $array); $this->assertCount(2, $array);
$this->assertArrayHasKey('target', $array[1]); $this->assertObjectHasAttribute('target', $array[1]);
$this->assertEquals('ip_range', $array[1]['target']); $this->assertEquals('ip_range', $array[1]->target);
$this->assertArrayHasKey('value', $array[1]); $this->assertObjectHasAttribute('value', $array[1]);
$this->assertEquals('1.2.3.4/24', $array[1]['value']); $this->assertEquals('1.2.3.4/24', $array[1]->value);
} }
} }

View File

@@ -1,21 +0,0 @@
<?php
use Cloudflare\API\Configurations\PageRulesActions;
class PageRulesActionTest extends TestCase
{
public function testForwardingURLConfigurationIsApplied()
{
$identifier = 'forwarding_url';
$statusCode = 301;
$forwardingURL = 'https://www.example.org/';
$actions = new PageRulesActions();
$actions->setForwardingURL($statusCode, $forwardingURL);
$configuration = $actions->getArray();
$this->assertCount(1, $configuration);
$this->assertEquals($identifier, $configuration[0]['id']);
$this->assertEquals($statusCode, $configuration[0]['value']['status_code']);
$this->assertEquals($forwardingURL, $configuration[0]['value']['url']);
}
}

View File

@@ -16,7 +16,7 @@ class PageRulesTargetTest extends TestCase
$array = $targets->getArray(); $array = $targets->getArray();
$this->assertCount(1, $array); $this->assertCount(1, $array);
$this->assertEquals('junade.com/*', $array[0]['constraint']['value']); $this->assertEquals('junade.com/*', $array[0]->constraint->value);
$this->assertEquals('matches', $array[0]['constraint']['operator']); $this->assertEquals('matches', $array[0]->constraint->operator);
} }
} }

View File

@@ -17,7 +17,8 @@ class AccessRulesTest extends TestCase
'page' => 1, 'page' => 1,
'per_page' => 50, 'per_page' => 50,
'match' => 'all' 'match' => 'all'
]) ]),
$this->equalTo([])
); );
$zones = new \Cloudflare\API\Endpoints\AccessRules($mock); $zones = new \Cloudflare\API\Endpoints\AccessRules($mock);
@@ -28,7 +29,6 @@ class AccessRulesTest extends TestCase
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $result->result[0]->id); $this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page); $this->assertEquals(1, $result->result_info->page);
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $zones->getBody()->result[0]->id);
} }
public function testCreateRule() public function testCreateRule()
@@ -45,9 +45,10 @@ class AccessRulesTest extends TestCase
->method('post') ->method('post')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/access_rules/rules'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/access_rules/rules'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'mode' => 'challenge', 'mode' => 'challenge',
'configuration' => $config->getArray(), 'configuration' => (object) $config->getArray(),
'notes' => 'This rule is on because of an event that occured on date X', 'notes' => 'This rule is on because of an event that occured on date X',
]) ])
); );
@@ -59,7 +60,6 @@ class AccessRulesTest extends TestCase
$config, $config,
'This rule is on because of an event that occured on date X' 'This rule is on because of an event that occured on date X'
); );
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $rules->getBody()->result->id);
} }
public function testUpdateRule() public function testUpdateRule()
@@ -73,6 +73,7 @@ class AccessRulesTest extends TestCase
->method('patch') ->method('patch')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/access_rules/rules/92f17202ed8bd63d69a66b86a49a8f6b'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/access_rules/rules/92f17202ed8bd63d69a66b86a49a8f6b'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'mode' => 'challenge', 'mode' => 'challenge',
'notes' => 'This rule is on because of an event that occured on date X', 'notes' => 'This rule is on because of an event that occured on date X',
@@ -86,7 +87,6 @@ class AccessRulesTest extends TestCase
'challenge', 'challenge',
'This rule is on because of an event that occured on date X' 'This rule is on because of an event that occured on date X'
); );
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $rules->getBody()->result->id);
} }
public function testDeleteRule() public function testDeleteRule()
@@ -100,6 +100,7 @@ class AccessRulesTest extends TestCase
->method('delete') ->method('delete')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/access_rules/rules/92f17202ed8bd63d69a66b86a49a8f6b'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/access_rules/rules/92f17202ed8bd63d69a66b86a49a8f6b'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'cascade' => 'none' 'cascade' => 'none'
]) ])
@@ -107,6 +108,5 @@ class AccessRulesTest extends TestCase
$rules = new \Cloudflare\API\Endpoints\AccessRules($mock); $rules = new \Cloudflare\API\Endpoints\AccessRules($mock);
$rules->deleteRule('023e105f4ecef8ad9ca31a8372d0c353', '92f17202ed8bd63d69a66b86a49a8f6b'); $rules->deleteRule('023e105f4ecef8ad9ca31a8372d0c353', '92f17202ed8bd63d69a66b86a49a8f6b');
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $rules->getBody()->result->id);
} }
} }

View File

@@ -1,138 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: junade
* Date: 18/03/2018
* Time: 22:23
*/
use Cloudflare\API\Endpoints\CustomHostnames;
class CustomHostnamesTest extends TestCase
{
public function testAddHostname()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/createCustomHostname.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('post')->willReturn($response);
$mock->expects($this->once())
->method('post')
->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/custom_hostnames'),
$this->equalTo([
'hostname' => 'app.example.com',
'ssl' => [
'method' => 'http',
'type' => 'dv'
]
])
);
$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()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listHostnames.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('get')->willReturn($response);
$mock->expects($this->once())
->method('get')
->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/custom_hostnames'),
$this->equalTo([
'hostname' => 'app.example.com',
'id' => '0d89c70d-ad9f-4843-b99f-6cc0252067e9',
'page' => 1,
'per_page' => 20,
'order' => 'ssl',
'direction' => 'desc',
'ssl' => 0
])
);
$zones = new \Cloudflare\API\Endpoints\CustomHostnames($mock);
$result = $zones->listHostnames('023e105f4ecef8ad9ca31a8372d0c353', 'app.example.com', '0d89c70d-ad9f-4843-b99f-6cc0252067e9', 1, 20, 'ssl', 'desc', 0);
$this->assertObjectHasAttribute('result', $result);
$this->assertObjectHasAttribute('result_info', $result);
$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()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getHostname.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('get')->willReturn($response);
$mock->expects($this->once())
->method('get')
->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/custom_hostnames/0d89c70d-ad9f-4843-b99f-6cc0252067e9')
);
$zones = new \Cloudflare\API\Endpoints\CustomHostnames($mock);
$result = $zones->getHostname('023e105f4ecef8ad9ca31a8372d0c353', '0d89c70d-ad9f-4843-b99f-6cc0252067e9', '0d89c70d-ad9f-4843-b99f-6cc0252067e9');
$this->assertObjectHasAttribute('id', $result);
$this->assertObjectHasAttribute('hostname', $result);
$this->assertEquals('0d89c70d-ad9f-4843-b99f-6cc0252067e9', $zones->getBody()->result->id);
}
public function testUpdateHostname()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateHostname.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('patch')->willReturn($response);
$mock->expects($this->once())
->method('patch')
->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/custom_hostnames/0d89c70d-ad9f-4843-b99f-6cc0252067e9'),
$this->equalTo([
'ssl' => [
'method' => 'http',
'type' => 'dv'
]
])
);
$zones = new \Cloudflare\API\Endpoints\CustomHostnames($mock);
$result = $zones->updateHostname('023e105f4ecef8ad9ca31a8372d0c353', '0d89c70d-ad9f-4843-b99f-6cc0252067e9', 'http', 'dv');
$this->assertObjectHasAttribute('id', $result);
$this->assertObjectHasAttribute('hostname', $result);
$this->assertEquals('0d89c70d-ad9f-4843-b99f-6cc0252067e9', $zones->getBody()->result->id);
}
public function testDeleteHostname()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/deleteHostname.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('delete')->willReturn($response);
$mock->expects($this->once())
->method('delete')
->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/custom_hostnames/0d89c70d-ad9f-4843-b99f-6cc0252067e9')
);
$zones = new \Cloudflare\API\Endpoints\CustomHostnames($mock);
$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

@@ -19,6 +19,7 @@ class DNSTest extends TestCase
->method('post') ->method('post')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'type' => 'A', 'type' => 'A',
'name' => 'example.com', 'name' => 'example.com',
@@ -51,8 +52,8 @@ class DNSTest extends TestCase
'name' => 'example.com', 'name' => 'example.com',
'content' => '127.0.0.1', 'content' => '127.0.0.1',
'order' => 'type', 'order' => 'type',
'direction' => 'desc', 'direction' => 'desc']),
]) $this->equalTo([])
); );
$zones = new \Cloudflare\API\Endpoints\DNS($mock); $zones = new \Cloudflare\API\Endpoints\DNS($mock);
@@ -63,7 +64,6 @@ class DNSTest extends TestCase
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id); $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page); $this->assertEquals(1, $result->result_info->page);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zones->getBody()->result[0]->id);
} }
public function testGetDNSRecordDetails() public function testGetDNSRecordDetails()
@@ -76,14 +76,14 @@ class DNSTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59'),
$this->equalTo([])
); );
$dns = new \Cloudflare\API\Endpoints\DNS($mock); $dns = new \Cloudflare\API\Endpoints\DNS($mock);
$result = $dns->getRecordDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59'); $result = $dns->getRecordDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id); $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $dns->getBody()->result->id);
} }
public function testUpdateDNSRecord() public function testUpdateDNSRecord()
@@ -105,6 +105,7 @@ class DNSTest extends TestCase
->method('put') ->method('put')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59'),
$this->equalTo([]),
$this->equalTo($details) $this->equalTo($details)
); );
@@ -112,7 +113,6 @@ class DNSTest extends TestCase
$result = $dns->updateRecordDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59', $details); $result = $dns->updateRecordDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59', $details);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result->id); $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result->id);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $dns->getBody()->result->id);
foreach ($details as $property => $value) { foreach ($details as $property => $value) {
$this->assertEquals($result->result->{ $property }, $value); $this->assertEquals($result->result->{ $property }, $value);

View File

@@ -18,14 +18,13 @@ class IPsTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('ips') $this->equalTo('ips'),
$this->equalTo([])
); );
$ipsMock = new \Cloudflare\API\Endpoints\IPs($mock); $ips = new \Cloudflare\API\Endpoints\IPs($mock);
$ips = $ipsMock->listIPs(); $ips = $ips->listIPs();
$this->assertObjectHasAttribute('ipv4_cidrs', $ips); $this->assertObjectHasAttribute('ipv4_cidrs', $ips);
$this->assertObjectHasAttribute('ipv6_cidrs', $ips); $this->assertObjectHasAttribute('ipv6_cidrs', $ips);
$this->assertObjectHasAttribute('ipv4_cidrs', $ipsMock->getBody()->result);
$this->assertObjectHasAttribute('ipv6_cidrs', $ipsMock->getBody()->result);
} }
} }

View File

@@ -23,6 +23,7 @@ class PageRulesTest extends TestCase
->method('post') ->method('post')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/pagerules'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/pagerules'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'targets' => $target->getArray(), 'targets' => $target->getArray(),
'actions' => $action->getArray(), 'actions' => $action->getArray(),
@@ -35,7 +36,6 @@ class PageRulesTest extends TestCase
$result = $pageRules->createPageRule('023e105f4ecef8ad9ca31a8372d0c353', $target, $action, true, 1); $result = $pageRules->createPageRule('023e105f4ecef8ad9ca31a8372d0c353', $target, $action, true, 1);
$this->assertTrue($result); $this->assertTrue($result);
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id);
} }
public function testListPageRules() public function testListPageRules()
@@ -54,12 +54,12 @@ class PageRulesTest extends TestCase
'order' => 'status', 'order' => 'status',
'direction' => 'desc', 'direction' => 'desc',
'match' => 'all' 'match' => 'all'
]) ]),
$this->equalTo([])
); );
$pageRules = new \Cloudflare\API\Endpoints\PageRules($mock); $pageRules = new \Cloudflare\API\Endpoints\PageRules($mock);
$pageRules->listPageRules('023e105f4ecef8ad9ca31a8372d0c353', 'active', 'status', 'desc', 'all'); $pageRules->listPageRules('023e105f4ecef8ad9ca31a8372d0c353', 'active', 'status', 'desc', 'all');
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result[0]->id);
} }
public function testGetPageRuleDetails() public function testGetPageRuleDetails()
@@ -72,12 +72,12 @@ class PageRulesTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/pagerules/9a7806061c88ada191ed06f989cc3dac') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/pagerules/9a7806061c88ada191ed06f989cc3dac'),
$this->equalTo([])
); );
$pageRules = new \Cloudflare\API\Endpoints\PageRules($mock); $pageRules = new \Cloudflare\API\Endpoints\PageRules($mock);
$pageRules->getPageRuleDetails('023e105f4ecef8ad9ca31a8372d0c353', '9a7806061c88ada191ed06f989cc3dac'); $pageRules->getPageRuleDetails('023e105f4ecef8ad9ca31a8372d0c353', '9a7806061c88ada191ed06f989cc3dac');
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id);
} }
public function testUpdatePageRule() public function testUpdatePageRule()
@@ -95,6 +95,7 @@ class PageRulesTest extends TestCase
->method('patch') ->method('patch')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/pagerules'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/pagerules'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'targets' => $target->getArray(), 'targets' => $target->getArray(),
'actions' => $action->getArray(), 'actions' => $action->getArray(),
@@ -107,7 +108,6 @@ class PageRulesTest extends TestCase
$result = $pageRules->updatePageRule('023e105f4ecef8ad9ca31a8372d0c353', $target, $action, true, 1); $result = $pageRules->updatePageRule('023e105f4ecef8ad9ca31a8372d0c353', $target, $action, true, 1);
$this->assertTrue($result); $this->assertTrue($result);
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id);
} }
public function testDeletePageRule() public function testDeletePageRule()
@@ -120,13 +120,14 @@ class PageRulesTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('delete') ->method('delete')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/pagerules/9a7806061c88ada191ed06f989cc3dac') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/pagerules/9a7806061c88ada191ed06f989cc3dac'),
$this->equalTo([]),
$this->equalTo([])
); );
$pageRules = new \Cloudflare\API\Endpoints\PageRules($mock); $pageRules = new \Cloudflare\API\Endpoints\PageRules($mock);
$result = $pageRules->deletePageRule('023e105f4ecef8ad9ca31a8372d0c353', '9a7806061c88ada191ed06f989cc3dac'); $result = $pageRules->deletePageRule('023e105f4ecef8ad9ca31a8372d0c353', '9a7806061c88ada191ed06f989cc3dac');
$this->assertTrue($result); $this->assertTrue($result);
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id);
} }
} }

View File

@@ -23,6 +23,7 @@ class RailgunTest extends TestCase
->method('post') ->method('post')
->with( ->with(
$this->equalTo('railguns'), $this->equalTo('railguns'),
$this->equalTo([]),
$this->equalTo(['name' => $details['name']]) $this->equalTo(['name' => $details['name']])
); );
@@ -34,7 +35,6 @@ class RailgunTest extends TestCase
foreach ($details as $property => $value) { foreach ($details as $property => $value) {
$this->assertEquals($result->result->{ $property }, $value); $this->assertEquals($result->result->{ $property }, $value);
} }
$this->assertEquals('e928d310693a83094309acf9ead50448', $railgun->getBody()->result->id);
} }
public function testlist() public function testlist()
@@ -52,7 +52,8 @@ class RailgunTest extends TestCase
'page' => 1, 'page' => 1,
'per_page' => 20, 'per_page' => 20,
'direction' => 'desc' 'direction' => 'desc'
]) ]),
$this->equalTo([])
); );
$railgun = new \Cloudflare\API\Endpoints\Railgun($mock); $railgun = new \Cloudflare\API\Endpoints\Railgun($mock);
@@ -60,7 +61,6 @@ class RailgunTest extends TestCase
$this->assertObjectHasAttribute('result', $result); $this->assertObjectHasAttribute('result', $result);
$this->assertObjectHasAttribute('result_info', $result); $this->assertObjectHasAttribute('result_info', $result);
$this->assertEquals('e928d310693a83094309acf9ead50448', $railgun->getBody()->result[0]->id);
} }
public function testget() public function testget()
@@ -73,14 +73,14 @@ class RailgunTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('railguns/e928d310693a83094309acf9ead50448') $this->equalTo('railguns/e928d310693a83094309acf9ead50448'),
$this->equalTo([])
); );
$railgun = new \Cloudflare\API\Endpoints\Railgun($mock); $railgun = new \Cloudflare\API\Endpoints\Railgun($mock);
$result = $railgun->get('e928d310693a83094309acf9ead50448'); $result = $railgun->get('e928d310693a83094309acf9ead50448');
$this->assertEquals('e928d310693a83094309acf9ead50448', $result->id); $this->assertEquals('e928d310693a83094309acf9ead50448', $result->id);
$this->assertEquals('e928d310693a83094309acf9ead50448', $railgun->getBody()->result->id);
} }
public function testgetZones() public function testgetZones()
@@ -93,7 +93,9 @@ class RailgunTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('railguns/e928d310693a83094309acf9ead50448/zones') $this->equalTo('railguns/e928d310693a83094309acf9ead50448/zones'),
$this->equalTo([]),
$this->equalTo([])
); );
$railgun = new \Cloudflare\API\Endpoints\Railgun($mock); $railgun = new \Cloudflare\API\Endpoints\Railgun($mock);
@@ -101,7 +103,6 @@ class RailgunTest extends TestCase
$this->assertObjectHasAttribute('result', $result); $this->assertObjectHasAttribute('result', $result);
$this->assertObjectHasAttribute('result_info', $result); $this->assertObjectHasAttribute('result_info', $result);
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $railgun->getBody()->result[0]->id);
} }
public function testupdate() public function testupdate()
@@ -119,6 +120,7 @@ class RailgunTest extends TestCase
->method('patch') ->method('patch')
->with( ->with(
$this->equalTo('railguns/e928d310693a83094309acf9ead50448'), $this->equalTo('railguns/e928d310693a83094309acf9ead50448'),
$this->equalTo([]),
$this->equalTo($details) $this->equalTo($details)
); );
@@ -126,7 +128,6 @@ class RailgunTest extends TestCase
$result = $waf->update('e928d310693a83094309acf9ead50448', true); $result = $waf->update('e928d310693a83094309acf9ead50448', true);
$this->assertEquals('e928d310693a83094309acf9ead50448', $result->id); $this->assertEquals('e928d310693a83094309acf9ead50448', $result->id);
$this->assertEquals('e928d310693a83094309acf9ead50448', $waf->getBody()->result->id);
} }
public function testdelete() public function testdelete()
@@ -139,11 +140,12 @@ class RailgunTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('delete') ->method('delete')
->with( ->with(
$this->equalTo('railguns/e928d310693a83094309acf9ead50448') $this->equalTo('railguns/e928d310693a83094309acf9ead50448'),
$this->equalTo([]),
$this->equalTo([])
); );
$waf = new \Cloudflare\API\Endpoints\Railgun($mock); $waf = new \Cloudflare\API\Endpoints\Railgun($mock);
$waf->delete('e928d310693a83094309acf9ead50448'); $waf->delete('e928d310693a83094309acf9ead50448');
$this->assertEquals('e928d310693a83094309acf9ead50448', $waf->getBody()->result->id);
} }
} }

View File

@@ -1,71 +0,0 @@
<?php
/**
* Created by PhpStorm.
* User: Jurgen Coetsiers
* Date: 21/10/2018
* Time: 09:09
*/
class TLSTest extends TestCase
{
public function testEnableTLS13()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/enableTLS13.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('patch')->willReturn($response);
$mock->expects($this->once())
->method('patch')
->with(
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/settings/tls_1_3'),
$this->equalTo(['value' => 'on'])
);
$zoneTLSSettings = new \Cloudflare\API\Endpoints\TLS($mock);
$result = $zoneTLSSettings->enableTLS13('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', true);
$this->assertTrue($result);
}
public function testDisableTLS13()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/disableTLS13.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('patch')->willReturn($response);
$mock->expects($this->once())
->method('patch')
->with(
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/settings/tls_1_3'),
$this->equalTo(['value' => 'off'])
);
$zoneTLSSettings = new \Cloudflare\API\Endpoints\TLS($mock);
$result = $zoneTLSSettings->disableTLS13('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', true);
$this->assertTrue($result);
}
public function testChangeMinimimTLSVersion()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/changeMinimumTLSVersion.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('patch')->willReturn($response);
$mock->expects($this->once())
->method('patch')
->with(
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/settings/min_tls_version'),
$this->equalTo(['value' => '1.1'])
);
$zoneTLSSettings = new \Cloudflare\API\Endpoints\TLS($mock);
$result = $zoneTLSSettings->changeMinimumTLSVersion('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', '1.1');
$this->assertTrue($result);
}
}

View File

@@ -22,7 +22,8 @@ class UARulesTest extends TestCase
$this->equalTo([ $this->equalTo([
'page' => 1, 'page' => 1,
'per_page' => 20 'per_page' => 20
]) ]),
$this->equalTo([])
); );
$zones = new \Cloudflare\API\Endpoints\UARules($mock); $zones = new \Cloudflare\API\Endpoints\UARules($mock);
@@ -33,7 +34,6 @@ class UARulesTest extends TestCase
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id); $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page); $this->assertEquals(1, $result->result_info->page);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zones->getBody()->result[0]->id);
} }
public function testCreateRule() public function testCreateRule()
@@ -50,6 +50,7 @@ class UARulesTest extends TestCase
->method('post') ->method('post')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/ua_rules'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/ua_rules'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'mode' => 'js_challenge', 'mode' => 'js_challenge',
'id' => '372e67954025e0ba6aaa6d586b9e0b59', 'id' => '372e67954025e0ba6aaa6d586b9e0b59',
@@ -66,7 +67,6 @@ class UARulesTest extends TestCase
'372e67954025e0ba6aaa6d586b9e0b59', '372e67954025e0ba6aaa6d586b9e0b59',
'Prevent access from abusive clients identified by this UserAgent to mitigate DDoS attack' 'Prevent access from abusive clients identified by this UserAgent to mitigate DDoS attack'
); );
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
} }
public function getRuleDetails() public function getRuleDetails()
@@ -79,14 +79,14 @@ class UARulesTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/ua_rules/372e67954025e0ba6aaa6d586b9e0b59') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/ua_rules/372e67954025e0ba6aaa6d586b9e0b59'),
$this->equalTo([])
); );
$lockdown = new \Cloudflare\API\Endpoints\UARules($mock); $lockdown = new \Cloudflare\API\Endpoints\UARules($mock);
$result = $lockdown->getRuleDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59'); $result = $lockdown->getRuleDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id); $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $lockdown->getBody()->result->id);
} }
public function testUpdateRule() public function testUpdateRule()
@@ -103,6 +103,7 @@ class UARulesTest extends TestCase
->method('put') ->method('put')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/ua_rules/372e67954025e0ba6aaa6d586b9e0b59'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/ua_rules/372e67954025e0ba6aaa6d586b9e0b59'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'mode' => 'js_challenge', 'mode' => 'js_challenge',
'id' => '372e67954025e0ba6aaa6d586b9e0b59', 'id' => '372e67954025e0ba6aaa6d586b9e0b59',
@@ -119,7 +120,6 @@ class UARulesTest extends TestCase
$config, $config,
'Restrict access to these endpoints to requests from a known IP address' 'Restrict access to these endpoints to requests from a known IP address'
); );
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
} }
public function testDeleteRule() public function testDeleteRule()
@@ -132,11 +132,12 @@ class UARulesTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('delete') ->method('delete')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/ua_rules/372e67954025e0ba6aaa6d586b9e0b59') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/ua_rules/372e67954025e0ba6aaa6d586b9e0b59'),
$this->equalTo([]),
$this->equalTo([])
); );
$rules = new \Cloudflare\API\Endpoints\UARules($mock); $rules = new \Cloudflare\API\Endpoints\UARules($mock);
$rules->deleteRule('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59'); $rules->deleteRule('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
} }
} }

View File

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

View File

@@ -25,7 +25,8 @@ class WAFTest extends TestCase
'match' => 'all', 'match' => 'all',
'order' => 'status', 'order' => 'status',
'direction' => 'desc' 'direction' => 'desc'
]) ]),
$this->equalTo([])
); );
$waf = new \Cloudflare\API\Endpoints\WAF($mock); $waf = new \Cloudflare\API\Endpoints\WAF($mock);
@@ -36,7 +37,6 @@ class WAFTest extends TestCase
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $result->result[0]->id); $this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page); $this->assertEquals(1, $result->result_info->page);
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $waf->getBody()->result[0]->id);
} }
public function testgetPackageInfo() public function testgetPackageInfo()
@@ -49,14 +49,14 @@ class WAFTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b'),
$this->equalTo([])
); );
$waf = new \Cloudflare\API\Endpoints\WAF($mock); $waf = new \Cloudflare\API\Endpoints\WAF($mock);
$result = $waf->getPackageInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b'); $result = $waf->getPackageInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b');
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $result->id); $this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $result->id);
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $waf->getBody()->result->id);
} }
public function testgetRules() public function testgetRules()
@@ -76,7 +76,8 @@ class WAFTest extends TestCase
'match' => 'all', 'match' => 'all',
'order' => 'status', 'order' => 'status',
'direction' => 'desc' 'direction' => 'desc'
]) ]),
$this->equalTo([])
); );
$waf = new \Cloudflare\API\Endpoints\WAF($mock); $waf = new \Cloudflare\API\Endpoints\WAF($mock);
@@ -87,7 +88,6 @@ class WAFTest extends TestCase
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $result->result[0]->id); $this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page); $this->assertEquals(1, $result->result_info->page);
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $waf->getBody()->result[0]->id);
} }
public function testgetRuleInfo() public function testgetRuleInfo()
@@ -100,14 +100,14 @@ class WAFTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/rules/f939de3be84e66e757adcdcb87908023') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/rules/f939de3be84e66e757adcdcb87908023'),
$this->equalTo([])
); );
$waf = new \Cloudflare\API\Endpoints\WAF($mock); $waf = new \Cloudflare\API\Endpoints\WAF($mock);
$result = $waf->getRuleInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'f939de3be84e66e757adcdcb87908023'); $result = $waf->getRuleInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'f939de3be84e66e757adcdcb87908023');
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $result->id); $this->assertEquals('f939de3be84e66e757adcdcb87908023', $result->id);
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $waf->getBody()->result->id);
} }
public function testupdateRule() public function testupdateRule()
@@ -125,6 +125,7 @@ class WAFTest extends TestCase
->method('patch') ->method('patch')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/rules/f939de3be84e66e757adcdcb87908023'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/rules/f939de3be84e66e757adcdcb87908023'),
$this->equalTo([]),
$this->equalTo($details) $this->equalTo($details)
); );
@@ -136,7 +137,6 @@ class WAFTest extends TestCase
foreach ($details as $property => $value) { foreach ($details as $property => $value) {
$this->assertEquals($result->{ $property }, $value); $this->assertEquals($result->{ $property }, $value);
} }
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $waf->getBody()->result->id);
} }
public function getGroups() public function getGroups()
@@ -156,7 +156,8 @@ class WAFTest extends TestCase
'match' => 'all', 'match' => 'all',
'order' => 'status', 'order' => 'status',
'direction' => 'desc' 'direction' => 'desc'
]) ]),
$this->equalTo([])
); );
$waf = new \Cloudflare\API\Endpoints\WAF($mock); $waf = new \Cloudflare\API\Endpoints\WAF($mock);
@@ -167,7 +168,6 @@ class WAFTest extends TestCase
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $result->result[0]->id); $this->assertEquals('de677e5818985db1285d0e80225f06e5', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page); $this->assertEquals(1, $result->result_info->page);
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $waf->getBody()->result[0]->id);
} }
public function testgetGroupInfo() public function testgetGroupInfo()
@@ -180,14 +180,14 @@ class WAFTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/groups/de677e5818985db1285d0e80225f06e5') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/groups/de677e5818985db1285d0e80225f06e5'),
$this->equalTo([])
); );
$waf = new \Cloudflare\API\Endpoints\WAF($mock); $waf = new \Cloudflare\API\Endpoints\WAF($mock);
$result = $waf->getGroupInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'de677e5818985db1285d0e80225f06e5'); $result = $waf->getGroupInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'de677e5818985db1285d0e80225f06e5');
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $result->id); $this->assertEquals('de677e5818985db1285d0e80225f06e5', $result->id);
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $waf->getBody()->result->id);
} }
public function testupdateGroup() public function testupdateGroup()
@@ -205,6 +205,7 @@ class WAFTest extends TestCase
->method('patch') ->method('patch')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/groups/de677e5818985db1285d0e80225f06e5'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/groups/de677e5818985db1285d0e80225f06e5'),
$this->equalTo([]),
$this->equalTo($details) $this->equalTo($details)
); );
@@ -216,6 +217,5 @@ class WAFTest extends TestCase
foreach ($details as $property => $value) { foreach ($details as $property => $value) {
$this->assertEquals($result->{ $property }, $value); $this->assertEquals($result->{ $property }, $value);
} }
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $waf->getBody()->result->id);
} }
} }

View File

@@ -22,7 +22,8 @@ class ZoneLockdownTest extends TestCase
$this->equalTo([ $this->equalTo([
'page' => 1, 'page' => 1,
'per_page' => 20, 'per_page' => 20,
]) ]),
$this->equalTo([])
); );
$zones = new \Cloudflare\API\Endpoints\ZoneLockdown($mock); $zones = new \Cloudflare\API\Endpoints\ZoneLockdown($mock);
@@ -33,7 +34,6 @@ class ZoneLockdownTest extends TestCase
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id); $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page); $this->assertEquals(1, $result->result_info->page);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zones->getBody()->result[0]->id);
} }
public function testAddLockdown() public function testAddLockdown()
@@ -50,6 +50,7 @@ class ZoneLockdownTest extends TestCase
->method('post') ->method('post')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/lockdowns'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/lockdowns'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'urls' => ['api.mysite.com/some/endpoint*'], 'urls' => ['api.mysite.com/some/endpoint*'],
'id' => '372e67954025e0ba6aaa6d586b9e0b59', 'id' => '372e67954025e0ba6aaa6d586b9e0b59',
@@ -66,7 +67,6 @@ class ZoneLockdownTest extends TestCase
'372e67954025e0ba6aaa6d586b9e0b59', '372e67954025e0ba6aaa6d586b9e0b59',
'Restrict access to these endpoints to requests from a known IP address' 'Restrict access to these endpoints to requests from a known IP address'
); );
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zoneLockdown->getBody()->result->id);
} }
public function testGetRecordDetails() public function testGetRecordDetails()
@@ -79,14 +79,14 @@ class ZoneLockdownTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('get') ->method('get')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/lockdowns/372e67954025e0ba6aaa6d586b9e0b59') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/lockdowns/372e67954025e0ba6aaa6d586b9e0b59'),
$this->equalTo([])
); );
$lockdown = new \Cloudflare\API\Endpoints\ZoneLockdown($mock); $lockdown = new \Cloudflare\API\Endpoints\ZoneLockdown($mock);
$result = $lockdown->getLockdownDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59'); $result = $lockdown->getLockdownDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id); $this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id);
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $lockdown->getBody()->result->id);
} }
public function testUpdateLockdown() public function testUpdateLockdown()
@@ -103,6 +103,7 @@ class ZoneLockdownTest extends TestCase
->method('put') ->method('put')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/lockdowns/372e67954025e0ba6aaa6d586b9e0b59'), $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/lockdowns/372e67954025e0ba6aaa6d586b9e0b59'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'urls' => ['api.mysite.com/some/endpoint*'], 'urls' => ['api.mysite.com/some/endpoint*'],
'id' => '372e67954025e0ba6aaa6d586b9e0b59', 'id' => '372e67954025e0ba6aaa6d586b9e0b59',
@@ -119,7 +120,6 @@ class ZoneLockdownTest extends TestCase
$config, $config,
'Restrict access to these endpoints to requests from a known IP address' 'Restrict access to these endpoints to requests from a known IP address'
); );
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zoneLockdown->getBody()->result->id);
} }
public function testDeleteLockdown() public function testDeleteLockdown()
@@ -135,11 +135,12 @@ class ZoneLockdownTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('delete') ->method('delete')
->with( ->with(
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/lockdowns/372e67954025e0ba6aaa6d586b9e0b59') $this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/lockdowns/372e67954025e0ba6aaa6d586b9e0b59'),
$this->equalTo([]),
$this->equalTo([])
); );
$zoneLockdown = new \Cloudflare\API\Endpoints\ZoneLockdown($mock); $zoneLockdown = new \Cloudflare\API\Endpoints\ZoneLockdown($mock);
$zoneLockdown->deleteLockdown('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59'); $zoneLockdown->deleteLockdown('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zoneLockdown->getBody()->result->id);
} }
} }

View File

@@ -19,6 +19,7 @@ class ZonesTest extends TestCase
->method('post') ->method('post')
->with( ->with(
$this->equalTo('zones'), $this->equalTo('zones'),
$this->equalTo([]),
$this->equalTo(['name' => 'example.com', 'jump_start' => false]) $this->equalTo(['name' => 'example.com', 'jump_start' => false])
); );
@@ -37,16 +38,16 @@ class ZonesTest extends TestCase
->method('post') ->method('post')
->with( ->with(
$this->equalTo('zones'), $this->equalTo('zones'),
$this->equalTo([]),
$this->equalTo([ $this->equalTo([
'name' => 'example.com', 'name' => 'example.com',
'jump_start' => true, 'jump_start' => true,
'organization' => ['id' => '01a7362d577a6c3019a474fd6f485823'] 'organization' => (object)['id' => '01a7362d577a6c3019a474fd6f485823']
]) ])
); );
$zones = new \Cloudflare\API\Endpoints\Zones($mock); $zones = new \Cloudflare\API\Endpoints\Zones($mock);
$zones->addZone('example.com', true, '01a7362d577a6c3019a474fd6f485823'); $zones->addZone('example.com', true, '01a7362d577a6c3019a474fd6f485823');
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $zones->getBody()->result->id);
} }
public function testActivationTest() public function testActivationTest()
@@ -59,14 +60,15 @@ class ZonesTest extends TestCase
$mock->expects($this->once()) $mock->expects($this->once())
->method('put') ->method('put')
->with( ->with(
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/activation_check') $this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/activation_check'),
$this->equalTo([]),
$this->equalTo([])
); );
$zones = new \Cloudflare\API\Endpoints\Zones($mock); $zones = new \Cloudflare\API\Endpoints\Zones($mock);
$result = $zones->activationCheck('c2547eb745079dac9320b638f5e225cf483cc5cfdda41'); $result = $zones->activationCheck('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
$this->assertTrue($result); $this->assertTrue($result);
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result->id);
} }
public function testListZones() public function testListZones()
@@ -87,8 +89,9 @@ class ZonesTest extends TestCase
'name' => 'example.com', 'name' => 'example.com',
'status' => 'active', 'status' => 'active',
'order' => 'status', 'order' => 'status',
'direction' => 'desc', 'direction' => 'desc'
]) ]),
$this->equalTo([])
); );
$zones = new \Cloudflare\API\Endpoints\Zones($mock); $zones = new \Cloudflare\API\Endpoints\Zones($mock);
@@ -99,7 +102,6 @@ class ZonesTest extends TestCase
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $result->result[0]->id); $this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $result->result[0]->id);
$this->assertEquals(1, $result->result_info->page); $this->assertEquals(1, $result->result_info->page);
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result[0]->id);
} }
public function testGetZoneID() public function testGetZoneID()
@@ -118,14 +120,14 @@ class ZonesTest extends TestCase
'per_page' => 20, 'per_page' => 20,
'match' => 'all', 'match' => 'all',
'name' => 'example.com', 'name' => 'example.com',
]) ]),
$this->equalTo([])
); );
$zones = new \Cloudflare\API\Endpoints\Zones($mock); $zones = new \Cloudflare\API\Endpoints\Zones($mock);
$result = $zones->getZoneID('example.com'); $result = $zones->getZoneID('example.com');
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $result); $this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $result);
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result[0]->id);
} }
public function testGetAnalyticsDashboard() public function testGetAnalyticsDashboard()
@@ -139,7 +141,8 @@ class ZonesTest extends TestCase
->method('get') ->method('get')
->with( ->with(
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/analytics/dashboard'), $this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/analytics/dashboard'),
$this->equalTo(['since' => '-10080', 'until' => '0', 'continuous' => var_export(true, true)]) $this->equalTo(['since' => '-10080', 'until' => '0', 'continuous' => var_export(true, true)]),
$this->equalTo([])
); );
$zones = new \Cloudflare\API\Endpoints\Zones($mock); $zones = new \Cloudflare\API\Endpoints\Zones($mock);
@@ -160,6 +163,7 @@ class ZonesTest extends TestCase
->method('patch') ->method('patch')
->with( ->with(
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/settings/development_mode'), $this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/settings/development_mode'),
$this->equalTo([]),
$this->equalTo(['value' => 'on']) $this->equalTo(['value' => 'on'])
); );
@@ -167,7 +171,6 @@ class ZonesTest extends TestCase
$result = $zones->changeDevelopmentMode('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', true); $result = $zones->changeDevelopmentMode('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', true);
$this->assertTrue($result); $this->assertTrue($result);
$this->assertEquals('development_mode', $zones->getBody()->result->id);
} }
public function testCachePurgeEverything() public function testCachePurgeEverything()
@@ -181,6 +184,7 @@ class ZonesTest extends TestCase
->method('delete') ->method('delete')
->with( ->with(
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/purge_cache'), $this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/purge_cache'),
$this->equalTo([]),
$this->equalTo(['purge_everything' => true]) $this->equalTo(['purge_everything' => true])
); );
@@ -188,59 +192,5 @@ class ZonesTest extends TestCase
$result = $zones->cachePurgeEverything('c2547eb745079dac9320b638f5e225cf483cc5cfdda41'); $result = $zones->cachePurgeEverything('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
$this->assertTrue($result); $this->assertTrue($result);
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result->id);
}
public function testCachePurgeHost()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/cachePurgeHost.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('delete')->willReturn($response);
$mock->expects($this->once())
->method('delete')
->with(
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/purge_cache'),
$this->equalTo(
[
'files' => [],
'tags' => [],
'hosts' => ['dash.cloudflare.com']
]
)
);
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
$result = $zones->cachePurge('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', [], [], ['dash.cloudflare.com']);
$this->assertTrue($result);
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result->id);
}
public function testCachePurge()
{
$response = $this->getPsr7JsonResponseForFixture('Endpoints/cachePurge.json');
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
$mock->method('delete')->willReturn($response);
$mock->expects($this->once())
->method('delete')
->with(
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/purge_cache'),
$this->equalTo(['files' => [
'https://example.com/file.jpg',
]
])
);
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
$result = $zones->cachePurge('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', [
'https://example.com/file.jpg',
]);
$this->assertTrue($result);
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result->id);
} }
} }

View File

@@ -1,8 +0,0 @@
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "023e105f4ecef8ad9ca31a8372d0c353"
}
}

View File

@@ -1,8 +0,0 @@
{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "023e105f4ecef8ad9ca31a8372d0c353"
}
}

View File

@@ -1,6 +0,0 @@
{
"success": true,
"errors": [],
"messages": [],
"result": "1.1"
}

View File

@@ -1,20 +0,0 @@
{
"success": true,
"errors": [
{}
],
"messages": [
{}
],
"result": {
"id": "0d89c70d-ad9f-4843-b99f-6cc0252067e9",
"hostname": "app.example.com",
"ssl": {
"status": "pending_validation",
"method": "http",
"type": "dv",
"cname_target": "dcv.digicert.com",
"cname": "810b7d5f01154524b961ba0cd578acc2.app.example.com"
}
}
}

View File

@@ -1,3 +0,0 @@
{
"id": "0d89c70d-ad9f-4843-b99f-6cc0252067e9"
}

View File

@@ -1,6 +0,0 @@
{
"success": true,
"errors": [],
"messages": [],
"result": "off"
}

View File

@@ -1,6 +0,0 @@
{
"success": true,
"errors": [],
"messages": [],
"result": "on"
}

View File

@@ -1,20 +0,0 @@
{
"success": true,
"errors": [
{}
],
"messages": [
{}
],
"result": {
"id": "0d89c70d-ad9f-4843-b99f-6cc0252067e9",
"hostname": "app.example.com",
"ssl": {
"status": "pending_validation",
"method": "http",
"type": "dv",
"cname_target": "dcv.digicert.com",
"cname": "810b7d5f01154524b961ba0cd578acc2.app.example.com"
}
}
}

View File

@@ -1,28 +0,0 @@
{
"success": true,
"errors": [
{}
],
"messages": [
{}
],
"result": [
{
"id": "0d89c70d-ad9f-4843-b99f-6cc0252067e9",
"hostname": "app.example.com",
"ssl": {
"status": "pending_validation",
"method": "http",
"type": "dv",
"cname_target": "dcv.digicert.com",
"cname": "810b7d5f01154524b961ba0cd578acc2.app.example.com"
}
}
],
"result_info": {
"page": 1,
"per_page": 20,
"count": 1,
"total_count": 2000
}
}

View File

@@ -1,20 +0,0 @@
{
"success": true,
"errors": [
{}
],
"messages": [
{}
],
"result": {
"id": "0d89c70d-ad9f-4843-b99f-6cc0252067e9",
"hostname": "app.example.com",
"ssl": {
"status": "pending_validation",
"method": "http",
"type": "dv",
"cname_target": "dcv.digicert.com",
"cname": "810b7d5f01154524b961ba0cd578acc2.app.example.com"
}
}
}

View File

@@ -1,12 +1,11 @@
<?php <?php
use GuzzleHttp\Psr7; use GuzzleHttp\Psr7;
use PHPUnit\Framework\TestCase as BaseTestCase;
/** /**
* Class TestCase * Class TestCase
* @SuppressWarnings(PHPMD.NumberOfChildren) * @SuppressWarnings(PHPMD.NumberOfChildren)
*/ */
abstract class TestCase extends BaseTestCase abstract class TestCase extends PHPUnit_Framework_TestCase
{ {
/** /**
* Returns a PSR7 Stream for a given fixture. * Returns a PSR7 Stream for a given fixture.