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; $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:

View File

@ -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;
} }

View File

@ -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)
); );
} }

View File

@ -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()

View File

@ -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'))
) )
); );

View File

@ -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(

View File

@ -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() {