Rename Daemon to DaemonHttpRunner
[MAILPOET-1538]
This commit is contained in:
@@ -83,12 +83,12 @@ class CronHelper {
|
||||
$result = self::queryCronUrl($url);
|
||||
if(is_wp_error($result)) return $result->get_error_message();
|
||||
$response = WPFunctions::wpRemoteRetrieveBody($result);
|
||||
$response = substr(trim($response), -strlen(Daemon::PING_SUCCESS_RESPONSE)) === Daemon::PING_SUCCESS_RESPONSE ?
|
||||
Daemon::PING_SUCCESS_RESPONSE :
|
||||
$response = substr(trim($response), -strlen(DaemonHttpRunner::PING_SUCCESS_RESPONSE)) === DaemonHttpRunner::PING_SUCCESS_RESPONSE ?
|
||||
DaemonHttpRunner::PING_SUCCESS_RESPONSE :
|
||||
$response;
|
||||
return (!$validate_response) ?
|
||||
$response :
|
||||
$response === Daemon::PING_SUCCESS_RESPONSE;
|
||||
$response === DaemonHttpRunner::PING_SUCCESS_RESPONSE;
|
||||
}
|
||||
|
||||
static function accessDaemon($token) {
|
||||
|
@@ -11,7 +11,7 @@ use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCh
|
||||
if(!defined('ABSPATH')) exit;
|
||||
require_once(ABSPATH . 'wp-includes/pluggable.php');
|
||||
|
||||
class Daemon {
|
||||
class DaemonHttpRunner {
|
||||
public $daemon;
|
||||
public $request_data;
|
||||
public $timer;
|
@@ -4,7 +4,7 @@ namespace MailPoet\Router\Endpoints;
|
||||
|
||||
use MailPoet\Config\AccessControl;
|
||||
use MailPoet\Cron\CronHelper;
|
||||
use MailPoet\Cron\Daemon;
|
||||
use MailPoet\Cron\DaemonHttpRunner;
|
||||
|
||||
if(!defined('ABSPATH')) exit;
|
||||
|
||||
@@ -28,7 +28,7 @@ class CronDaemon {
|
||||
}
|
||||
|
||||
function run() {
|
||||
$queue = new Daemon($this->data);
|
||||
$queue = new DaemonHttpRunner($this->data);
|
||||
$queue->run();
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ class CronDaemon {
|
||||
}
|
||||
|
||||
function pingResponse() {
|
||||
$queue = new Daemon();
|
||||
$queue = new DaemonHttpRunner();
|
||||
$queue->ping();
|
||||
}
|
||||
}
|
||||
|
@@ -5,7 +5,7 @@ namespace MailPoet\Test\Cron;
|
||||
use AspectMock\Test as Mock;
|
||||
use Helper\WordPress as WPHelper;
|
||||
use MailPoet\Cron\CronHelper;
|
||||
use MailPoet\Cron\Daemon;
|
||||
use MailPoet\Cron\DaemonHttpRunner;
|
||||
use MailPoet\Models\Setting;
|
||||
use MailPoet\WP\Hooks as WPHooks;
|
||||
|
||||
@@ -294,7 +294,7 @@ class CronHelperTest extends \MailPoetTest {
|
||||
function testItPingsDaemon() {
|
||||
if(getenv('WP_TEST_ENABLE_NETWORK_TESTS') !== 'true') return;
|
||||
// raw response is returned
|
||||
expect(CronHelper::pingDaemon())->equals(Daemon::PING_SUCCESS_RESPONSE);
|
||||
expect(CronHelper::pingDaemon())->equals(DaemonHttpRunner::PING_SUCCESS_RESPONSE);
|
||||
// response is validated
|
||||
expect(CronHelper::pingDaemon(true))->true();
|
||||
}
|
||||
|
@@ -4,16 +4,16 @@ namespace MailPoet\Test\Cron;
|
||||
use Codeception\Stub;
|
||||
use Codeception\Stub\Expected;
|
||||
use MailPoet\Cron\CronHelper;
|
||||
use MailPoet\Cron\Daemon;
|
||||
use MailPoet\Cron\DaemonHttpRunner;
|
||||
use MailPoet\Models\Setting;
|
||||
|
||||
class DaemonTest extends \MailPoetTest {
|
||||
class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
function testItConstructs() {
|
||||
Setting::setValue(
|
||||
CronHelper::DAEMON_SETTING,
|
||||
'daemon object'
|
||||
);
|
||||
$daemon = new Daemon($request_data = 'request data');
|
||||
$daemon = new DaemonHttpRunner($request_data = 'request data');
|
||||
expect($daemon->daemon)->equals('daemon object');
|
||||
expect($daemon->request_data)->equals('request data');
|
||||
expect(strlen($daemon->timer))->greaterOrEquals(5);
|
||||
@@ -22,7 +22,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
|
||||
function testItDoesNotRunWithoutRequestData() {
|
||||
$daemon = Stub::construct(
|
||||
new Daemon(),
|
||||
new DaemonHttpRunner(),
|
||||
array(),
|
||||
array(
|
||||
'abortWithError' => function($message) {
|
||||
@@ -36,7 +36,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
|
||||
function testItDoesNotRunWhenDaemonIsNotFound() {
|
||||
$daemon = Stub::construct(
|
||||
new Daemon(),
|
||||
new DaemonHttpRunner(),
|
||||
array(),
|
||||
array(
|
||||
'abortWithError' => function($message) {
|
||||
@@ -50,7 +50,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
|
||||
function testItDoesNotRunWhenThereIsInvalidOrMissingToken() {
|
||||
$daemon = Stub::construct(
|
||||
new Daemon(),
|
||||
new DaemonHttpRunner(),
|
||||
array(),
|
||||
array(
|
||||
'abortWithError' => function($message) {
|
||||
@@ -66,7 +66,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItCanExecuteWorkers() {
|
||||
$daemon = Stub::make(new Daemon(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
'executeScheduleWorker' => Expected::exactly(1),
|
||||
'executeQueueWorker' => Expected::exactly(1),
|
||||
'pauseExecution' => null,
|
||||
@@ -81,7 +81,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItStoresErrorMessageAndContinuesExecutionWhenWorkersThrowException() {
|
||||
$daemon = Stub::make(new Daemon(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
'executeScheduleWorker' => function() {
|
||||
throw new \Exception('Message');
|
||||
},
|
||||
@@ -102,7 +102,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItCanPauseExecution() {
|
||||
$daemon = Stub::make(new Daemon(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
'executeScheduleWorker' => null,
|
||||
'executeQueueWorker' => null,
|
||||
'pauseExecution' => Expected::exactly(1, function($pause_delay) {
|
||||
@@ -121,7 +121,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
|
||||
|
||||
function testItTerminatesExecutionWhenDaemonIsDeleted() {
|
||||
$daemon = Stub::make(new Daemon(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
'executeScheduleWorker' => function() {
|
||||
Setting::deleteValue(CronHelper::DAEMON_SETTING);
|
||||
},
|
||||
@@ -138,7 +138,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItTerminatesExecutionWhenDaemonTokenChangesAndKeepsChangedToken() {
|
||||
$daemon = Stub::make(new Daemon(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
'executeScheduleWorker' => function() {
|
||||
Setting::setValue(
|
||||
CronHelper::DAEMON_SETTING,
|
||||
@@ -160,7 +160,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItTerminatesExecutionWhenDaemonIsDeactivated() {
|
||||
$daemon = Stub::make(new Daemon(true), [
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), [
|
||||
'executeScheduleWorker' => null,
|
||||
'executeQueueWorker' => null,
|
||||
'pauseExecution' => null,
|
||||
@@ -176,7 +176,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItUpdatesDaemonTokenDuringExecution() {
|
||||
$daemon = Stub::make(new Daemon(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
'executeScheduleWorker' => null,
|
||||
'executeQueueWorker' => null,
|
||||
'pauseExecution' => null,
|
||||
@@ -193,7 +193,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItUpdatesTimestampsDuringExecution() {
|
||||
$daemon = Stub::make(new Daemon(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
'executeScheduleWorker' => function() {
|
||||
sleep(2);
|
||||
},
|
||||
@@ -218,7 +218,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
function testItCanRun() {
|
||||
ignore_user_abort(0);
|
||||
expect(ignore_user_abort())->equals(0);
|
||||
$daemon = Stub::make(new Daemon(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
'pauseExecution' => null,
|
||||
// workers should be executed
|
||||
'executeScheduleWorker' => Expected::exactly(1),
|
||||
@@ -236,7 +236,7 @@ class DaemonTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItRespondsToPingRequest() {
|
||||
$daemon = Stub::make(new Daemon(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
'terminateRequest' => Expected::exactly(1, function($message) {
|
||||
expect($message)->equals('pong');
|
||||
})
|
||||
|
@@ -17,14 +17,18 @@ use MailPoet\Models\SubscriberCustomField;
|
||||
use MailPoet\Models\SubscriberSegment;
|
||||
|
||||
class SubscriberTest extends \MailPoetTest {
|
||||
|
||||
/** @var array */
|
||||
private $test_data;
|
||||
|
||||
function _before() {
|
||||
$this->data = array(
|
||||
$this->test_data = array(
|
||||
'first_name' => 'John',
|
||||
'last_name' => 'Mailer',
|
||||
'email' => 'john@mailpoet.com'
|
||||
);
|
||||
$this->subscriber = Subscriber::create();
|
||||
$this->subscriber->hydrate($this->data);
|
||||
$this->subscriber->hydrate($this->test_data);
|
||||
$this->saved = $this->subscriber->save();
|
||||
}
|
||||
|
||||
@@ -35,26 +39,26 @@ class SubscriberTest extends \MailPoetTest {
|
||||
|
||||
function testItHasFirstName() {
|
||||
$subscriber =
|
||||
Subscriber::where('email', $this->data['email'])
|
||||
Subscriber::where('email', $this->test_data['email'])
|
||||
->findOne();
|
||||
expect($subscriber->first_name)
|
||||
->equals($this->data['first_name']);
|
||||
->equals($this->test_data['first_name']);
|
||||
}
|
||||
|
||||
function testItHasLastName() {
|
||||
$subscriber =
|
||||
Subscriber::where('email', $this->data['email'])
|
||||
Subscriber::where('email', $this->test_data['email'])
|
||||
->findOne();
|
||||
expect($subscriber->last_name)
|
||||
->equals($this->data['last_name']);
|
||||
->equals($this->test_data['last_name']);
|
||||
}
|
||||
|
||||
function testItHasEmail() {
|
||||
$subscriber =
|
||||
Subscriber::where('email', $this->data['email'])
|
||||
Subscriber::where('email', $this->test_data['email'])
|
||||
->findOne();
|
||||
expect($subscriber->email)
|
||||
->equals($this->data['email']);
|
||||
->equals($this->test_data['email']);
|
||||
}
|
||||
|
||||
function testItShouldSetErrors() {
|
||||
@@ -92,26 +96,26 @@ class SubscriberTest extends \MailPoetTest {
|
||||
|
||||
function emailMustBeUnique() {
|
||||
$conflict_subscriber = Subscriber::create();
|
||||
$conflict_subscriber->hydrate($this->data);
|
||||
$conflict_subscriber->hydrate($this->test_data);
|
||||
$saved = $conflict_subscriber->save();
|
||||
expect($saved)->notEquals(true);
|
||||
}
|
||||
|
||||
function testItHasStatusDefaultStatusOfUnconfirmed() {
|
||||
$subscriber =
|
||||
Subscriber::where('email', $this->data['email'])
|
||||
Subscriber::where('email', $this->test_data['email'])
|
||||
->findOne();
|
||||
expect($subscriber->status)->equals(Subscriber::STATUS_UNCONFIRMED);
|
||||
}
|
||||
|
||||
function testItCanChangeStatus() {
|
||||
$subscriber = Subscriber::where('email', $this->data['email'])->findOne();
|
||||
$subscriber = Subscriber::where('email', $this->test_data['email'])->findOne();
|
||||
$subscriber->status = Subscriber::STATUS_SUBSCRIBED;
|
||||
$subscriber->save();
|
||||
|
||||
expect($subscriber->id() > 0)->true();
|
||||
expect($subscriber->getErrors())->false();
|
||||
$subscriber_updated = Subscriber::where('email', $this->data['email'])
|
||||
$subscriber_updated = Subscriber::where('email', $this->test_data['email'])
|
||||
->findOne();
|
||||
expect($subscriber_updated->status)->equals(Subscriber::STATUS_SUBSCRIBED);
|
||||
}
|
||||
@@ -119,13 +123,13 @@ class SubscriberTest extends \MailPoetTest {
|
||||
function testItHasSearchFilter() {
|
||||
$subscriber = Subscriber::filter('search', 'john')
|
||||
->findOne();
|
||||
expect($subscriber->first_name)->equals($this->data['first_name']);
|
||||
expect($subscriber->first_name)->equals($this->test_data['first_name']);
|
||||
$subscriber = Subscriber::filter('search', 'mailer')
|
||||
->findOne();
|
||||
expect($subscriber->last_name)->equals($this->data['last_name']);
|
||||
expect($subscriber->last_name)->equals($this->test_data['last_name']);
|
||||
$subscriber = Subscriber::filter('search', 'mailpoet')
|
||||
->findOne();
|
||||
expect($subscriber->email)->equals($this->data['email']);
|
||||
expect($subscriber->email)->equals($this->test_data['email']);
|
||||
}
|
||||
|
||||
function testItHasGroupFilter() {
|
||||
@@ -425,15 +429,15 @@ class SubscriberTest extends \MailPoetTest {
|
||||
$segment2->save();
|
||||
|
||||
$subscriber = Subscriber::subscribe(
|
||||
$this->data,
|
||||
$this->test_data,
|
||||
array($segment->id(), $segment2->id())
|
||||
);
|
||||
|
||||
expect($subscriber->id() > 0)->equals(true);
|
||||
expect($subscriber->segments()->count())->equals(2);
|
||||
expect($subscriber->email)->equals($this->data['email']);
|
||||
expect($subscriber->first_name)->equals($this->data['first_name']);
|
||||
expect($subscriber->last_name)->equals($this->data['last_name']);
|
||||
expect($subscriber->email)->equals($this->test_data['email']);
|
||||
expect($subscriber->first_name)->equals($this->test_data['first_name']);
|
||||
expect($subscriber->last_name)->equals($this->test_data['last_name']);
|
||||
// signup confirmation is enabled by default
|
||||
expect($subscriber->status)->equals(Subscriber::STATUS_UNCONFIRMED);
|
||||
expect($subscriber->deleted_at)->equals(null);
|
||||
@@ -477,7 +481,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
$signup_confirmation_enabled = (bool)Setting::setValue(
|
||||
'signup_confirmation.enabled', false
|
||||
);
|
||||
$subscriber = Subscriber::subscribe($this->data, array($segment->id()));
|
||||
$subscriber = Subscriber::subscribe($this->test_data, array($segment->id()));
|
||||
expect($subscriber->id() > 0)->equals(true);
|
||||
expect($subscriber->segments()->count())->equals(1);
|
||||
$scheduled_notification = SendingQueue::findTaskByNewsletterId($newsletter->id)
|
||||
@@ -524,7 +528,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
$signup_confirmation_enabled = (bool)Setting::setValue(
|
||||
'signup_confirmation.enabled', true
|
||||
);
|
||||
$subscriber = Subscriber::subscribe($this->data, array($segment->id()));
|
||||
$subscriber = Subscriber::subscribe($this->test_data, array($segment->id()));
|
||||
expect($subscriber->id() > 0)->equals(true);
|
||||
expect($subscriber->segments()->count())->equals(1);
|
||||
$scheduled_notification = SendingQueue::findTaskByNewsletterId($newsletter->id)
|
||||
@@ -687,7 +691,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
|
||||
function testItCanBeUpdatedByEmail() {
|
||||
$subscriber_updated = Subscriber::createOrUpdate(array(
|
||||
'email' => $this->data['email'],
|
||||
'email' => $this->test_data['email'],
|
||||
'first_name' => 'JoJo',
|
||||
'last_name' => 'DoDo'
|
||||
));
|
||||
@@ -695,7 +699,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
expect($this->subscriber->id())->equals($subscriber_updated->id());
|
||||
|
||||
$subscriber = Subscriber::findOne($this->subscriber->id());
|
||||
expect($subscriber->email)->equals($this->data['email']);
|
||||
expect($subscriber->email)->equals($this->test_data['email']);
|
||||
expect($subscriber->first_name)->equals('JoJo');
|
||||
expect($subscriber->last_name)->equals('DoDo');
|
||||
}
|
||||
@@ -877,20 +881,20 @@ class SubscriberTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItGeneratesSubscriberToken() {
|
||||
$token = Subscriber::generateToken($this->data['email']);
|
||||
$token = Subscriber::generateToken($this->test_data['email']);
|
||||
expect(strlen($token))->equals(Subscriber::SUBSCRIBER_TOKEN_LENGTH);
|
||||
}
|
||||
|
||||
function testItVerifiesSubscriberToken() {
|
||||
$token = Subscriber::generateToken($this->data['email']);
|
||||
expect(Subscriber::verifyToken($this->data['email'], $token))->true();
|
||||
$token = Subscriber::generateToken($this->test_data['email']);
|
||||
expect(Subscriber::verifyToken($this->test_data['email'], $token))->true();
|
||||
expect(Subscriber::verifyToken('fake@email.com', $token))->false();
|
||||
}
|
||||
|
||||
function testItVerifiesTokensOfDifferentLengths() {
|
||||
$token = md5(AUTH_KEY . $this->data['email']);
|
||||
$token = md5(AUTH_KEY . $this->test_data['email']);
|
||||
expect(strlen($token))->notEquals(Subscriber::SUBSCRIBER_TOKEN_LENGTH);
|
||||
expect(Subscriber::verifyToken($this->data['email'], $token))->true();
|
||||
expect(Subscriber::verifyToken($this->test_data['email'], $token))->true();
|
||||
}
|
||||
|
||||
function testItBulkDeletesSubscribers() {
|
||||
@@ -1079,15 +1083,15 @@ class SubscriberTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItDoesNotSetDefaultValuesForExistingSubscribers() {
|
||||
$existing_subscriber_data = $this->data;
|
||||
$existing_subscriber_data = $this->test_data;
|
||||
$result = Subscriber::createOrUpdate(
|
||||
array(
|
||||
'email' => $existing_subscriber_data['email']
|
||||
)
|
||||
);
|
||||
expect($result->getErrors())->false();
|
||||
expect($result->first_name)->equals($this->data['first_name']);
|
||||
expect($result->last_name)->equals($this->data['last_name']);
|
||||
expect($result->first_name)->equals($this->test_data['first_name']);
|
||||
expect($result->last_name)->equals($this->test_data['last_name']);
|
||||
}
|
||||
|
||||
function testItExtractsCustomFieldsFromObject() {
|
||||
|
@@ -7,6 +7,7 @@ use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||
|
||||
class SubscribersTest extends \MailPoetTest {
|
||||
|
||||
function testChecksIfSubscribersWithinLimitWhenPremiumLicenseDoesNotExist() {
|
||||
// if premium unlocker plugin is enabled, skip this check
|
||||
if(defined('MAILPOET_PREMIUM_LICENSE')) return;
|
||||
@@ -34,4 +35,5 @@ class SubscribersTest extends \MailPoetTest {
|
||||
function _after() {
|
||||
\ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user