Merge pull request #92 from exportsmedia/feature-crypto-endpoints
Add Crypto endpoints to crypto.php, update TLS.php
This commit is contained in:
95
src/Endpoints/Crypto.php
Normal file
95
src/Endpoints/Crypto.php
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Cloudflare\API\Endpoints;
|
||||||
|
|
||||||
|
use Cloudflare\API\Adapter\Adapter;
|
||||||
|
|
||||||
|
class Crypto implements API
|
||||||
|
{
|
||||||
|
private $adapter;
|
||||||
|
|
||||||
|
public function __construct(Adapter $adapter)
|
||||||
|
{
|
||||||
|
$this->adapter = $adapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Opportunistic Encryption feature for a zone.
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @return string|false
|
||||||
|
*/
|
||||||
|
public function getOpportunisticEncryptionSetting(string $zoneID)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->get(
|
||||||
|
'zones/' . $zoneID . '/settings/opportunistic_encryption'
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->result)) {
|
||||||
|
return $body->result->value;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Onion Routing feature for a zone.
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @return string|false
|
||||||
|
*/
|
||||||
|
public function getOnionRoutingSetting(string $zoneID)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->get(
|
||||||
|
'zones/' . $zoneID . '/settings/opportunistic_onion'
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->result)) {
|
||||||
|
return $body->result;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the Oppurtunistic Encryption setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @param string $value The value of the zone setting
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function updateOpportunisticEncryptionSetting(string $zoneID, string $value)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->patch(
|
||||||
|
'zones/' . $zoneID . '/settings/opportunistic_encryption',
|
||||||
|
[
|
||||||
|
'value' => $value,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->success) && $body->success == true) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the Onion Routing setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @param string $value The value of the zone setting
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function updateOnionRoutingSetting(string $zoneID, string $value)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->patch(
|
||||||
|
'zones/' . $zoneID . '/settings/opportunistic_onion',
|
||||||
|
[
|
||||||
|
'value' => $value,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->success) && $body->success == true) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
153
src/Endpoints/SSL.php
Normal file
153
src/Endpoints/SSL.php
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Cloudflare\API\Endpoints;
|
||||||
|
|
||||||
|
use Cloudflare\API\Adapter\Adapter;
|
||||||
|
|
||||||
|
class SSL implements API
|
||||||
|
{
|
||||||
|
private $adapter;
|
||||||
|
|
||||||
|
public function __construct(Adapter $adapter)
|
||||||
|
{
|
||||||
|
$this->adapter = $adapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the SSL setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @return string|false
|
||||||
|
*/
|
||||||
|
public function getSSLSetting(string $zoneID)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->get(
|
||||||
|
'zones/' . $zoneID . '/settings/ssl'
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->result)) {
|
||||||
|
return $body->result->value;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get SSL Verification Info for a Zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @return array|false
|
||||||
|
*/
|
||||||
|
public function getSSLVerificationStatus(string $zoneID)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->get(
|
||||||
|
'zones/' . $zoneID . '/ssl/verification'
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->result)) {
|
||||||
|
return $body;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTTPS Redirect setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @return string|false
|
||||||
|
*/
|
||||||
|
public function getHTTPSRedirectSetting(string $zoneID)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->get(
|
||||||
|
'zones/' . $zoneID . '/settings/always_use_https'
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->result)) {
|
||||||
|
return $body->result;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTTPS Rewrite setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @return string|false
|
||||||
|
*/
|
||||||
|
public function getHTTPSRewritesSetting(string $zoneID)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->get(
|
||||||
|
'zones/' . $zoneID . '/settings/automatic_https_rewrites'
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->result)) {
|
||||||
|
return $body->result;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the SSL setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @param string $value The value of the zone setting
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function updateSSLSetting(string $zoneID, string $value)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->patch(
|
||||||
|
'zones/' . $zoneID . '/settings/ssl',
|
||||||
|
[
|
||||||
|
'value' => $value,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->success) && $body->success == true) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the HTTPS Redirect setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @param string $value The value of the zone setting
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function updateHTTPSRedirectSetting(string $zoneID, string $value)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->patch(
|
||||||
|
'zones/' . $zoneID . '/settings/always_use_https',
|
||||||
|
[
|
||||||
|
'value' => $value,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->success) && $body->success == true) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the HTTPS Rewrite setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @param string $value The value of the zone setting
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function updateHTTPSRewritesSetting(string $zoneID, string $value)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->patch(
|
||||||
|
'zones/' . $zoneID . '/settings/automatic_https_rewrites',
|
||||||
|
[
|
||||||
|
'value' => $value,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->success) && $body->success == true) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,6 +19,30 @@ class TLS implements API
|
|||||||
$this->adapter = $adapter;
|
$this->adapter = $adapter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the TLS Client Auth setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @return string|false
|
||||||
|
*/
|
||||||
|
public function getTLSClientAuth($zoneID)
|
||||||
|
{
|
||||||
|
$return = $this->adapter->get(
|
||||||
|
'zones/' . $zoneID . '/settings/tls_client_auth'
|
||||||
|
);
|
||||||
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->result)) {
|
||||||
|
return $body->result->value;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable TLS 1.3 for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
public function enableTLS13($zoneID)
|
public function enableTLS13($zoneID)
|
||||||
{
|
{
|
||||||
$return = $this->adapter->patch(
|
$return = $this->adapter->patch(
|
||||||
@@ -26,14 +50,18 @@ class TLS implements API
|
|||||||
['value' => 'on']
|
['value' => 'on']
|
||||||
);
|
);
|
||||||
$body = json_decode($return->getBody());
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->success) && $body->success == true) {
|
||||||
if ($body->success) {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disable TLS 1.3 for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
public function disableTLS13($zoneID)
|
public function disableTLS13($zoneID)
|
||||||
{
|
{
|
||||||
$return = $this->adapter->patch(
|
$return = $this->adapter->patch(
|
||||||
@@ -41,15 +69,19 @@ class TLS implements API
|
|||||||
['value' => 'off']
|
['value' => 'off']
|
||||||
);
|
);
|
||||||
$body = json_decode($return->getBody());
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->success) && $body->success == true) {
|
||||||
if ($body->success) {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the minimum TLS version setting for the zone
|
||||||
|
*
|
||||||
|
* @param string $zoneID The ID of the zone
|
||||||
|
* @param string $minimumVersion The version to update to
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
public function changeMinimumTLSVersion($zoneID, $minimumVersion)
|
public function changeMinimumTLSVersion($zoneID, $minimumVersion)
|
||||||
{
|
{
|
||||||
$return = $this->adapter->patch(
|
$return = $this->adapter->patch(
|
||||||
@@ -59,73 +91,31 @@ class TLS implements API
|
|||||||
]
|
]
|
||||||
);
|
);
|
||||||
$body = json_decode($return->getBody());
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->success) && $body->success == true) {
|
||||||
if ($body->success) {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getHTTPSRedirectSetting($zoneID)
|
/**
|
||||||
{
|
* Update the TLS Client Auth setting for the zone
|
||||||
$return = $this->adapter->get(
|
*
|
||||||
'zones/' . $zoneID . '/settings/always_use_https'
|
* @param string $zoneID The ID of the zone
|
||||||
);
|
* @param string $value The value of the zone setting
|
||||||
$body = json_decode($return->getBody());
|
* @return bool
|
||||||
|
*/
|
||||||
if ($body->success) {
|
public function updateTLSClientAuth($zoneID, $value)
|
||||||
return $body->result->value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getHTTPSRewritesSetting($zoneID)
|
|
||||||
{
|
|
||||||
$return = $this->adapter->get(
|
|
||||||
'zones/' . $zoneID . '/settings/automatic_https_rewrites'
|
|
||||||
);
|
|
||||||
$body = json_decode($return->getBody());
|
|
||||||
|
|
||||||
if ($body->success) {
|
|
||||||
return $body->result->value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function updateHTTPSRedirectStatus($zoneID, $value)
|
|
||||||
{
|
{
|
||||||
$return = $this->adapter->patch(
|
$return = $this->adapter->patch(
|
||||||
'zones/' . $zoneID . '/settings/always_use_https',
|
'zones/' . $zoneID . '/settings/tls_client_auth',
|
||||||
[
|
[
|
||||||
'value' => $value,
|
'value' => $value,
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
$body = json_decode($return->getBody());
|
$body = json_decode($return->getBody());
|
||||||
|
if (isset($body->success) && $body->success == true) {
|
||||||
if ($body->success) {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function updateHTTPSRewritesStatus($zoneID, $value)
|
|
||||||
{
|
|
||||||
$return = $this->adapter->patch(
|
|
||||||
'zones/' . $zoneID . '/settings/automatic_https_rewrites',
|
|
||||||
[
|
|
||||||
'value' => $value,
|
|
||||||
]
|
|
||||||
);
|
|
||||||
$body = json_decode($return->getBody());
|
|
||||||
|
|
||||||
if ($body->success) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
82
tests/Endpoints/CryptoTest.php
Normal file
82
tests/Endpoints/CryptoTest.php
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class CryptoTest extends TestCase
|
||||||
|
{
|
||||||
|
public function testGetOpportunisticEncryptionSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getOpportunisticEncryptionSetting.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/settings/opportunistic_encryption')
|
||||||
|
);
|
||||||
|
|
||||||
|
$cryptoMock = new \Cloudflare\API\Endpoints\Crypto($mock);
|
||||||
|
$result = $cryptoMock->getOpportunisticEncryptionSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||||
|
|
||||||
|
$this->assertEquals('off', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetOnionRoutingSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getOnionRoutingSetting.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/settings/opportunistic_onion')
|
||||||
|
);
|
||||||
|
|
||||||
|
$cryptoMock = new \Cloudflare\API\Endpoints\Crypto($mock);
|
||||||
|
$result = $cryptoMock->getOnionRoutingSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||||
|
|
||||||
|
$this->assertEquals('off', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUpdateOpportunisticEncryptionSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateOpportunisticEncryptionSetting.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/opportunistic_encryption'),
|
||||||
|
$this->equalTo(['value' => 'off'])
|
||||||
|
);
|
||||||
|
|
||||||
|
$cryptoMock = new \Cloudflare\API\Endpoints\Crypto($mock);
|
||||||
|
$result = $cryptoMock->updateOpportunisticEncryptionSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', 'off');
|
||||||
|
|
||||||
|
$this->assertTrue($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUpdateOnionRoutingSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateOnionRoutingSetting.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/opportunistic_onion'),
|
||||||
|
$this->equalTo(['value' => 'off'])
|
||||||
|
);
|
||||||
|
|
||||||
|
$cryptoMock = new \Cloudflare\API\Endpoints\Crypto($mock);
|
||||||
|
$result = $cryptoMock->updateOnionRoutingSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', 'off');
|
||||||
|
|
||||||
|
$this->assertTrue($result);
|
||||||
|
}
|
||||||
|
}
|
||||||
141
tests/Endpoints/SSLTest.php
Normal file
141
tests/Endpoints/SSLTest.php
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class SSLTest extends TestCase
|
||||||
|
{
|
||||||
|
public function testGetSSLSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getSSLSetting.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/settings/ssl')
|
||||||
|
);
|
||||||
|
|
||||||
|
$sslMock = new \Cloudflare\API\Endpoints\SSL($mock);
|
||||||
|
$result = $sslMock->getSSLSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||||
|
|
||||||
|
$this->assertEquals('off', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetSSLVerificationStatus()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getSSLVerificationStatus.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/ssl/verification')
|
||||||
|
);
|
||||||
|
|
||||||
|
$sslMock = new \Cloudflare\API\Endpoints\SSL($mock);
|
||||||
|
$result = $sslMock->getSSLVerificationStatus('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||||
|
|
||||||
|
$this->assertObjectHasAttribute('result', $result);
|
||||||
|
$this->assertEquals('active', $result->result{0}->certificate_status);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetHTTPSRedirectSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getHTTPSRedirectSetting.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/settings/always_use_https')
|
||||||
|
);
|
||||||
|
|
||||||
|
$sslMock = new \Cloudflare\API\Endpoints\SSL($mock);
|
||||||
|
$result = $sslMock->getHTTPSRedirectSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||||
|
|
||||||
|
$this->assertEquals('off', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetHTTPSRewritesSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getHTTPSRewritesSetting.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/settings/automatic_https_rewrites')
|
||||||
|
);
|
||||||
|
|
||||||
|
$sslMock = new \Cloudflare\API\Endpoints\SSL($mock);
|
||||||
|
$result = $sslMock->getHTTPSRewritesSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||||
|
|
||||||
|
$this->assertEquals('off', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUpdateSSLSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateSSLSetting.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/ssl'),
|
||||||
|
$this->equalTo(['value' => 'full'])
|
||||||
|
);
|
||||||
|
|
||||||
|
$sslMock = new \Cloudflare\API\Endpoints\SSL($mock);
|
||||||
|
$result = $sslMock->updateSSLSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', 'full');
|
||||||
|
|
||||||
|
$this->assertTrue($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUpdateHTTPSRedirectSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateHTTPSRedirectSetting.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/always_use_https'),
|
||||||
|
$this->equalTo(['value' => 'off'])
|
||||||
|
);
|
||||||
|
|
||||||
|
$sslMock = new \Cloudflare\API\Endpoints\SSL($mock);
|
||||||
|
$result = $sslMock->updateHTTPSRedirectSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', 'off');
|
||||||
|
|
||||||
|
$this->assertTrue($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUpdateHTTPSRewritesSetting()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateHTTPSRewritesSetting.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/automatic_https_rewrites'),
|
||||||
|
$this->equalTo(['value' => 'off'])
|
||||||
|
);
|
||||||
|
|
||||||
|
$sslMock = new \Cloudflare\API\Endpoints\SSL($mock);
|
||||||
|
$result = $sslMock->updateHTTPSRewritesSetting('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', 'off');
|
||||||
|
|
||||||
|
$this->assertTrue($result);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,6 +9,25 @@
|
|||||||
|
|
||||||
class TLSTest extends TestCase
|
class TLSTest extends TestCase
|
||||||
{
|
{
|
||||||
|
public function testGetTLSClientAuth()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getTLSClientAuth.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/settings/tls_client_auth')
|
||||||
|
);
|
||||||
|
|
||||||
|
$tlsMock = new \Cloudflare\API\Endpoints\TLS($mock);
|
||||||
|
$result = $tlsMock->getTLSClientAuth('c2547eb745079dac9320b638f5e225cf483cc5cfdda41');
|
||||||
|
|
||||||
|
$this->assertEquals('off', $result);
|
||||||
|
}
|
||||||
|
|
||||||
public function testEnableTLS13()
|
public function testEnableTLS13()
|
||||||
{
|
{
|
||||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/enableTLS13.json');
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/enableTLS13.json');
|
||||||
@@ -23,8 +42,8 @@ class TLSTest extends TestCase
|
|||||||
$this->equalTo(['value' => 'on'])
|
$this->equalTo(['value' => 'on'])
|
||||||
);
|
);
|
||||||
|
|
||||||
$zoneTLSSettings = new \Cloudflare\API\Endpoints\TLS($mock);
|
$tlsMock = new \Cloudflare\API\Endpoints\TLS($mock);
|
||||||
$result = $zoneTLSSettings->enableTLS13('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', true);
|
$result = $tlsMock->enableTLS13('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', true);
|
||||||
|
|
||||||
$this->assertTrue($result);
|
$this->assertTrue($result);
|
||||||
}
|
}
|
||||||
@@ -43,8 +62,8 @@ class TLSTest extends TestCase
|
|||||||
$this->equalTo(['value' => 'off'])
|
$this->equalTo(['value' => 'off'])
|
||||||
);
|
);
|
||||||
|
|
||||||
$zoneTLSSettings = new \Cloudflare\API\Endpoints\TLS($mock);
|
$tlsMock = new \Cloudflare\API\Endpoints\TLS($mock);
|
||||||
$result = $zoneTLSSettings->disableTLS13('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', true);
|
$result = $tlsMock->disableTLS13('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', true);
|
||||||
|
|
||||||
$this->assertTrue($result);
|
$this->assertTrue($result);
|
||||||
}
|
}
|
||||||
@@ -63,8 +82,28 @@ class TLSTest extends TestCase
|
|||||||
$this->equalTo(['value' => '1.1'])
|
$this->equalTo(['value' => '1.1'])
|
||||||
);
|
);
|
||||||
|
|
||||||
$zoneTLSSettings = new \Cloudflare\API\Endpoints\TLS($mock);
|
$tlsMock = new \Cloudflare\API\Endpoints\TLS($mock);
|
||||||
$result = $zoneTLSSettings->changeMinimumTLSVersion('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', '1.1');
|
$result = $tlsMock->changeMinimumTLSVersion('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', '1.1');
|
||||||
|
|
||||||
|
$this->assertTrue($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUpdateTLSClientAuth()
|
||||||
|
{
|
||||||
|
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateTLSClientAuth.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_client_auth'),
|
||||||
|
$this->equalTo(['value' => 'off'])
|
||||||
|
);
|
||||||
|
|
||||||
|
$tlsMock = new \Cloudflare\API\Endpoints\TLS($mock);
|
||||||
|
$result = $tlsMock->updateTLSClientAuth('c2547eb745079dac9320b638f5e225cf483cc5cfdda41', 'off');
|
||||||
|
|
||||||
$this->assertTrue($result);
|
$this->assertTrue($result);
|
||||||
}
|
}
|
||||||
|
|||||||
6
tests/Fixtures/Endpoints/getHTTPSRedirectSetting.json
Normal file
6
tests/Fixtures/Endpoints/getHTTPSRedirectSetting.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": "off"
|
||||||
|
}
|
||||||
6
tests/Fixtures/Endpoints/getHTTPSRewritesSetting.json
Normal file
6
tests/Fixtures/Endpoints/getHTTPSRewritesSetting.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": "off"
|
||||||
|
}
|
||||||
6
tests/Fixtures/Endpoints/getOnionRoutingSetting.json
Normal file
6
tests/Fixtures/Endpoints/getOnionRoutingSetting.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": "off"
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": {
|
||||||
|
"id": "opportunistic_encryption",
|
||||||
|
"value": "off",
|
||||||
|
"editable": true,
|
||||||
|
"modified_on": "2014-01-01T05:20:00.12345Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
11
tests/Fixtures/Endpoints/getSSLSetting.json
Normal file
11
tests/Fixtures/Endpoints/getSSLSetting.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": {
|
||||||
|
"id": "ssl",
|
||||||
|
"value": "off",
|
||||||
|
"editable": true,
|
||||||
|
"modified_on": "2014-01-01T05:20:00.12345Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
16
tests/Fixtures/Endpoints/getSSLVerificationStatus.json
Normal file
16
tests/Fixtures/Endpoints/getSSLVerificationStatus.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"result": [
|
||||||
|
{
|
||||||
|
"certificate_status": "active",
|
||||||
|
"verification_type": "cname",
|
||||||
|
"verification_status": true,
|
||||||
|
"verification_info": {
|
||||||
|
"record_name": "b3b90cfedd89a3e487d3e383c56c4267.example.com",
|
||||||
|
"record_target": "6979be7e4cfc9e5c603e31df7efac9cc60fee82d.comodoca.com"
|
||||||
|
},
|
||||||
|
"brand_check": false,
|
||||||
|
"validation_method": "txt",
|
||||||
|
"cert_pack_uuid": "a77f8bd7-3b47-46b4-a6f1-75cf98109948"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
11
tests/Fixtures/Endpoints/getTLSClientAuth.json
Normal file
11
tests/Fixtures/Endpoints/getTLSClientAuth.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": {
|
||||||
|
"id": "tls_client_auth",
|
||||||
|
"value": "off",
|
||||||
|
"editable": true,
|
||||||
|
"modified_on": "2014-01-01T05:20:00.12345Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
6
tests/Fixtures/Endpoints/updateHTTPSRedirectSetting.json
Normal file
6
tests/Fixtures/Endpoints/updateHTTPSRedirectSetting.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": "off"
|
||||||
|
}
|
||||||
6
tests/Fixtures/Endpoints/updateHTTPSRewritesSetting.json
Normal file
6
tests/Fixtures/Endpoints/updateHTTPSRewritesSetting.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": "off"
|
||||||
|
}
|
||||||
6
tests/Fixtures/Endpoints/updateOnionRoutingSetting.json
Normal file
6
tests/Fixtures/Endpoints/updateOnionRoutingSetting.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": "off"
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": {
|
||||||
|
"id": "opportunistic_encryption",
|
||||||
|
"value": "on",
|
||||||
|
"editable": true,
|
||||||
|
"modified_on": "2014-01-01T05:20:00.12345Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
11
tests/Fixtures/Endpoints/updateSSLSetting.json
Normal file
11
tests/Fixtures/Endpoints/updateSSLSetting.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": {
|
||||||
|
"id": "ssl",
|
||||||
|
"value": "off",
|
||||||
|
"editable": true,
|
||||||
|
"modified_on": "2014-01-01T05:20:00.12345Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
11
tests/Fixtures/Endpoints/updateTLSClientAuth.json
Normal file
11
tests/Fixtures/Endpoints/updateTLSClientAuth.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"errors": [],
|
||||||
|
"messages": [],
|
||||||
|
"result": {
|
||||||
|
"id": "tls_client_auth",
|
||||||
|
"value": "off",
|
||||||
|
"editable": true,
|
||||||
|
"modified_on": "2014-01-01T05:20:00.12345Z"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user