Updated TLS.php and added new endpoints to new ZoneSettings.php
This commit is contained in:
112
tests/Endpoints/AccessRulesTest.php
Normal file
112
tests/Endpoints/AccessRulesTest.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
|
||||
class AccessRulesTest extends TestCase
|
||||
{
|
||||
public function testListRules()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listAccessRules.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/firewall/access_rules/rules'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 50,
|
||||
'match' => 'all'
|
||||
])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\AccessRules($mock);
|
||||
$result = $zones->listRules('023e105f4ecef8ad9ca31a8372d0c353');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
|
||||
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $result->result[0]->id);
|
||||
$this->assertEquals(1, $result->result_info->page);
|
||||
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $zones->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testCreateRule()
|
||||
{
|
||||
$config = new \Cloudflare\API\Configurations\AccessRules();
|
||||
$config->setIP('1.2.3.4');
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/createAccessRule.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/firewall/access_rules/rules'),
|
||||
$this->equalTo([
|
||||
'mode' => 'challenge',
|
||||
'configuration' => $config->getArray(),
|
||||
'notes' => 'This rule is on because of an event that occured on date X',
|
||||
])
|
||||
);
|
||||
|
||||
$rules = new \Cloudflare\API\Endpoints\AccessRules($mock);
|
||||
$rules->createRule(
|
||||
'023e105f4ecef8ad9ca31a8372d0c353',
|
||||
'challenge',
|
||||
$config,
|
||||
'This rule is on because of an event that occured on date X'
|
||||
);
|
||||
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $rules->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testUpdateRule()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateAccessRule.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/firewall/access_rules/rules/92f17202ed8bd63d69a66b86a49a8f6b'),
|
||||
$this->equalTo([
|
||||
'mode' => 'challenge',
|
||||
'notes' => 'This rule is on because of an event that occured on date X',
|
||||
])
|
||||
);
|
||||
|
||||
$rules = new \Cloudflare\API\Endpoints\AccessRules($mock);
|
||||
$rules->updateRule(
|
||||
'023e105f4ecef8ad9ca31a8372d0c353',
|
||||
'92f17202ed8bd63d69a66b86a49a8f6b',
|
||||
'challenge',
|
||||
'This rule is on because of an event that occured on date X'
|
||||
);
|
||||
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $rules->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testDeleteRule()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/deleteAccessRule.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/firewall/access_rules/rules/92f17202ed8bd63d69a66b86a49a8f6b'),
|
||||
$this->equalTo([
|
||||
'cascade' => 'none'
|
||||
])
|
||||
);
|
||||
|
||||
$rules = new \Cloudflare\API\Endpoints\AccessRules($mock);
|
||||
$rules->deleteRule('023e105f4ecef8ad9ca31a8372d0c353', '92f17202ed8bd63d69a66b86a49a8f6b');
|
||||
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $rules->getBody()->result->id);
|
||||
}
|
||||
}
|
||||
138
tests/Endpoints/CustomHostnamesTest.php
Normal file
138
tests/Endpoints/CustomHostnamesTest.php
Normal file
@@ -0,0 +1,138 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
||||
121
tests/Endpoints/DNSTest.php
Normal file
121
tests/Endpoints/DNSTest.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: junade
|
||||
* Date: 09/06/2017
|
||||
* Time: 15:31
|
||||
*/
|
||||
class DNSTest extends TestCase
|
||||
{
|
||||
public function testAddRecord()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/addRecord.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/dns_records'),
|
||||
$this->equalTo([
|
||||
'type' => 'A',
|
||||
'name' => 'example.com',
|
||||
'content' => '127.0.0.1',
|
||||
'ttl' => 120,
|
||||
'proxied' => false
|
||||
])
|
||||
);
|
||||
|
||||
$dns = new \Cloudflare\API\Endpoints\DNS($mock);
|
||||
$dns->addRecord('023e105f4ecef8ad9ca31a8372d0c353', 'A', 'example.com', '127.0.0.1', '120', false);
|
||||
}
|
||||
|
||||
public function testListRecords()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listRecords.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/dns_records'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20,
|
||||
'match' => 'all',
|
||||
'type' => 'A',
|
||||
'name' => 'example.com',
|
||||
'content' => '127.0.0.1',
|
||||
'order' => 'type',
|
||||
'direction' => 'desc',
|
||||
])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\DNS($mock);
|
||||
$result = $zones->listRecords('023e105f4ecef8ad9ca31a8372d0c353', 'A', 'example.com', '127.0.0.1', 1, 20, 'type', 'desc');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id);
|
||||
$this->assertEquals(1, $result->result_info->page);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zones->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testGetDNSRecordDetails()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getDNSRecordDetails.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/dns_records/372e67954025e0ba6aaa6d586b9e0b59')
|
||||
);
|
||||
|
||||
$dns = new \Cloudflare\API\Endpoints\DNS($mock);
|
||||
$result = $dns->getRecordDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
|
||||
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $dns->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testUpdateDNSRecord()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateDNSRecord.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('put')->willReturn($response);
|
||||
|
||||
$details = [
|
||||
'type' => 'A',
|
||||
'name' => 'example.com',
|
||||
'content' => '1.2.3.4',
|
||||
'ttl' => 120,
|
||||
'proxied' => false,
|
||||
];
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('put')
|
||||
->with(
|
||||
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59'),
|
||||
$this->equalTo($details)
|
||||
);
|
||||
|
||||
$dns = new \Cloudflare\API\Endpoints\DNS($mock);
|
||||
$result = $dns->updateRecordDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59', $details);
|
||||
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result->id);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $dns->getBody()->result->id);
|
||||
|
||||
foreach ($details as $property => $value) {
|
||||
$this->assertEquals($result->result->{ $property }, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
31
tests/Endpoints/IPsTest.php
Normal file
31
tests/Endpoints/IPsTest.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: junade
|
||||
* Date: 04/09/2017
|
||||
* Time: 20:16
|
||||
*/
|
||||
|
||||
class IPsTest extends TestCase
|
||||
{
|
||||
public function testListIPs()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listIPs.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('get')
|
||||
->with(
|
||||
$this->equalTo('ips')
|
||||
);
|
||||
|
||||
$ipsMock = new \Cloudflare\API\Endpoints\IPs($mock);
|
||||
$ips = $ipsMock->listIPs();
|
||||
$this->assertObjectHasAttribute('ipv4_cidrs', $ips);
|
||||
$this->assertObjectHasAttribute('ipv6_cidrs', $ips);
|
||||
$this->assertObjectHasAttribute('ipv4_cidrs', $ipsMock->getBody()->result);
|
||||
$this->assertObjectHasAttribute('ipv6_cidrs', $ipsMock->getBody()->result);
|
||||
}
|
||||
}
|
||||
132
tests/Endpoints/PageRulesTest.php
Normal file
132
tests/Endpoints/PageRulesTest.php
Normal file
@@ -0,0 +1,132 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: junade
|
||||
* Date: 19/09/2017
|
||||
* Time: 19:25
|
||||
*/
|
||||
|
||||
class PageRulesTest extends TestCase
|
||||
{
|
||||
public function testCreatePageRule()
|
||||
{
|
||||
$target = new \Cloudflare\API\Configurations\PageRulesTargets('*example.com/images/*');
|
||||
$action = new \Cloudflare\API\Configurations\PageRulesActions();
|
||||
$action->setAlwaysOnline(true);
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/createPageRule.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/pagerules'),
|
||||
$this->equalTo([
|
||||
'targets' => $target->getArray(),
|
||||
'actions' => $action->getArray(),
|
||||
'status' => 'active',
|
||||
'priority' => 1
|
||||
])
|
||||
);
|
||||
|
||||
$pageRules = new \Cloudflare\API\Endpoints\PageRules($mock);
|
||||
$result = $pageRules->createPageRule('023e105f4ecef8ad9ca31a8372d0c353', $target, $action, true, 1);
|
||||
|
||||
$this->assertTrue($result);
|
||||
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testListPageRules()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listPageRules.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/pagerules'),
|
||||
$this->equalTo([
|
||||
'status' => 'active',
|
||||
'order' => 'status',
|
||||
'direction' => 'desc',
|
||||
'match' => 'all'
|
||||
])
|
||||
);
|
||||
|
||||
$pageRules = new \Cloudflare\API\Endpoints\PageRules($mock);
|
||||
$pageRules->listPageRules('023e105f4ecef8ad9ca31a8372d0c353', 'active', 'status', 'desc', 'all');
|
||||
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testGetPageRuleDetails()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getPageRuleDetails.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/pagerules/9a7806061c88ada191ed06f989cc3dac')
|
||||
);
|
||||
|
||||
$pageRules = new \Cloudflare\API\Endpoints\PageRules($mock);
|
||||
$pageRules->getPageRuleDetails('023e105f4ecef8ad9ca31a8372d0c353', '9a7806061c88ada191ed06f989cc3dac');
|
||||
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testUpdatePageRule()
|
||||
{
|
||||
$target = new \Cloudflare\API\Configurations\PageRulesTargets('*example.com/images/*');
|
||||
$action = new \Cloudflare\API\Configurations\PageRulesActions();
|
||||
$action->setAlwaysOnline(true);
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updatePageRule.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/pagerules'),
|
||||
$this->equalTo([
|
||||
'targets' => $target->getArray(),
|
||||
'actions' => $action->getArray(),
|
||||
'status' => 'active',
|
||||
'priority' => 1
|
||||
])
|
||||
);
|
||||
|
||||
$pageRules = new \Cloudflare\API\Endpoints\PageRules($mock);
|
||||
$result = $pageRules->updatePageRule('023e105f4ecef8ad9ca31a8372d0c353', $target, $action, true, 1);
|
||||
|
||||
$this->assertTrue($result);
|
||||
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testDeletePageRule()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/deletePageRule.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/pagerules/9a7806061c88ada191ed06f989cc3dac')
|
||||
);
|
||||
|
||||
$pageRules = new \Cloudflare\API\Endpoints\PageRules($mock);
|
||||
$result = $pageRules->deletePageRule('023e105f4ecef8ad9ca31a8372d0c353', '9a7806061c88ada191ed06f989cc3dac');
|
||||
|
||||
$this->assertTrue($result);
|
||||
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $pageRules->getBody()->result->id);
|
||||
}
|
||||
}
|
||||
149
tests/Endpoints/RailgunTest.php
Normal file
149
tests/Endpoints/RailgunTest.php
Normal file
@@ -0,0 +1,149 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: junade
|
||||
* Date: 23/10/2017
|
||||
* Time: 11:20
|
||||
*/
|
||||
|
||||
class RailgunTest extends TestCase
|
||||
{
|
||||
public function testcreate()
|
||||
{
|
||||
$details = [
|
||||
'name' => 'My Railgun',
|
||||
];
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/createRailgun.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('post')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('post')
|
||||
->with(
|
||||
$this->equalTo('railguns'),
|
||||
$this->equalTo(['name' => $details['name']])
|
||||
);
|
||||
|
||||
$railgun = new \Cloudflare\API\Endpoints\Railgun($mock);
|
||||
$result = $railgun->create($details['name']);
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
|
||||
foreach ($details as $property => $value) {
|
||||
$this->assertEquals($result->result->{ $property }, $value);
|
||||
}
|
||||
$this->assertEquals('e928d310693a83094309acf9ead50448', $railgun->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testlist()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listRailguns.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('get')
|
||||
->with(
|
||||
$this->equalTo('railguns'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20,
|
||||
'direction' => 'desc'
|
||||
])
|
||||
);
|
||||
|
||||
$railgun = new \Cloudflare\API\Endpoints\Railgun($mock);
|
||||
$result = $railgun->list(1, 20, 'desc');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
$this->assertEquals('e928d310693a83094309acf9ead50448', $railgun->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testget()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getRailgun.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('get')
|
||||
->with(
|
||||
$this->equalTo('railguns/e928d310693a83094309acf9ead50448')
|
||||
);
|
||||
|
||||
$railgun = new \Cloudflare\API\Endpoints\Railgun($mock);
|
||||
$result = $railgun->get('e928d310693a83094309acf9ead50448');
|
||||
|
||||
$this->assertEquals('e928d310693a83094309acf9ead50448', $result->id);
|
||||
$this->assertEquals('e928d310693a83094309acf9ead50448', $railgun->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testgetZones()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listRailgunZones.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('get')
|
||||
->with(
|
||||
$this->equalTo('railguns/e928d310693a83094309acf9ead50448/zones')
|
||||
);
|
||||
|
||||
$railgun = new \Cloudflare\API\Endpoints\Railgun($mock);
|
||||
$result = $railgun->getZones('e928d310693a83094309acf9ead50448');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $railgun->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testupdate()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateRailgun.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('patch')->willReturn($response);
|
||||
|
||||
$details = [
|
||||
'enabled' => true,
|
||||
];
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('patch')
|
||||
->with(
|
||||
$this->equalTo('railguns/e928d310693a83094309acf9ead50448'),
|
||||
$this->equalTo($details)
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\Railgun($mock);
|
||||
$result = $waf->update('e928d310693a83094309acf9ead50448', true);
|
||||
|
||||
$this->assertEquals('e928d310693a83094309acf9ead50448', $result->id);
|
||||
$this->assertEquals('e928d310693a83094309acf9ead50448', $waf->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testdelete()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/deleteRailgun.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('delete')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('delete')
|
||||
->with(
|
||||
$this->equalTo('railguns/e928d310693a83094309acf9ead50448')
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\Railgun($mock);
|
||||
$waf->delete('e928d310693a83094309acf9ead50448');
|
||||
$this->assertEquals('e928d310693a83094309acf9ead50448', $waf->getBody()->result->id);
|
||||
}
|
||||
}
|
||||
71
tests/Endpoints/TLSTest.php
Normal file
71
tests/Endpoints/TLSTest.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
||||
142
tests/Endpoints/UARulesTest.php
Normal file
142
tests/Endpoints/UARulesTest.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: junade
|
||||
* Date: 19/09/2017
|
||||
* Time: 15:19
|
||||
*/
|
||||
|
||||
class UARulesTest extends TestCase
|
||||
{
|
||||
public function testListRules()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listRules.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/firewall/ua_rules'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20
|
||||
])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\UARules($mock);
|
||||
$result = $zones->listRules('023e105f4ecef8ad9ca31a8372d0c353');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id);
|
||||
$this->assertEquals(1, $result->result_info->page);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zones->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testCreateRule()
|
||||
{
|
||||
$config = new \Cloudflare\API\Configurations\UARules();
|
||||
$config->addUA('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');
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/createRule.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/firewall/ua_rules'),
|
||||
$this->equalTo([
|
||||
'mode' => 'js_challenge',
|
||||
'id' => '372e67954025e0ba6aaa6d586b9e0b59',
|
||||
'description' => 'Prevent access from abusive clients identified by this UserAgent to mitigate DDoS attack',
|
||||
'configurations' => $config->getArray(),
|
||||
])
|
||||
);
|
||||
|
||||
$rules = new \Cloudflare\API\Endpoints\UARules($mock);
|
||||
$rules->createRule(
|
||||
'023e105f4ecef8ad9ca31a8372d0c353',
|
||||
'js_challenge',
|
||||
$config,
|
||||
'372e67954025e0ba6aaa6d586b9e0b59',
|
||||
'Prevent access from abusive clients identified by this UserAgent to mitigate DDoS attack'
|
||||
);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function getRuleDetails()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getRuleDetails.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/firewall/ua_rules/372e67954025e0ba6aaa6d586b9e0b59')
|
||||
);
|
||||
|
||||
$lockdown = new \Cloudflare\API\Endpoints\UARules($mock);
|
||||
$result = $lockdown->getRuleDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
|
||||
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $lockdown->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testUpdateRule()
|
||||
{
|
||||
$config = new \Cloudflare\API\Configurations\UARules();
|
||||
$config->addUA('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');
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateRule.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('put')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('put')
|
||||
->with(
|
||||
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/ua_rules/372e67954025e0ba6aaa6d586b9e0b59'),
|
||||
$this->equalTo([
|
||||
'mode' => 'js_challenge',
|
||||
'id' => '372e67954025e0ba6aaa6d586b9e0b59',
|
||||
'description' => 'Restrict access to these endpoints to requests from a known IP address',
|
||||
'configurations' => $config->getArray(),
|
||||
])
|
||||
);
|
||||
|
||||
$rules = new \Cloudflare\API\Endpoints\UARules($mock);
|
||||
$rules->updateRule(
|
||||
'023e105f4ecef8ad9ca31a8372d0c353',
|
||||
'372e67954025e0ba6aaa6d586b9e0b59',
|
||||
'js_challenge',
|
||||
$config,
|
||||
'Restrict access to these endpoints to requests from a known IP address'
|
||||
);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testDeleteRule()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/deleteRule.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/firewall/ua_rules/372e67954025e0ba6aaa6d586b9e0b59')
|
||||
);
|
||||
|
||||
$rules = new \Cloudflare\API\Endpoints\UARules($mock);
|
||||
$rules->deleteRule('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $rules->getBody()->result->id);
|
||||
}
|
||||
}
|
||||
68
tests/Endpoints/UserTest.php
Normal file
68
tests/Endpoints/UserTest.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* User: junade
|
||||
* Date: 01/02/2017
|
||||
* Time: 12:50
|
||||
*/
|
||||
class UserTest extends TestCase
|
||||
{
|
||||
public function testGetUserDetails()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getUserDetails.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$user = new \Cloudflare\API\Endpoints\User($mock);
|
||||
$details = $user->getUserDetails();
|
||||
|
||||
$this->assertObjectHasAttribute('id', $details);
|
||||
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $details->id);
|
||||
$this->assertObjectHasAttribute('email', $details);
|
||||
$this->assertEquals('user@example.com', $details->email);
|
||||
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $user->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testGetUserID()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getUserId.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$user = new \Cloudflare\API\Endpoints\User($mock);
|
||||
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $user->getUserID());
|
||||
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $user->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testGetUserEmail()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getUserEmail.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())->method('get');
|
||||
|
||||
$user = new \Cloudflare\API\Endpoints\User($mock);
|
||||
$this->assertEquals('user@example.com', $user->getUserEmail());
|
||||
$this->assertEquals('user@example.com', $user->getBody()->result->email);
|
||||
}
|
||||
|
||||
public function testUpdateUserDetails()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateUserDetails.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('patch')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('patch')
|
||||
->with($this->equalTo('user'), $this->equalTo(['email' => 'user2@example.com']));
|
||||
|
||||
$user = new \Cloudflare\API\Endpoints\User($mock);
|
||||
$user->updateUserDetails(['email' => 'user2@example.com']);
|
||||
$this->assertEquals('7c5dae5552338874e5053f2534d2767a', $user->getBody()->result->id);
|
||||
}
|
||||
}
|
||||
221
tests/Endpoints/WAFTest.php
Normal file
221
tests/Endpoints/WAFTest.php
Normal file
@@ -0,0 +1,221 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: junade
|
||||
* Date: 23/10/2017
|
||||
* Time: 13:34
|
||||
*/
|
||||
|
||||
class WAFTest extends TestCase
|
||||
{
|
||||
public function testgetPackages()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listPackages.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/firewall/waf/packages'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20,
|
||||
'match' => 'all',
|
||||
'order' => 'status',
|
||||
'direction' => 'desc'
|
||||
])
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\WAF($mock);
|
||||
$result = $waf->getPackages('023e105f4ecef8ad9ca31a8372d0c353', 1, 20, 'status', 'desc');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
|
||||
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $result->result[0]->id);
|
||||
$this->assertEquals(1, $result->result_info->page);
|
||||
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $waf->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testgetPackageInfo()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getPackageInfo.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/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b')
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\WAF($mock);
|
||||
$result = $waf->getPackageInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b');
|
||||
|
||||
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $result->id);
|
||||
$this->assertEquals('a25a9a7e9c00afc1fb2e0245519d725b', $waf->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testgetRules()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listPackageRules.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/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/rules'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20,
|
||||
'match' => 'all',
|
||||
'order' => 'status',
|
||||
'direction' => 'desc'
|
||||
])
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\WAF($mock);
|
||||
$result = $waf->getRules('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 1, 20, 'status', 'desc');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
|
||||
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $result->result[0]->id);
|
||||
$this->assertEquals(1, $result->result_info->page);
|
||||
$this->assertEquals('92f17202ed8bd63d69a66b86a49a8f6b', $waf->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testgetRuleInfo()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getPackageRuleInfo.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/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/rules/f939de3be84e66e757adcdcb87908023')
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\WAF($mock);
|
||||
$result = $waf->getRuleInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'f939de3be84e66e757adcdcb87908023');
|
||||
|
||||
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $result->id);
|
||||
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $waf->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testupdateRule()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updatePackageRule.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('patch')->willReturn($response);
|
||||
|
||||
$details = [
|
||||
'mode' => 'on',
|
||||
];
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('patch')
|
||||
->with(
|
||||
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/rules/f939de3be84e66e757adcdcb87908023'),
|
||||
$this->equalTo($details)
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\WAF($mock);
|
||||
$result = $waf->updateRule('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'f939de3be84e66e757adcdcb87908023', 'on');
|
||||
|
||||
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $result->id);
|
||||
|
||||
foreach ($details as $property => $value) {
|
||||
$this->assertEquals($result->{ $property }, $value);
|
||||
}
|
||||
$this->assertEquals('f939de3be84e66e757adcdcb87908023', $waf->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function getGroups()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listPackageGroups.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/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/groups'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20,
|
||||
'match' => 'all',
|
||||
'order' => 'status',
|
||||
'direction' => 'desc'
|
||||
])
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\WAF($mock);
|
||||
$result = $waf->getGroups('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 1, 20, 'status', 'desc');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
|
||||
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $result->result[0]->id);
|
||||
$this->assertEquals(1, $result->result_info->page);
|
||||
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $waf->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testgetGroupInfo()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getPackageGroupInfo.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/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/groups/de677e5818985db1285d0e80225f06e5')
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\WAF($mock);
|
||||
$result = $waf->getGroupInfo('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'de677e5818985db1285d0e80225f06e5');
|
||||
|
||||
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $result->id);
|
||||
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $waf->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testupdateGroup()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updatePackageGroup.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('patch')->willReturn($response);
|
||||
|
||||
$details = [
|
||||
'mode' => 'off',
|
||||
];
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('patch')
|
||||
->with(
|
||||
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/waf/packages/a25a9a7e9c00afc1fb2e0245519d725b/groups/de677e5818985db1285d0e80225f06e5'),
|
||||
$this->equalTo($details)
|
||||
);
|
||||
|
||||
$waf = new \Cloudflare\API\Endpoints\WAF($mock);
|
||||
$result = $waf->updateGroup('023e105f4ecef8ad9ca31a8372d0c353', 'a25a9a7e9c00afc1fb2e0245519d725b', 'de677e5818985db1285d0e80225f06e5', 'off');
|
||||
|
||||
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $result->id);
|
||||
|
||||
foreach ($details as $property => $value) {
|
||||
$this->assertEquals($result->{ $property }, $value);
|
||||
}
|
||||
$this->assertEquals('de677e5818985db1285d0e80225f06e5', $waf->getBody()->result->id);
|
||||
}
|
||||
}
|
||||
145
tests/Endpoints/ZoneLockdownTest.php
Normal file
145
tests/Endpoints/ZoneLockdownTest.php
Normal file
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: junade
|
||||
* Date: 04/09/2017
|
||||
* Time: 21:23
|
||||
*/
|
||||
class ZoneLockdownTest extends TestCase
|
||||
{
|
||||
public function testListLockdowns()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listLockdowns.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/firewall/lockdowns'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20,
|
||||
])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\ZoneLockdown($mock);
|
||||
$result = $zones->listLockdowns('023e105f4ecef8ad9ca31a8372d0c353');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->result[0]->id);
|
||||
$this->assertEquals(1, $result->result_info->page);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zones->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testAddLockdown()
|
||||
{
|
||||
$config = new \Cloudflare\API\Configurations\ZoneLockdown();
|
||||
$config->addIP('1.2.3.4');
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/addLockdown.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/firewall/lockdowns'),
|
||||
$this->equalTo([
|
||||
'urls' => ['api.mysite.com/some/endpoint*'],
|
||||
'id' => '372e67954025e0ba6aaa6d586b9e0b59',
|
||||
'description' => 'Restrict access to these endpoints to requests from a known IP address',
|
||||
'configurations' => $config->getArray(),
|
||||
])
|
||||
);
|
||||
|
||||
$zoneLockdown = new \Cloudflare\API\Endpoints\ZoneLockdown($mock);
|
||||
$zoneLockdown->createLockdown(
|
||||
'023e105f4ecef8ad9ca31a8372d0c353',
|
||||
['api.mysite.com/some/endpoint*'],
|
||||
$config,
|
||||
'372e67954025e0ba6aaa6d586b9e0b59',
|
||||
'Restrict access to these endpoints to requests from a known IP address'
|
||||
);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zoneLockdown->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testGetRecordDetails()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getRecordDetails.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/firewall/lockdowns/372e67954025e0ba6aaa6d586b9e0b59')
|
||||
);
|
||||
|
||||
$lockdown = new \Cloudflare\API\Endpoints\ZoneLockdown($mock);
|
||||
$result = $lockdown->getLockdownDetails('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
|
||||
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $result->id);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $lockdown->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testUpdateLockdown()
|
||||
{
|
||||
$config = new \Cloudflare\API\Configurations\ZoneLockdown();
|
||||
$config->addIP('1.2.3.4');
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateLockdown.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('put')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('put')
|
||||
->with(
|
||||
$this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353/firewall/lockdowns/372e67954025e0ba6aaa6d586b9e0b59'),
|
||||
$this->equalTo([
|
||||
'urls' => ['api.mysite.com/some/endpoint*'],
|
||||
'id' => '372e67954025e0ba6aaa6d586b9e0b59',
|
||||
'description' => 'Restrict access to these endpoints to requests from a known IP address',
|
||||
'configurations' => $config->getArray(),
|
||||
])
|
||||
);
|
||||
|
||||
$zoneLockdown = new \Cloudflare\API\Endpoints\ZoneLockdown($mock);
|
||||
$zoneLockdown->updateLockdown(
|
||||
'023e105f4ecef8ad9ca31a8372d0c353',
|
||||
'372e67954025e0ba6aaa6d586b9e0b59',
|
||||
['api.mysite.com/some/endpoint*'],
|
||||
$config,
|
||||
'Restrict access to these endpoints to requests from a known IP address'
|
||||
);
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zoneLockdown->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testDeleteLockdown()
|
||||
{
|
||||
$config = new \Cloudflare\API\Configurations\ZoneLockdown();
|
||||
$config->addIP('1.2.3.4');
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/deleteLockdown.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/firewall/lockdowns/372e67954025e0ba6aaa6d586b9e0b59')
|
||||
);
|
||||
|
||||
$zoneLockdown = new \Cloudflare\API\Endpoints\ZoneLockdown($mock);
|
||||
$zoneLockdown->deleteLockdown('023e105f4ecef8ad9ca31a8372d0c353', '372e67954025e0ba6aaa6d586b9e0b59');
|
||||
$this->assertEquals('372e67954025e0ba6aaa6d586b9e0b59', $zoneLockdown->getBody()->result->id);
|
||||
}
|
||||
}
|
||||
246
tests/Endpoints/ZonesTest.php
Normal file
246
tests/Endpoints/ZonesTest.php
Normal file
@@ -0,0 +1,246 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: junade
|
||||
* Date: 06/06/2017
|
||||
* Time: 16:01
|
||||
*/
|
||||
class ZonesTest extends TestCase
|
||||
{
|
||||
public function testAddZone()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/addZone.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'),
|
||||
$this->equalTo(['name' => 'example.com', 'jump_start' => false])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
|
||||
$result = $zones->addZone('example.com');
|
||||
|
||||
$this->assertObjectHasAttribute('id', $result);
|
||||
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $result->id);
|
||||
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/createPageRule.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'),
|
||||
$this->equalTo([
|
||||
'name' => 'example.com',
|
||||
'jump_start' => true,
|
||||
'organization' => ['id' => '01a7362d577a6c3019a474fd6f485823']
|
||||
])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
|
||||
$zones->addZone('example.com', true, '01a7362d577a6c3019a474fd6f485823');
|
||||
$this->assertEquals('9a7806061c88ada191ed06f989cc3dac', $zones->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testActivationTest()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/activationTest.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('put')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('put')
|
||||
->with(
|
||||
$this->equalTo('zones/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/activation_check')
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
|
||||
$result = $zones->activationCheck('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||
|
||||
$this->assertTrue($result);
|
||||
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testListZones()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listZones.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'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20,
|
||||
'match' => 'all',
|
||||
'name' => 'example.com',
|
||||
'status' => 'active',
|
||||
'order' => 'status',
|
||||
'direction' => 'desc',
|
||||
])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
|
||||
$result = $zones->listZones('example.com', 'active', 1, 20, 'status', 'desc');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
|
||||
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $result->result[0]->id);
|
||||
$this->assertEquals(1, $result->result_info->page);
|
||||
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testGetZoneID()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getZoneId.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'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20,
|
||||
'match' => 'all',
|
||||
'name' => 'example.com',
|
||||
])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
|
||||
$result = $zones->getZoneID('example.com');
|
||||
|
||||
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $result);
|
||||
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testGetAnalyticsDashboard()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getAnalyticsDashboard.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/c2547eb745079dac9320b638f5e225cf483cc5cfdda41/analytics/dashboard'),
|
||||
$this->equalTo(['since' => '-10080', 'until' => '0', 'continuous' => var_export(true, true)])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
|
||||
$analytics = $zones->getAnalyticsDashboard('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||
|
||||
$this->assertObjectHasAttribute('since', $analytics->totals);
|
||||
$this->assertObjectHasAttribute('since', $analytics->timeseries[0]);
|
||||
}
|
||||
|
||||
public function testChangeDevelopmentMode()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/changeDevelopmentMode.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/development_mode'),
|
||||
$this->equalTo(['value' => 'on'])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
|
||||
$result = $zones->changeDevelopmentMode('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', true);
|
||||
|
||||
$this->assertTrue($result);
|
||||
$this->assertEquals('development_mode', $zones->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testCachePurgeEverything()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/cachePurgeEverything.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(['purge_everything' => true])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
|
||||
$result = $zones->cachePurgeEverything('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||
|
||||
$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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user