Ejegg has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/365069 )
Change subject: Use new SmashPig split configuration ...................................................................... Use new SmashPig split configuration Change-Id: I26d89875f7fbd1adf9d2c51de973f99761200032 --- M composer.lock M sites/all/modules/globalcollect_audit/globalcollect_audit.drush.inc M sites/all/modules/queue2civicrm/banner_history/banner_history.module M sites/all/modules/queue2civicrm/fredge/wmf_fredge_qc.module M sites/all/modules/queue2civicrm/queue2civicrm.module M sites/all/modules/queue2civicrm/recurring/recurring.module M sites/all/modules/queue2civicrm/refund/wmf_refund_qc.module M sites/all/modules/queue2civicrm/tests/phpunit/AntifraudQueueTest.php M sites/all/modules/queue2civicrm/tests/phpunit/BannerHistoryTest.php M sites/all/modules/queue2civicrm/tests/phpunit/DonationQueueTest.php M sites/all/modules/queue2civicrm/tests/phpunit/PaymentsInitQueueTest.php M sites/all/modules/queue2civicrm/tests/phpunit/RecurringQueueTest.php M sites/all/modules/queue2civicrm/tests/phpunit/RefundQueueTest.php M sites/all/modules/queue2civicrm/unsubscribe/wmf_unsubscribe_qc.module M sites/all/modules/wmf_audit/ingenico/orphan_rectify.drush.inc M sites/all/modules/wmf_audit/tests/AmazonAuditTest.php M sites/all/modules/wmf_audit/wmf_audit.module M sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php M sites/all/modules/wmf_common/wmf_common.module 19 files changed, 90 insertions(+), 75 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/crm refs/changes/69/365069/1 diff --git a/composer.lock b/composer.lock index 556e316..ff69240 100644 --- a/composer.lock +++ b/composer.lock @@ -88,7 +88,7 @@ "payment", "payments" ], - "time": "2016-02-17 00:53:20" + "time": "2016-02-17T00:44:20+00:00" }, { "name": "clio/clio", @@ -198,7 +198,7 @@ "queue", "transaction" ], - "time": "2017-04-17 14:11:55" + "time": "2017-04-17T14:11:55+00:00" }, { "name": "cogpowered/finediff", @@ -250,6 +250,48 @@ "text" ], "time": "2014-05-19T10:25:02+00:00" + }, + { + "name": "corneltek/getoptionkit", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/c9s/GetOptionKit.git", + "reference": "995607ddf4fc90ebdb4a7d58fe972d581ad8495f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/c9s/GetOptionKit/zipball/995607ddf4fc90ebdb4a7d58fe972d581ad8495f", + "reference": "995607ddf4fc90ebdb4a7d58fe972d581ad8495f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "GetOptionKit\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Yo-An Lin", + "email": "yoanli...@gmail.com" + } + ], + "description": "Powerful command-line option toolkit", + "homepage": "http://github.com/c9s/GetOptionKit", + "time": "2017-06-30T14:54:48+00:00" }, { "name": "guzzlehttp/guzzle", @@ -1791,7 +1833,7 @@ "GPL-2.0" ], "description": "Wikimedia Foundation payment processing library", - "time": "2017-04-13 00:15:19" + "time": "2017-04-13T00:15:19+00:00" }, { "name": "wikimedia/omnimail-silverpop", @@ -1846,11 +1888,12 @@ "source": { "type": "git", "url": "https://gerrit.wikimedia.org/r/wikimedia/fundraising/SmashPig.git", - "reference": "3b81aba0abe619bed038c8d31c7f36cae5b041cb" + "reference": "756898ef42efd9e6ff316823e4b03b6a90c78589" }, "require": { "amzn/login-and-pay-with-amazon-sdk-php": "dev-master", "coderkungfu/php-queue": "dev-master", + "corneltek/getoptionkit": "^2.5", "php": ">=5.3.3", "phpmailer/phpmailer": "^5.2", "predis/predis": "^1.1", @@ -1897,7 +1940,7 @@ "donations", "payments" ], - "time": "2017-04-22 00:12:45" + "time": "2017-07-05 15:58:53" }, { "name": "zordius/lightncandy", diff --git a/sites/all/modules/globalcollect_audit/globalcollect_audit.drush.inc b/sites/all/modules/globalcollect_audit/globalcollect_audit.drush.inc index fb0759c..3deb547 100644 --- a/sites/all/modules/globalcollect_audit/globalcollect_audit.drush.inc +++ b/sites/all/modules/globalcollect_audit/globalcollect_audit.drush.inc @@ -72,8 +72,7 @@ * TODO: More comments here-ish. */ function drush_globalcollect_audit() { - $config = Configuration::createForView( 'globalcollect' ); - Context::initWithLogger( $config, 'globalcollect_audit' ); + wmf_common_create_smashpig_context( 'ingenico_audit', 'ingenico' ); //$args = drush_get_arguments(); diff --git a/sites/all/modules/queue2civicrm/banner_history/banner_history.module b/sites/all/modules/queue2civicrm/banner_history/banner_history.module index 07f5752..9f0255c 100644 --- a/sites/all/modules/queue2civicrm/banner_history/banner_history.module +++ b/sites/all/modules/queue2civicrm/banner_history/banner_history.module @@ -65,8 +65,8 @@ watchdog( 'banner_history', 'Executing: banner_history_queue_consume' ); civicrm_initialize(); - $config = Configuration::createForView(); - Context::initWithLogger( $config, 'banner_history' ); + + wmf_common_create_smashpig_context( 'banner_history' ); $qc = new BannerHistoryQueueConsumer( 'banner-history', diff --git a/sites/all/modules/queue2civicrm/fredge/wmf_fredge_qc.module b/sites/all/modules/queue2civicrm/fredge/wmf_fredge_qc.module index a12c1d1..8bc47d7 100644 --- a/sites/all/modules/queue2civicrm/fredge/wmf_fredge_qc.module +++ b/sites/all/modules/queue2civicrm/fredge/wmf_fredge_qc.module @@ -53,8 +53,7 @@ watchdog('fredge', 'Executing: fredge_batch_process'); civicrm_initialize(); - $config = Configuration::createForView('default'); - Context::initWithLogger($config, 'fredge_batch_process'); + wmf_common_create_smashpig_context( 'fredge_batch_process'); //Let's start with the simplest possible division of labor $cycle_time = variable_get('fredge_batch_time', 0) / 2; diff --git a/sites/all/modules/queue2civicrm/queue2civicrm.module b/sites/all/modules/queue2civicrm/queue2civicrm.module index ad629c1..50d424a 100644 --- a/sites/all/modules/queue2civicrm/queue2civicrm.module +++ b/sites/all/modules/queue2civicrm/queue2civicrm.module @@ -128,8 +128,7 @@ // We only want to initialize the SmashPig stuff once, so we use the default // config section rather than a processor-specific section. This means all // processors have to use the same database for pending donation info. - $config = Configuration::createForView( 'default' ); - Context::initWithLogger( $config, 'queue2civicrm' ); + wmf_common_create_smashpig_context( 'queue2civicrm' ); wmf_civicrm_boost_performance(); if ( variable_get( 'queue2civicrm_disable', false ) ) { diff --git a/sites/all/modules/queue2civicrm/recurring/recurring.module b/sites/all/modules/queue2civicrm/recurring/recurring.module index 19f062c..5a37e07 100644 --- a/sites/all/modules/queue2civicrm/recurring/recurring.module +++ b/sites/all/modules/queue2civicrm/recurring/recurring.module @@ -82,8 +82,7 @@ function recurring_batch_process() { civicrm_initialize(); - $config = Configuration::createForView(); - Context::initWithLogger( $config, 'recurring' ); + wmf_common_create_smashpig_context( 'recurring' ); if (variable_get( "recurring_disable", false )){ watchdog('recurring', 'Recurring is disabled. No contributions processed.'); diff --git a/sites/all/modules/queue2civicrm/refund/wmf_refund_qc.module b/sites/all/modules/queue2civicrm/refund/wmf_refund_qc.module index a61ce62..3e55e89 100644 --- a/sites/all/modules/queue2civicrm/refund/wmf_refund_qc.module +++ b/sites/all/modules/queue2civicrm/refund/wmf_refund_qc.module @@ -79,8 +79,7 @@ * @ref drush_refund_queue_consume */ function refund_batch_process() { - $config = Configuration::createForView( 'default' ); - Context::initWithLogger( $config, 'refund' ); + wmf_common_create_smashpig_context( 'refund' ); if ( variable_get('refund_disable', false) ) { watchdog( 'wmf_refund_qc', 'Job is disabled. Exiting.', NULL, WATCHDOG_INFO ); diff --git a/sites/all/modules/queue2civicrm/tests/phpunit/AntifraudQueueTest.php b/sites/all/modules/queue2civicrm/tests/phpunit/AntifraudQueueTest.php index d070b30..ea63274 100644 --- a/sites/all/modules/queue2civicrm/tests/phpunit/AntifraudQueueTest.php +++ b/sites/all/modules/queue2civicrm/tests/phpunit/AntifraudQueueTest.php @@ -1,7 +1,5 @@ <?php use queue2civicrm\fredge\AntifraudQueueConsumer; -use SmashPig\Core\Context; -use SmashPig\Core\QueueConsumers\BaseQueueConsumer; /** * @group Queue2Civicrm @@ -15,12 +13,8 @@ public function setUp() { parent::setUp(); - $config = TestingSmashPigDbQueueConfiguration::instance(); - Context::initWithLogger( $config ); - $queue = BaseQueueConsumer::getQueue( 'test' ); - $queue->createTable( 'test' ); $this->consumer = new AntifraudQueueConsumer( - 'test' + 'payments-antifraud' ); } diff --git a/sites/all/modules/queue2civicrm/tests/phpunit/BannerHistoryTest.php b/sites/all/modules/queue2civicrm/tests/phpunit/BannerHistoryTest.php index 5005d6a..39123ed 100644 --- a/sites/all/modules/queue2civicrm/tests/phpunit/BannerHistoryTest.php +++ b/sites/all/modules/queue2civicrm/tests/phpunit/BannerHistoryTest.php @@ -1,9 +1,6 @@ <?php use queue2civicrm\banner_history\BannerHistoryQueueConsumer; -use SmashPig\Core\Context; -use SmashPig\Core\QueueConsumers\BaseQueueConsumer; - /** * @group Queue2Civicrm */ @@ -16,10 +13,6 @@ public function setUp() { parent::setUp(); - $config = TestingSmashPigDbQueueConfiguration::instance(); - Context::initWithLogger( $config ); - $queue = BaseQueueConsumer::getQueue( 'test' ); - $queue->createTable( 'test' ); $this->consumer = new BannerHistoryQueueConsumer( 'test' ); diff --git a/sites/all/modules/queue2civicrm/tests/phpunit/DonationQueueTest.php b/sites/all/modules/queue2civicrm/tests/phpunit/DonationQueueTest.php index 6028af3..6059718 100644 --- a/sites/all/modules/queue2civicrm/tests/phpunit/DonationQueueTest.php +++ b/sites/all/modules/queue2civicrm/tests/phpunit/DonationQueueTest.php @@ -22,10 +22,7 @@ public function setUp() { parent::setUp(); - $config = TestingSmashPigDbQueueConfiguration::instance(); - Context::initWithLogger( $config ); $this->pendingDb = PendingDatabase::get(); - $this->pendingDb->createTable(); $this->queueConsumer = new DonationQueueConsumer( 'test' ); } diff --git a/sites/all/modules/queue2civicrm/tests/phpunit/PaymentsInitQueueTest.php b/sites/all/modules/queue2civicrm/tests/phpunit/PaymentsInitQueueTest.php index 0bbd9c1..4ddf3fa 100644 --- a/sites/all/modules/queue2civicrm/tests/phpunit/PaymentsInitQueueTest.php +++ b/sites/all/modules/queue2civicrm/tests/phpunit/PaymentsInitQueueTest.php @@ -1,7 +1,5 @@ <?php use queue2civicrm\fredge\PaymentsInitQueueConsumer; -use SmashPig\Core\Context; -use SmashPig\Core\QueueConsumers\BaseQueueConsumer; /** * @group Queue2Civicrm @@ -15,12 +13,8 @@ public function setUp() { parent::setUp(); - $config = TestingSmashPigDbQueueConfiguration::instance(); - Context::initWithLogger( $config ); - $queue = BaseQueueConsumer::getQueue( 'test' ); - $queue->createTable( 'test' ); $this->consumer = new PaymentsInitQueueConsumer( - 'test' + 'payments-init' ); } diff --git a/sites/all/modules/queue2civicrm/tests/phpunit/RecurringQueueTest.php b/sites/all/modules/queue2civicrm/tests/phpunit/RecurringQueueTest.php index c234ae4..d6327d5 100644 --- a/sites/all/modules/queue2civicrm/tests/phpunit/RecurringQueueTest.php +++ b/sites/all/modules/queue2civicrm/tests/phpunit/RecurringQueueTest.php @@ -1,7 +1,5 @@ <?php use queue2civicrm\recurring\RecurringQueueConsumer; -use SmashPig\Core\Context; -use SmashPig\Core\QueueConsumers\BaseQueueConsumer; /** * @group Queue2Civicrm @@ -18,12 +16,8 @@ public function setUp() { parent::setUp(); - $config = TestingSmashPigDbQueueConfiguration::instance(); - Context::initWithLogger( $config ); - $queue = BaseQueueConsumer::getQueue( 'test' ); - $queue->createTable( 'test' ); $this->consumer = new RecurringQueueConsumer( - 'test' + 'recurring' ); } diff --git a/sites/all/modules/queue2civicrm/tests/phpunit/RefundQueueTest.php b/sites/all/modules/queue2civicrm/tests/phpunit/RefundQueueTest.php index 618b94e..991101f 100644 --- a/sites/all/modules/queue2civicrm/tests/phpunit/RefundQueueTest.php +++ b/sites/all/modules/queue2civicrm/tests/phpunit/RefundQueueTest.php @@ -1,7 +1,5 @@ <?php use queue2civicrm\refund\RefundQueueConsumer; -use SmashPig\Core\Context; -use SmashPig\Core\QueueConsumers\BaseQueueConsumer; /** * @group Queue2Civicrm @@ -15,12 +13,8 @@ public function setUp() { parent::setUp(); - $config = TestingSmashPigDbQueueConfiguration::instance(); - Context::initWithLogger( $config ); - $queue = BaseQueueConsumer::getQueue( 'test' ); - $queue->createTable( 'test' ); $this->consumer = new RefundQueueConsumer( - 'test' + 'refund' ); } diff --git a/sites/all/modules/queue2civicrm/unsubscribe/wmf_unsubscribe_qc.module b/sites/all/modules/queue2civicrm/unsubscribe/wmf_unsubscribe_qc.module index acea526..bcb20d1 100644 --- a/sites/all/modules/queue2civicrm/unsubscribe/wmf_unsubscribe_qc.module +++ b/sites/all/modules/queue2civicrm/unsubscribe/wmf_unsubscribe_qc.module @@ -76,8 +76,7 @@ * @ref drush_unsubscribe_queue_consume */ function unsubscribe_batch_process() { - $config = Configuration::createForView( 'default' ); - Context::initWithLogger( $config, 'unsubscribe' ); + wmf_common_create_smashpig_context('unsubscribe'); watchdog('unsubscribe', 'Executing: unsubscribe_batch_process'); civicrm_initialize(); diff --git a/sites/all/modules/wmf_audit/ingenico/orphan_rectify.drush.inc b/sites/all/modules/wmf_audit/ingenico/orphan_rectify.drush.inc index dad2e63..f1eda7b 100644 --- a/sites/all/modules/wmf_audit/ingenico/orphan_rectify.drush.inc +++ b/sites/all/modules/wmf_audit/ingenico/orphan_rectify.drush.inc @@ -57,8 +57,7 @@ function drush_orphan_rectify() { // TODO: SmashPig and DI initialization should be reused from a higher // level and integrated with app config - $config = Configuration::createForView( 'globalcollect' ); - Context::init( $config ); + wmf_common_create_smashpig_context( 'ingenico_orphan_rectifier', 'ingenico' ); $rectifier = new GlobalCollectOrphanRectifier(); $rectifier->processOrphans(); diff --git a/sites/all/modules/wmf_audit/tests/AmazonAuditTest.php b/sites/all/modules/wmf_audit/tests/AmazonAuditTest.php index 9b90bb5..6b12440 100644 --- a/sites/all/modules/wmf_audit/tests/AmazonAuditTest.php +++ b/sites/all/modules/wmf_audit/tests/AmazonAuditTest.php @@ -18,8 +18,9 @@ self::$messages = array(); // Use the test configuration for SmashPig - $config = AmazonTestConfiguration::instance(); - Context::initWithLogger( $config ); + $ctx = Context::get(); + $config = AmazonTestConfiguration::instance( $ctx->getGlobalConfiguration() ); + $ctx->setProviderConfiguration( $config ); $dirs = array( 'wmf_audit_log_archive_dir' => __DIR__ . '/data/logs/', diff --git a/sites/all/modules/wmf_audit/wmf_audit.module b/sites/all/modules/wmf_audit/wmf_audit.module index 865491b..a23443a 100644 --- a/sites/all/modules/wmf_audit/wmf_audit.module +++ b/sites/all/modules/wmf_audit/wmf_audit.module @@ -37,10 +37,7 @@ * @param array $options Runtime parameters */ function wmf_audit_main( $gateway, $options ) { - Context::initWithLogger( - Configuration::createForView( $gateway ), - "{$gateway}_audit" - ); + wmf_common_create_smashpig_context( "{$gateway}_audit", $gateway ); $audit = module_invoke( "{$gateway}_audit", 'create_processor', $options ); if ( !$audit ) { diff --git a/sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php b/sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php index 7f8ccaa..521b8ba 100644 --- a/sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php +++ b/sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php @@ -1,11 +1,17 @@ <?php use SmashPig\Core\Context; +use SmashPig\Tests\TestingContext; +use SmashPig\Tests\TestingGlobalConfiguration; class BaseWmfDrupalPhpUnitTestCase extends PHPUnit_Framework_TestCase { public function setUp() { parent::setUp(); + // Initialize SmashPig with a fake context object + $config = TestingGlobalConfiguration::create(); + TestingContext::init( $config ); + if ( !defined( 'DRUPAL_ROOT' ) ) { throw new Exception( "Define DRUPAL_ROOT somewhere before running unit tests." ); } diff --git a/sites/all/modules/wmf_common/wmf_common.module b/sites/all/modules/wmf_common/wmf_common.module index a772413..d9f8e9b 100644 --- a/sites/all/modules/wmf_common/wmf_common.module +++ b/sites/all/modules/wmf_common/wmf_common.module @@ -1,9 +1,10 @@ <?php -use SmashPig\Core\Configuration; use SmashPig\Core\Context; use SmashPig\Core\DataStores\DamagedDatabase; -use SmashPig\Core\QueueConsumers\BaseQueueConsumer; +use SmashPig\Core\GlobalConfiguration; +use SmashPig\Core\Logging\Logger; +use SmashPig\Core\ProviderConfiguration; use wmf_common\WmfQueueConsumer; require_once 'failmail.php'; @@ -305,7 +306,7 @@ } function wmf_common_damaged_confirm_delete_submit( $form, &$form_state ) { - wmf_common_create_smashpig_context(); + wmf_common_create_smashpig_context( 'damaged_message_form' ); $ids = explode( ',', $form['#ids'] ); $ddb = DamagedDatabase::get(); foreach( $ids as $id ) { @@ -398,7 +399,7 @@ function wmf_common_damaged_item_submit( $form, &$form_state ) { $delete = false; $id = $form_state['values']['damaged_id']; - wmf_common_create_smashpig_context(); + wmf_common_create_smashpig_context( 'damaged_message_form' ); switch ( $form_state['values']['op'] ) { case $form_state['values']['resend']: @@ -410,8 +411,7 @@ } } $queueName = $form_state['values']['original_queue']; - $queue = BaseQueueConsumer::getQueue( $queueName ); - $queue->push( $message ); + \SmashPig\Core\DataStores\QueueWrapper::push( $queueName, $message ); drupal_set_message( t( 'Message %id resent for processing.', array( '%id' => $id ) ) ); @@ -435,8 +435,17 @@ } } -function wmf_common_create_smashpig_context() { - // Initialize SmashPig - $config = Configuration::createForView(); - Context::initWithLogger( $config, 'wmf_common' ); +function wmf_common_create_smashpig_context( $logPrefix, $provider = ProviderConfiguration::NO_PROVIDER ) { + // Initialize SmashPig, or set provider configuration if already initialized + $ctx = Context::get(); + if ( $ctx ) { + $globalConfig = $ctx->getGlobalConfiguration(); + $config = ProviderConfiguration::createForProvider( $provider, $globalConfig ); + $ctx->setProviderConfiguration( $config ); + } else { + $globalConfig = GlobalConfiguration::create(); + $config = ProviderConfiguration::createForProvider( $provider, $globalConfig ); + Context::init( $globalConfig, $config ); + } + Logger::setPrefix( $logPrefix ); } -- To view, visit https://gerrit.wikimedia.org/r/365069 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I26d89875f7fbd1adf9d2c51de973f99761200032 Gerrit-PatchSet: 1 Gerrit-Project: wikimedia/fundraising/crm Gerrit-Branch: master Gerrit-Owner: Ejegg <ej...@ejegg.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits