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

View File

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

View File

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

View File

@ -45,7 +45,7 @@ class Bridge {
static function isMPSendingServiceEnabled() { static function isMPSendingServiceEnabled() {
try { try {
$mailer_config = Mailer::getMailerConfig(); $mailer_config = SettingsController::getInstance()->get(Mailer::MAILER_CONFIG_SETTING_NAME);
return !empty($mailer_config['method']) return !empty($mailer_config['method'])
&& $mailer_config['method'] === Mailer::METHOD_MAILPOET; && $mailer_config['method'] === Mailer::METHOD_MAILPOET;
} catch (\Exception $e) { } 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'); $this->worker->api = new MockAPI('key');
} }
@ -42,7 +42,7 @@ class BounceTest extends \MailPoetTest {
function testItCanInitializeBridgeAPI() { function testItCanInitializeBridgeAPI() {
$this->setMailPoetSendingMethod(); $this->setMailPoetSendingMethod();
$worker = new Bounce(microtime(true)); $worker = new Bounce($this->di_container->get(SettingsController::class), microtime(true));
$worker->init(); $worker->init();
expect($worker->api instanceof API)->true(); expect($worker->api instanceof API)->true();
} }

View File

@ -14,7 +14,7 @@ class SendingServiceKeyCheckTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->mss_key = 'some_key'; $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() { function testItRequiresMailPoetMethodToBeSetUp() {