Unify API response constants
[MAILPOET-1035]
This commit is contained in:
@ -40,9 +40,9 @@ class Services extends APIEndpoint {
|
|||||||
$state = !empty($result['state']) ? $result['state'] : null;
|
$state = !empty($result['state']) ? $result['state'] : null;
|
||||||
|
|
||||||
$success_message = null;
|
$success_message = null;
|
||||||
if($state == Bridge::MAILPOET_KEY_VALID) {
|
if($state == Bridge::PREMIUM_KEY_VALID) {
|
||||||
$success_message = __('Your MailPoet Sending Service key has been successfully validated.', 'mailpoet');
|
$success_message = __('Your MailPoet Sending Service key has been successfully validated.', 'mailpoet');
|
||||||
} elseif($state == Bridge::MAILPOET_KEY_EXPIRING) {
|
} elseif($state == Bridge::PREMIUM_KEY_EXPIRING) {
|
||||||
$success_message = sprintf(
|
$success_message = sprintf(
|
||||||
__('Your MailPoet Sending Service key expires on %s!', 'mailpoet'),
|
__('Your MailPoet Sending Service key expires on %s!', 'mailpoet'),
|
||||||
$this->date_time->formatDate(strtotime($result['data']['expire_at']))
|
$this->date_time->formatDate(strtotime($result['data']['expire_at']))
|
||||||
@ -54,7 +54,7 @@ class Services extends APIEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch($state) {
|
switch($state) {
|
||||||
case Bridge::MAILPOET_KEY_INVALID:
|
case Bridge::PREMIUM_KEY_INVALID:
|
||||||
$error = __('Your MailPoet Sending Service key is invalid.', 'mailpoet');
|
$error = __('Your MailPoet Sending Service key is invalid.', 'mailpoet');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -22,7 +22,7 @@ class ServicesChecker {
|
|||||||
|
|
||||||
if(!$mss_key_specified
|
if(!$mss_key_specified
|
||||||
|| empty($mss_key['state'])
|
|| empty($mss_key['state'])
|
||||||
|| $mss_key['state'] == Bridge::MAILPOET_KEY_INVALID
|
|| $mss_key['state'] == Bridge::PREMIUM_KEY_INVALID
|
||||||
) {
|
) {
|
||||||
if($display_error_notice) {
|
if($display_error_notice) {
|
||||||
$error = Helpers::replaceLinkTags(
|
$error = Helpers::replaceLinkTags(
|
||||||
@ -33,7 +33,7 @@ class ServicesChecker {
|
|||||||
WPNotice::displayError($error);
|
WPNotice::displayError($error);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
} elseif($mss_key['state'] == Bridge::MAILPOET_KEY_EXPIRING
|
} elseif($mss_key['state'] == Bridge::PREMIUM_KEY_EXPIRING
|
||||||
&& !empty($mss_key['data']['expire_at'])
|
&& !empty($mss_key['data']['expire_at'])
|
||||||
) {
|
) {
|
||||||
if($display_error_notice) {
|
if($display_error_notice) {
|
||||||
@ -48,7 +48,7 @@ class ServicesChecker {
|
|||||||
WPNotice::displayWarning($error);
|
WPNotice::displayWarning($error);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} elseif($mss_key['state'] == Bridge::MAILPOET_KEY_VALID) {
|
} elseif($mss_key['state'] == Bridge::PREMIUM_KEY_VALID) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,12 +14,6 @@ class Bridge {
|
|||||||
const PREMIUM_KEY_SETTING_NAME = 'premium.premium_key';
|
const PREMIUM_KEY_SETTING_NAME = 'premium.premium_key';
|
||||||
const PREMIUM_KEY_STATE_SETTING_NAME = 'premium.premium_key_state';
|
const PREMIUM_KEY_STATE_SETTING_NAME = 'premium.premium_key_state';
|
||||||
|
|
||||||
const MAILPOET_KEY_VALID = 'valid';
|
|
||||||
const MAILPOET_KEY_INVALID = 'invalid';
|
|
||||||
const MAILPOET_KEY_EXPIRING = 'expiring';
|
|
||||||
|
|
||||||
const MAILPOET_KEY_CHECK_ERROR = 'check_error';
|
|
||||||
|
|
||||||
const PREMIUM_KEY_VALID = 'valid';
|
const PREMIUM_KEY_VALID = 'valid';
|
||||||
const PREMIUM_KEY_INVALID = 'invalid';
|
const PREMIUM_KEY_INVALID = 'invalid';
|
||||||
const PREMIUM_KEY_EXPIRING = 'expiring';
|
const PREMIUM_KEY_EXPIRING = 'expiring';
|
||||||
@ -68,15 +62,15 @@ class Bridge {
|
|||||||
|
|
||||||
private function processMSSKeyCheckResult(array $result) {
|
private function processMSSKeyCheckResult(array $result) {
|
||||||
$state_map = array(
|
$state_map = array(
|
||||||
200 => self::MAILPOET_KEY_VALID,
|
200 => self::PREMIUM_KEY_VALID,
|
||||||
401 => self::MAILPOET_KEY_INVALID,
|
401 => self::PREMIUM_KEY_INVALID,
|
||||||
402 => self::MAILPOET_KEY_EXPIRING
|
402 => self::PREMIUM_KEY_EXPIRING
|
||||||
);
|
);
|
||||||
|
|
||||||
if(!empty($result['code']) && isset($state_map[$result['code']])) {
|
if(!empty($result['code']) && isset($state_map[$result['code']])) {
|
||||||
$key_state = $state_map[$result['code']];
|
$key_state = $state_map[$result['code']];
|
||||||
} else {
|
} else {
|
||||||
$key_state = self::MAILPOET_KEY_CHECK_ERROR;
|
$key_state = self::PREMIUM_KEY_CHECK_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->buildKeyState(
|
return $this->buildKeyState(
|
||||||
@ -87,7 +81,7 @@ class Bridge {
|
|||||||
|
|
||||||
function storeMSSKeyAndState($key, $state) {
|
function storeMSSKeyAndState($key, $state) {
|
||||||
if(empty($state['state'])
|
if(empty($state['state'])
|
||||||
|| $state['state'] === self::MAILPOET_KEY_CHECK_ERROR
|
|| $state['state'] === self::PREMIUM_KEY_CHECK_ERROR
|
||||||
) {
|
) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -168,8 +162,8 @@ class Bridge {
|
|||||||
|
|
||||||
function updateSubscriberCount($result) {
|
function updateSubscriberCount($result) {
|
||||||
if(!empty($result['state'])
|
if(!empty($result['state'])
|
||||||
&& ($result['state'] === self::MAILPOET_KEY_VALID
|
&& ($result['state'] === self::PREMIUM_KEY_VALID
|
||||||
|| $result['state'] === self::MAILPOET_KEY_EXPIRING)
|
|| $result['state'] === self::PREMIUM_KEY_EXPIRING)
|
||||||
) {
|
) {
|
||||||
return $this->api->updateSubscriberCount(Subscriber::getTotalSubscribers());
|
return $this->api->updateSubscriberCount(Subscriber::getTotalSubscribers());
|
||||||
}
|
}
|
||||||
@ -179,7 +173,7 @@ class Bridge {
|
|||||||
static function invalidateKey() {
|
static function invalidateKey() {
|
||||||
Setting::setValue(
|
Setting::setValue(
|
||||||
self::API_KEY_STATE_SETTING_NAME,
|
self::API_KEY_STATE_SETTING_NAME,
|
||||||
array('state' => self::MAILPOET_KEY_INVALID)
|
array('state' => self::PREMIUM_KEY_INVALID)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ class ServicesTest extends \MailPoetTest {
|
|||||||
$this->services_endpoint->bridge = Stub::make(
|
$this->services_endpoint->bridge = Stub::make(
|
||||||
new Bridge(),
|
new Bridge(),
|
||||||
array(
|
array(
|
||||||
'checkMSSKey' => array('state' => Bridge::MAILPOET_KEY_VALID),
|
'checkMSSKey' => array('state' => Bridge::PREMIUM_KEY_VALID),
|
||||||
'storeMSSKeyAndState' => Stub::once()
|
'storeMSSKeyAndState' => Stub::once()
|
||||||
),
|
),
|
||||||
$this
|
$this
|
||||||
@ -36,7 +36,7 @@ class ServicesTest extends \MailPoetTest {
|
|||||||
$this->services_endpoint->bridge = Stub::make(
|
$this->services_endpoint->bridge = Stub::make(
|
||||||
new Bridge(),
|
new Bridge(),
|
||||||
array(
|
array(
|
||||||
'checkMSSKey' => array('state' => Bridge::MAILPOET_KEY_INVALID),
|
'checkMSSKey' => array('state' => Bridge::PREMIUM_KEY_INVALID),
|
||||||
'storeMSSKeyAndState' => Stub::once()
|
'storeMSSKeyAndState' => Stub::once()
|
||||||
),
|
),
|
||||||
$this
|
$this
|
||||||
@ -51,7 +51,7 @@ class ServicesTest extends \MailPoetTest {
|
|||||||
new Bridge(),
|
new Bridge(),
|
||||||
array(
|
array(
|
||||||
'checkMSSKey' => array(
|
'checkMSSKey' => array(
|
||||||
'state' => Bridge::MAILPOET_KEY_EXPIRING,
|
'state' => Bridge::PREMIUM_KEY_EXPIRING,
|
||||||
'data' => array('expire_at' => $date->format('c'))
|
'data' => array('expire_at' => $date->format('c'))
|
||||||
),
|
),
|
||||||
'storeMSSKeyAndState' => Stub::once()
|
'storeMSSKeyAndState' => Stub::once()
|
||||||
|
@ -34,7 +34,7 @@ class ServicesCheckerTest extends \MailPoetTest {
|
|||||||
function testItReturnsTrueIfMSSKeyIsValid() {
|
function testItReturnsTrueIfMSSKeyIsValid() {
|
||||||
Setting::setValue(
|
Setting::setValue(
|
||||||
Bridge::API_KEY_STATE_SETTING_NAME,
|
Bridge::API_KEY_STATE_SETTING_NAME,
|
||||||
array('state' => Bridge::MAILPOET_KEY_VALID)
|
array('state' => Bridge::PREMIUM_KEY_VALID)
|
||||||
);
|
);
|
||||||
$result = $this->services_checker->isMailPoetAPIKeyValid();
|
$result = $this->services_checker->isMailPoetAPIKeyValid();
|
||||||
expect($result)->true();
|
expect($result)->true();
|
||||||
@ -43,7 +43,7 @@ class ServicesCheckerTest extends \MailPoetTest {
|
|||||||
function testItReturnsFalseIfMSSKeyIsInvalid() {
|
function testItReturnsFalseIfMSSKeyIsInvalid() {
|
||||||
Setting::setValue(
|
Setting::setValue(
|
||||||
Bridge::API_KEY_STATE_SETTING_NAME,
|
Bridge::API_KEY_STATE_SETTING_NAME,
|
||||||
array('state' => Bridge::MAILPOET_KEY_INVALID)
|
array('state' => Bridge::PREMIUM_KEY_INVALID)
|
||||||
);
|
);
|
||||||
$result = $this->services_checker->isMailPoetAPIKeyValid();
|
$result = $this->services_checker->isMailPoetAPIKeyValid();
|
||||||
expect($result)->false();
|
expect($result)->false();
|
||||||
@ -53,7 +53,7 @@ class ServicesCheckerTest extends \MailPoetTest {
|
|||||||
Setting::setValue(
|
Setting::setValue(
|
||||||
Bridge::API_KEY_STATE_SETTING_NAME,
|
Bridge::API_KEY_STATE_SETTING_NAME,
|
||||||
array(
|
array(
|
||||||
'state' => Bridge::MAILPOET_KEY_EXPIRING,
|
'state' => Bridge::PREMIUM_KEY_EXPIRING,
|
||||||
'data' => array('expire_at' => date('c'))
|
'data' => array('expire_at' => date('c'))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -20,7 +20,7 @@ class SendingServiceKeyCheckTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function testItChecksMSSKey() {
|
function testItChecksMSSKey() {
|
||||||
$response = array('code' => Bridge::MAILPOET_KEY_VALID);
|
$response = array('code' => Bridge::PREMIUM_KEY_VALID);
|
||||||
$this->worker->bridge = Stub::make(
|
$this->worker->bridge = Stub::make(
|
||||||
new Bridge,
|
new Bridge,
|
||||||
array(
|
array(
|
||||||
|
@ -51,19 +51,19 @@ class BridgeTest extends \MailPoetTest {
|
|||||||
function testItChecksValidMSSKey() {
|
function testItChecksValidMSSKey() {
|
||||||
$result = $this->bridge->checkMSSKey($this->valid_key);
|
$result = $this->bridge->checkMSSKey($this->valid_key);
|
||||||
expect($result)->notEmpty();
|
expect($result)->notEmpty();
|
||||||
expect($result['state'])->equals(Bridge::MAILPOET_KEY_VALID);
|
expect($result['state'])->equals(Bridge::PREMIUM_KEY_VALID);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItChecksInvalidMSSKey() {
|
function testItChecksInvalidMSSKey() {
|
||||||
$result = $this->bridge->checkMSSKey($this->invalid_key);
|
$result = $this->bridge->checkMSSKey($this->invalid_key);
|
||||||
expect($result)->notEmpty();
|
expect($result)->notEmpty();
|
||||||
expect($result['state'])->equals(Bridge::MAILPOET_KEY_INVALID);
|
expect($result['state'])->equals(Bridge::PREMIUM_KEY_INVALID);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItChecksExpiringMSSKey() {
|
function testItChecksExpiringMSSKey() {
|
||||||
$result = $this->bridge->checkMSSKey($this->expiring_key);
|
$result = $this->bridge->checkMSSKey($this->expiring_key);
|
||||||
expect($result)->notEmpty();
|
expect($result)->notEmpty();
|
||||||
expect($result['state'])->equals(Bridge::MAILPOET_KEY_EXPIRING);
|
expect($result['state'])->equals(Bridge::PREMIUM_KEY_EXPIRING);
|
||||||
expect($result['data']['expire_at'])->notEmpty();
|
expect($result['data']['expire_at'])->notEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,14 +72,14 @@ class BridgeTest extends \MailPoetTest {
|
|||||||
$this->bridge->api = $api;
|
$this->bridge->api = $api;
|
||||||
$result = $this->bridge->checkMSSKey($this->valid_key);
|
$result = $this->bridge->checkMSSKey($this->valid_key);
|
||||||
expect($result)->notEmpty();
|
expect($result)->notEmpty();
|
||||||
expect($result['state'])->equals(Bridge::MAILPOET_KEY_CHECK_ERROR);
|
expect($result['state'])->equals(Bridge::PREMIUM_KEY_CHECK_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItStoresExpectedMSSKeyStates() {
|
function testItStoresExpectedMSSKeyStates() {
|
||||||
$states = array(
|
$states = array(
|
||||||
Bridge::MAILPOET_KEY_VALID => $this->valid_key,
|
Bridge::PREMIUM_KEY_VALID => $this->valid_key,
|
||||||
Bridge::MAILPOET_KEY_INVALID => $this->invalid_key,
|
Bridge::PREMIUM_KEY_INVALID => $this->invalid_key,
|
||||||
Bridge::MAILPOET_KEY_EXPIRING => $this->expiring_key
|
Bridge::PREMIUM_KEY_EXPIRING => $this->expiring_key
|
||||||
);
|
);
|
||||||
foreach($states as $state => $key) {
|
foreach($states as $state => $key) {
|
||||||
$state = array('state' => $state);
|
$state = array('state' => $state);
|
||||||
@ -91,7 +91,7 @@ class BridgeTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testItDoesNotStoreErroneousOrUnexpectedMSSKeyStates() {
|
function testItDoesNotStoreErroneousOrUnexpectedMSSKeyStates() {
|
||||||
$states = array(
|
$states = array(
|
||||||
array('state' => Bridge::MAILPOET_KEY_CHECK_ERROR),
|
array('state' => Bridge::PREMIUM_KEY_CHECK_ERROR),
|
||||||
array()
|
array()
|
||||||
);
|
);
|
||||||
foreach($states as $state) {
|
foreach($states as $state) {
|
||||||
@ -164,14 +164,14 @@ class BridgeTest extends \MailPoetTest {
|
|||||||
function testItUpdatesSubscriberCount() {
|
function testItUpdatesSubscriberCount() {
|
||||||
// it performs update if the key is valid or expiring
|
// it performs update if the key is valid or expiring
|
||||||
$result = array();
|
$result = array();
|
||||||
$result['state'] = Bridge::MAILPOET_KEY_VALID;
|
$result['state'] = Bridge::PREMIUM_KEY_VALID;
|
||||||
$updated = $this->bridge->updateSubscriberCount($result);
|
$updated = $this->bridge->updateSubscriberCount($result);
|
||||||
expect($updated)->true();
|
expect($updated)->true();
|
||||||
$result['state'] = Bridge::MAILPOET_KEY_EXPIRING;
|
$result['state'] = Bridge::PREMIUM_KEY_EXPIRING;
|
||||||
$updated = $this->bridge->updateSubscriberCount($result);
|
$updated = $this->bridge->updateSubscriberCount($result);
|
||||||
expect($updated)->true();
|
expect($updated)->true();
|
||||||
// it does not perform update if the key is invalid
|
// it does not perform update if the key is invalid
|
||||||
$result['state'] = Bridge::MAILPOET_KEY_INVALID;
|
$result['state'] = Bridge::PREMIUM_KEY_INVALID;
|
||||||
$updated = $this->bridge->updateSubscriberCount($result);
|
$updated = $this->bridge->updateSubscriberCount($result);
|
||||||
expect($updated)->null();
|
expect($updated)->null();
|
||||||
}
|
}
|
||||||
@ -179,10 +179,10 @@ class BridgeTest extends \MailPoetTest {
|
|||||||
function testItInvalidatesMSSKey() {
|
function testItInvalidatesMSSKey() {
|
||||||
Setting::setValue(
|
Setting::setValue(
|
||||||
Bridge::API_KEY_STATE_SETTING_NAME,
|
Bridge::API_KEY_STATE_SETTING_NAME,
|
||||||
array('state' => Bridge::MAILPOET_KEY_VALID)
|
array('state' => Bridge::PREMIUM_KEY_VALID)
|
||||||
);
|
);
|
||||||
Bridge::invalidateKey();
|
Bridge::invalidateKey();
|
||||||
expect($this->getMSSKeyState())->equals(array('state' => Bridge::MAILPOET_KEY_INVALID));
|
expect($this->getMSSKeyState())->equals(array('state' => Bridge::PREMIUM_KEY_INVALID));
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItChecksAndStoresKeysOnSettingsSave() {
|
function testItChecksAndStoresKeysOnSettingsSave() {
|
||||||
|
Reference in New Issue
Block a user