Unify API response constants

[MAILPOET-1035]
This commit is contained in:
Pavel Dohnal
2017-07-31 13:51:23 +02:00
parent 6e45856622
commit 7cf3d0960d
7 changed files with 34 additions and 40 deletions

View File

@ -40,9 +40,9 @@ class Services extends APIEndpoint {
$state = !empty($result['state']) ? $result['state'] : 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');
} elseif($state == Bridge::MAILPOET_KEY_EXPIRING) {
} elseif($state == Bridge::PREMIUM_KEY_EXPIRING) {
$success_message = sprintf(
__('Your MailPoet Sending Service key expires on %s!', 'mailpoet'),
$this->date_time->formatDate(strtotime($result['data']['expire_at']))
@ -54,7 +54,7 @@ class Services extends APIEndpoint {
}
switch($state) {
case Bridge::MAILPOET_KEY_INVALID:
case Bridge::PREMIUM_KEY_INVALID:
$error = __('Your MailPoet Sending Service key is invalid.', 'mailpoet');
break;
default:

View File

@ -22,7 +22,7 @@ class ServicesChecker {
if(!$mss_key_specified
|| empty($mss_key['state'])
|| $mss_key['state'] == Bridge::MAILPOET_KEY_INVALID
|| $mss_key['state'] == Bridge::PREMIUM_KEY_INVALID
) {
if($display_error_notice) {
$error = Helpers::replaceLinkTags(
@ -33,7 +33,7 @@ class ServicesChecker {
WPNotice::displayError($error);
}
return false;
} elseif($mss_key['state'] == Bridge::MAILPOET_KEY_EXPIRING
} elseif($mss_key['state'] == Bridge::PREMIUM_KEY_EXPIRING
&& !empty($mss_key['data']['expire_at'])
) {
if($display_error_notice) {
@ -48,7 +48,7 @@ class ServicesChecker {
WPNotice::displayWarning($error);
}
return true;
} elseif($mss_key['state'] == Bridge::MAILPOET_KEY_VALID) {
} elseif($mss_key['state'] == Bridge::PREMIUM_KEY_VALID) {
return true;
}

View File

@ -14,12 +14,6 @@ class Bridge {
const PREMIUM_KEY_SETTING_NAME = 'premium.premium_key';
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_INVALID = 'invalid';
const PREMIUM_KEY_EXPIRING = 'expiring';
@ -68,15 +62,15 @@ class Bridge {
private function processMSSKeyCheckResult(array $result) {
$state_map = array(
200 => self::MAILPOET_KEY_VALID,
401 => self::MAILPOET_KEY_INVALID,
402 => self::MAILPOET_KEY_EXPIRING
200 => self::PREMIUM_KEY_VALID,
401 => self::PREMIUM_KEY_INVALID,
402 => self::PREMIUM_KEY_EXPIRING
);
if(!empty($result['code']) && isset($state_map[$result['code']])) {
$key_state = $state_map[$result['code']];
} else {
$key_state = self::MAILPOET_KEY_CHECK_ERROR;
$key_state = self::PREMIUM_KEY_CHECK_ERROR;
}
return $this->buildKeyState(
@ -87,7 +81,7 @@ class Bridge {
function storeMSSKeyAndState($key, $state) {
if(empty($state['state'])
|| $state['state'] === self::MAILPOET_KEY_CHECK_ERROR
|| $state['state'] === self::PREMIUM_KEY_CHECK_ERROR
) {
return false;
}
@ -168,8 +162,8 @@ class Bridge {
function updateSubscriberCount($result) {
if(!empty($result['state'])
&& ($result['state'] === self::MAILPOET_KEY_VALID
|| $result['state'] === self::MAILPOET_KEY_EXPIRING)
&& ($result['state'] === self::PREMIUM_KEY_VALID
|| $result['state'] === self::PREMIUM_KEY_EXPIRING)
) {
return $this->api->updateSubscriberCount(Subscriber::getTotalSubscribers());
}
@ -179,7 +173,7 @@ class Bridge {
static function invalidateKey() {
Setting::setValue(
self::API_KEY_STATE_SETTING_NAME,
array('state' => self::MAILPOET_KEY_INVALID)
array('state' => self::PREMIUM_KEY_INVALID)
);
}

View File

@ -23,7 +23,7 @@ class ServicesTest extends \MailPoetTest {
$this->services_endpoint->bridge = Stub::make(
new Bridge(),
array(
'checkMSSKey' => array('state' => Bridge::MAILPOET_KEY_VALID),
'checkMSSKey' => array('state' => Bridge::PREMIUM_KEY_VALID),
'storeMSSKeyAndState' => Stub::once()
),
$this
@ -36,7 +36,7 @@ class ServicesTest extends \MailPoetTest {
$this->services_endpoint->bridge = Stub::make(
new Bridge(),
array(
'checkMSSKey' => array('state' => Bridge::MAILPOET_KEY_INVALID),
'checkMSSKey' => array('state' => Bridge::PREMIUM_KEY_INVALID),
'storeMSSKeyAndState' => Stub::once()
),
$this
@ -51,7 +51,7 @@ class ServicesTest extends \MailPoetTest {
new Bridge(),
array(
'checkMSSKey' => array(
'state' => Bridge::MAILPOET_KEY_EXPIRING,
'state' => Bridge::PREMIUM_KEY_EXPIRING,
'data' => array('expire_at' => $date->format('c'))
),
'storeMSSKeyAndState' => Stub::once()

View File

@ -34,7 +34,7 @@ class ServicesCheckerTest extends \MailPoetTest {
function testItReturnsTrueIfMSSKeyIsValid() {
Setting::setValue(
Bridge::API_KEY_STATE_SETTING_NAME,
array('state' => Bridge::MAILPOET_KEY_VALID)
array('state' => Bridge::PREMIUM_KEY_VALID)
);
$result = $this->services_checker->isMailPoetAPIKeyValid();
expect($result)->true();
@ -43,7 +43,7 @@ class ServicesCheckerTest extends \MailPoetTest {
function testItReturnsFalseIfMSSKeyIsInvalid() {
Setting::setValue(
Bridge::API_KEY_STATE_SETTING_NAME,
array('state' => Bridge::MAILPOET_KEY_INVALID)
array('state' => Bridge::PREMIUM_KEY_INVALID)
);
$result = $this->services_checker->isMailPoetAPIKeyValid();
expect($result)->false();
@ -53,7 +53,7 @@ class ServicesCheckerTest extends \MailPoetTest {
Setting::setValue(
Bridge::API_KEY_STATE_SETTING_NAME,
array(
'state' => Bridge::MAILPOET_KEY_EXPIRING,
'state' => Bridge::PREMIUM_KEY_EXPIRING,
'data' => array('expire_at' => date('c'))
)
);

View File

@ -20,7 +20,7 @@ class SendingServiceKeyCheckTest extends \MailPoetTest {
}
function testItChecksMSSKey() {
$response = array('code' => Bridge::MAILPOET_KEY_VALID);
$response = array('code' => Bridge::PREMIUM_KEY_VALID);
$this->worker->bridge = Stub::make(
new Bridge,
array(

View File

@ -51,19 +51,19 @@ class BridgeTest extends \MailPoetTest {
function testItChecksValidMSSKey() {
$result = $this->bridge->checkMSSKey($this->valid_key);
expect($result)->notEmpty();
expect($result['state'])->equals(Bridge::MAILPOET_KEY_VALID);
expect($result['state'])->equals(Bridge::PREMIUM_KEY_VALID);
}
function testItChecksInvalidMSSKey() {
$result = $this->bridge->checkMSSKey($this->invalid_key);
expect($result)->notEmpty();
expect($result['state'])->equals(Bridge::MAILPOET_KEY_INVALID);
expect($result['state'])->equals(Bridge::PREMIUM_KEY_INVALID);
}
function testItChecksExpiringMSSKey() {
$result = $this->bridge->checkMSSKey($this->expiring_key);
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();
}
@ -72,14 +72,14 @@ class BridgeTest extends \MailPoetTest {
$this->bridge->api = $api;
$result = $this->bridge->checkMSSKey($this->valid_key);
expect($result)->notEmpty();
expect($result['state'])->equals(Bridge::MAILPOET_KEY_CHECK_ERROR);
expect($result['state'])->equals(Bridge::PREMIUM_KEY_CHECK_ERROR);
}
function testItStoresExpectedMSSKeyStates() {
$states = array(
Bridge::MAILPOET_KEY_VALID => $this->valid_key,
Bridge::MAILPOET_KEY_INVALID => $this->invalid_key,
Bridge::MAILPOET_KEY_EXPIRING => $this->expiring_key
Bridge::PREMIUM_KEY_VALID => $this->valid_key,
Bridge::PREMIUM_KEY_INVALID => $this->invalid_key,
Bridge::PREMIUM_KEY_EXPIRING => $this->expiring_key
);
foreach($states as $state => $key) {
$state = array('state' => $state);
@ -91,7 +91,7 @@ class BridgeTest extends \MailPoetTest {
function testItDoesNotStoreErroneousOrUnexpectedMSSKeyStates() {
$states = array(
array('state' => Bridge::MAILPOET_KEY_CHECK_ERROR),
array('state' => Bridge::PREMIUM_KEY_CHECK_ERROR),
array()
);
foreach($states as $state) {
@ -164,14 +164,14 @@ class BridgeTest extends \MailPoetTest {
function testItUpdatesSubscriberCount() {
// it performs update if the key is valid or expiring
$result = array();
$result['state'] = Bridge::MAILPOET_KEY_VALID;
$result['state'] = Bridge::PREMIUM_KEY_VALID;
$updated = $this->bridge->updateSubscriberCount($result);
expect($updated)->true();
$result['state'] = Bridge::MAILPOET_KEY_EXPIRING;
$result['state'] = Bridge::PREMIUM_KEY_EXPIRING;
$updated = $this->bridge->updateSubscriberCount($result);
expect($updated)->true();
// 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);
expect($updated)->null();
}
@ -179,10 +179,10 @@ class BridgeTest extends \MailPoetTest {
function testItInvalidatesMSSKey() {
Setting::setValue(
Bridge::API_KEY_STATE_SETTING_NAME,
array('state' => Bridge::MAILPOET_KEY_VALID)
array('state' => Bridge::PREMIUM_KEY_VALID)
);
Bridge::invalidateKey();
expect($this->getMSSKeyState())->equals(array('state' => Bridge::MAILPOET_KEY_INVALID));
expect($this->getMSSKeyState())->equals(array('state' => Bridge::PREMIUM_KEY_INVALID));
}
function testItChecksAndStoresKeysOnSettingsSave() {