Refactor lib/Router to use with container for endpoints
[MAILPOET-1605]
This commit is contained in:
@ -14,15 +14,14 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
CronHelper::DAEMON_SETTING,
|
||||
[]
|
||||
);
|
||||
$daemon = new DaemonHttpRunner($request_data = 'request data');
|
||||
expect($daemon->request_data)->equals('request data');
|
||||
$daemon = new DaemonHttpRunner();
|
||||
expect(strlen($daemon->timer))->greaterOrEquals(5);
|
||||
expect(strlen($daemon->token))->greaterOrEquals(5);
|
||||
}
|
||||
|
||||
function testItDoesNotRunWithoutRequestData() {
|
||||
$daemon = Stub::construct(
|
||||
new DaemonHttpRunner(),
|
||||
new DaemonHttpRunner(new Daemon()),
|
||||
array(),
|
||||
array(
|
||||
'abortWithError' => function($message) {
|
||||
@ -30,13 +29,12 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
}
|
||||
)
|
||||
);
|
||||
$daemon->request_data = false;
|
||||
expect($daemon->run())->equals('Invalid or missing request data.');
|
||||
expect($daemon->run(false))->equals('Invalid or missing request data.');
|
||||
}
|
||||
|
||||
function testItDoesNotRunWhenThereIsInvalidOrMissingToken() {
|
||||
$daemon = Stub::construct(
|
||||
new DaemonHttpRunner(),
|
||||
new DaemonHttpRunner(new Daemon()),
|
||||
array(),
|
||||
array(
|
||||
'abortWithError' => function($message) {
|
||||
@ -47,8 +45,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
$daemon->settings_daemon_data = array(
|
||||
'token' => 123
|
||||
);
|
||||
$daemon->request_data = array('token' => 456);
|
||||
expect($daemon->run())->equals('Invalid or missing token.');
|
||||
expect($daemon->run(['token' => 456]))->equals('Invalid or missing token.');
|
||||
}
|
||||
|
||||
function testItStoresErrorMessageAndContinuesExecutionWhenWorkersThrowException() {
|
||||
@ -63,13 +60,13 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
throw new \Exception();
|
||||
},
|
||||
), $this);
|
||||
$daemon_http_runner = Stub::make(new DaemonHttpRunner($data, $daemon), array(
|
||||
$daemon_http_runner = Stub::make(new DaemonHttpRunner($daemon), array(
|
||||
'pauseExecution' => null,
|
||||
'callSelf' => null
|
||||
), $this);
|
||||
Setting::setValue(CronHelper::DAEMON_SETTING, $data);
|
||||
$daemon_http_runner->__construct($data, $daemon);
|
||||
$daemon_http_runner->run();
|
||||
$daemon_http_runner->__construct($daemon);
|
||||
$daemon_http_runner->run($data);
|
||||
$updated_daemon = Setting::getValue(CronHelper::DAEMON_SETTING);
|
||||
expect($updated_daemon['last_error'])->greaterOrEquals('Message');
|
||||
}
|
||||
@ -79,7 +76,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
'executeScheduleWorker' => null,
|
||||
'executeQueueWorker' => null,
|
||||
), $this);
|
||||
$daemon_http_runner = Stub::make(new DaemonHttpRunner(true, $daemon), array(
|
||||
$daemon_http_runner = Stub::make(new DaemonHttpRunner($daemon), array(
|
||||
'pauseExecution' => Expected::exactly(1, function($pause_delay) {
|
||||
expect($pause_delay)->lessThan(CronHelper::DAEMON_EXECUTION_LIMIT);
|
||||
expect($pause_delay)->greaterThan(CronHelper::DAEMON_EXECUTION_LIMIT - 1);
|
||||
@ -90,13 +87,13 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
'token' => 123
|
||||
);
|
||||
Setting::setValue(CronHelper::DAEMON_SETTING, $data);
|
||||
$daemon_http_runner->__construct($data, $daemon);
|
||||
$daemon_http_runner->run();
|
||||
$daemon_http_runner->__construct($daemon);
|
||||
$daemon_http_runner->run($data);
|
||||
}
|
||||
|
||||
|
||||
function testItTerminatesExecutionWhenDaemonIsDeleted() {
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(new Daemon()), array(
|
||||
'executeScheduleWorker' => function() {
|
||||
Setting::deleteValue(CronHelper::DAEMON_SETTING);
|
||||
},
|
||||
@ -108,12 +105,12 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
'token' => 123
|
||||
);
|
||||
Setting::setValue(CronHelper::DAEMON_SETTING, $data);
|
||||
$daemon->__construct($data);
|
||||
$daemon->run();
|
||||
$daemon->__construct(new Daemon());
|
||||
$daemon->run($data);
|
||||
}
|
||||
|
||||
function testItTerminatesExecutionWhenDaemonTokenChangesAndKeepsChangedToken() {
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(new Daemon()), array(
|
||||
'executeScheduleWorker' => function() {
|
||||
Setting::setValue(
|
||||
CronHelper::DAEMON_SETTING,
|
||||
@ -128,14 +125,14 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
'token' => 123
|
||||
);
|
||||
Setting::setValue(CronHelper::DAEMON_SETTING, $data);
|
||||
$daemon->__construct($data);
|
||||
$daemon->run();
|
||||
$daemon->__construct(new Daemon());
|
||||
$daemon->run($data);
|
||||
$data_after_run = Setting::getValue(CronHelper::DAEMON_SETTING);
|
||||
expect($data_after_run['token'], 567);
|
||||
}
|
||||
|
||||
function testItTerminatesExecutionWhenDaemonIsDeactivated() {
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), [
|
||||
$daemon = Stub::make(new DaemonHttpRunner(new Daemon()), [
|
||||
'executeScheduleWorker' => null,
|
||||
'executeQueueWorker' => null,
|
||||
'pauseExecution' => null,
|
||||
@ -146,12 +143,12 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
'status' => CronHelper::DAEMON_STATUS_INACTIVE,
|
||||
];
|
||||
Setting::setValue(CronHelper::DAEMON_SETTING, $data);
|
||||
$daemon->__construct($data);
|
||||
$daemon->run();
|
||||
$daemon->__construct(new Daemon());
|
||||
$daemon->run($data);
|
||||
}
|
||||
|
||||
function testItUpdatesDaemonTokenDuringExecution() {
|
||||
$daemon_http_runner = Stub::make(new DaemonHttpRunner(true), array(
|
||||
$daemon_http_runner = Stub::make(new DaemonHttpRunner(new Daemon()), array(
|
||||
'executeScheduleWorker' => null,
|
||||
'executeQueueWorker' => null,
|
||||
'pauseExecution' => null,
|
||||
@ -161,8 +158,8 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
'token' => 123
|
||||
);
|
||||
Setting::setValue(CronHelper::DAEMON_SETTING, $data);
|
||||
$daemon_http_runner->__construct($data);
|
||||
$daemon_http_runner->run();
|
||||
$daemon_http_runner->__construct(new Daemon());
|
||||
$daemon_http_runner->run($data);
|
||||
$updated_daemon = Setting::getValue(CronHelper::DAEMON_SETTING);
|
||||
expect($updated_daemon['token'])->equals($daemon_http_runner->token);
|
||||
}
|
||||
@ -174,7 +171,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
},
|
||||
'executeQueueWorker' => null,
|
||||
), $this);
|
||||
$daemon_http_runner = Stub::make(new DaemonHttpRunner(true, $daemon), array(
|
||||
$daemon_http_runner = Stub::make(new DaemonHttpRunner($daemon), array(
|
||||
'pauseExecution' => null,
|
||||
'callSelf' => null
|
||||
), $this);
|
||||
@ -183,8 +180,8 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
);
|
||||
$now = time();
|
||||
Setting::setValue(CronHelper::DAEMON_SETTING, $data);
|
||||
$daemon_http_runner->__construct($data, $daemon);
|
||||
$daemon_http_runner->run();
|
||||
$daemon_http_runner->__construct($daemon);
|
||||
$daemon_http_runner->run($data);
|
||||
$updated_daemon = Setting::getValue(CronHelper::DAEMON_SETTING);
|
||||
expect($updated_daemon['run_started_at'])->greaterOrEquals($now);
|
||||
expect($updated_daemon['run_started_at'])->lessThan($now + 2);
|
||||
@ -195,7 +192,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
function testItCanRun() {
|
||||
ignore_user_abort(0);
|
||||
expect(ignore_user_abort())->equals(0);
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(new Daemon()), array(
|
||||
'pauseExecution' => null,
|
||||
// workers should be executed
|
||||
'executeScheduleWorker' => Expected::exactly(1),
|
||||
@ -207,13 +204,13 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
|
||||
'token' => 123
|
||||
);
|
||||
Setting::setValue(CronHelper::DAEMON_SETTING, $data);
|
||||
$daemon->__construct($data);
|
||||
$daemon->run();
|
||||
$daemon->__construct(new Daemon());
|
||||
$daemon->run($data);
|
||||
expect(ignore_user_abort())->equals(1);
|
||||
}
|
||||
|
||||
function testItRespondsToPingRequest() {
|
||||
$daemon = Stub::make(new DaemonHttpRunner(true), array(
|
||||
$daemon = Stub::make(new DaemonHttpRunner(new Daemon()), array(
|
||||
'terminateRequest' => Expected::exactly(1, function($message) {
|
||||
expect($message)->equals('pong');
|
||||
})
|
||||
|
Reference in New Issue
Block a user