Remove static (mis)usages of Mailer::getMailerConfig()

[MAILPOET-2515]
This commit is contained in:
Jan Jakeš
2019-11-11 14:42:17 +01:00
committed by Jack Kitterhing
parent 1da56efd32
commit 15acedc94f
6 changed files with 26 additions and 10 deletions

View File

@ -9,6 +9,7 @@ use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\Subscriber;
use MailPoet\Services\Bridge;
use MailPoet\Services\Bridge\API;
use MailPoet\Settings\SettingsController;
use MailPoet\Tasks\Bounce as BounceTask;
use MailPoet\Tasks\Subscribers as TaskSubscribers;
use MailPoet\Tasks\Subscribers\BatchIterator;
@ -25,10 +26,17 @@ class Bounce extends SimpleWorker {
public $api;
/** @var SettingsController */
private $settings;
function __construct(SettingsController $settings, $timer = false) {
$this->settings = $settings;
parent::__construct($timer);
}
function init() {
if (!$this->api) {
$mailer_config = Mailer::getMailerConfig();
$this->api = new API($mailer_config['mailpoet_api_key']);
$this->api = new API($this->settings->get(Mailer::MAILER_CONFIG_SETTING_NAME)['mailpoet_api_key']);
}
}

View File

@ -4,17 +4,25 @@ namespace MailPoet\Cron\Workers\KeyCheck;
use MailPoet\Mailer\Mailer;
use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController;
class SendingServiceKeyCheck extends KeyCheckWorker {
const TASK_TYPE = 'sending_service_key_check';
/** @var SettingsController */
private $settings;
function __construct(SettingsController $settings, $timer = false) {
$this->settings = $settings;
parent::__construct($timer);
}
function checkProcessingRequirements() {
return Bridge::isMPSendingServiceEnabled();
}
function checkKey() {
$mailer_config = Mailer::getMailerConfig();
$mss_key = $mailer_config['mailpoet_api_key'];
$mss_key = $this->settings->get(Mailer::MAILER_CONFIG_SETTING_NAME)['mailpoet_api_key'];
$result = $this->bridge->checkMSSKey($mss_key);
$this->bridge->storeMSSKeyAndState($mss_key, $result);
$this->bridge->updateSubscriberCount($result);

View File

@ -183,7 +183,7 @@ class WorkersFactory {
/** @return SendingServiceKeyCheckWorker */
function createSendingServiceKeyCheckWorker($timer) {
return new SendingServiceKeyCheckWorker($timer);
return new SendingServiceKeyCheckWorker($this->settings, $timer);
}
/** @return PremiumKeyCheckWorker */
@ -193,7 +193,7 @@ class WorkersFactory {
/** @return BounceWorker */
function createBounceWorker($timer) {
return new BounceWorker($timer);
return new BounceWorker($this->settings, $timer);
}
/** @return MigrationWorker */

View File

@ -45,7 +45,7 @@ class Bridge {
static function isMPSendingServiceEnabled() {
try {
$mailer_config = Mailer::getMailerConfig();
$mailer_config = SettingsController::getInstance()->get(Mailer::MAILER_CONFIG_SETTING_NAME);
return !empty($mailer_config['method'])
&& $mailer_config['method'] === Mailer::METHOD_MAILPOET;
} catch (\Exception $e) {

View File

@ -31,7 +31,7 @@ class BounceTest extends \MailPoetTest {
]);
}
$this->worker = new Bounce(microtime(true));
$this->worker = new Bounce($this->di_container->get(SettingsController::class), microtime(true));
$this->worker->api = new MockAPI('key');
}
@ -42,7 +42,7 @@ class BounceTest extends \MailPoetTest {
function testItCanInitializeBridgeAPI() {
$this->setMailPoetSendingMethod();
$worker = new Bounce(microtime(true));
$worker = new Bounce($this->di_container->get(SettingsController::class), microtime(true));
$worker->init();
expect($worker->api instanceof API)->true();
}

View File

@ -14,7 +14,7 @@ class SendingServiceKeyCheckTest extends \MailPoetTest {
function _before() {
parent::_before();
$this->mss_key = 'some_key';
$this->worker = new SendingServiceKeyCheck(microtime(true));
$this->worker = new SendingServiceKeyCheck($this->di_container->get(SettingsController::class), microtime(true));
}
function testItRequiresMailPoetMethodToBeSetUp() {