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

Reply via email to