jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/365069 )

Change subject: Update SmashPig and DonationInterface
......................................................................


Update SmashPig and DonationInterface

Use all-purpose testing configurations and QueueWrapper, getting rid of
some boilerplate.

Update DonationInterface usage for new standardized field names.

Still need to determine if we want to initialize SmashPig for all requests,
or only where needed.

Would be cool if we could get https://gerrit.wikimedia.org/r/355453 merged
and we could get rid of the extra DonationInterface queue settings in Civi.

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/recurring_globalcollect/recurring_globalcollect.module
M sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php
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_civicrm/tests/phpunit/DonationInterfaceFactoryTest.php
M sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php
M sites/all/modules/wmf_common/wmf_common.module
22 files changed, 108 insertions(+), 91 deletions(-)

Approvals:
  Mepps: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/composer.lock b/composer.lock
index b89b1ac..eb004f2 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",
@@ -691,7 +733,7 @@
             "keywords": [
                 "Silverpop"
             ],
-            "time": "2017-07-24 07:31:30"
+            "time": "2017-07-06T03:06:53+00:00"
         },
         {
             "name": "neitanod/forceutf8",
@@ -797,7 +839,7 @@
                 "sendgrid",
                 "sendinblue"
             ],
-            "time": "2017-05-15 13:50:56"
+            "time": "2017-05-15T13:50:56+00:00"
         },
         {
             "name": "paragonie/random_compat",
@@ -1751,7 +1793,7 @@
             "source": {
                 "type": "git",
                 "url": 
"https://gerrit.wikimedia.org/r/mediawiki/extensions/DonationInterface.git";,
-                "reference": "417df8110ab71a3cf3b34a2630a4cf6c3a441f80"
+                "reference": "b6eb7d3c689fd2a612f522d43cfd7d6b68218d02"
             },
             "require": {
                 "addshore/psr-6-mediawiki-bagostuff-adapter": "0.1",
@@ -1767,7 +1809,8 @@
                 "zordius/lightncandy": "0.23"
             },
             "require-dev": {
-                "jakub-onderka/php-parallel-lint": "0.9.2"
+                "jakub-onderka/php-parallel-lint": "0.9.2",
+                "wikimedia/testing-access-wrapper": "~1.0"
             },
             "type": "library",
             "autoload": {
@@ -1791,7 +1834,7 @@
                 "GPL-2.0"
             ],
             "description": "Wikimedia Foundation payment processing library",
-            "time": "2017-04-13 00:15:19"
+            "time": "2017-07-12T20:59:10+00:00"
         },
         {
             "name": "wikimedia/omnimail-silverpop",
@@ -1838,7 +1881,7 @@
                 "omnimail",
                 "silverpop"
             ],
-            "time": "2017-07-09 22:55:21"
+            "time": "2017-07-09T22:55:21+00:00"
         },
         {
             "name": "wikimedia/smash-pig",
@@ -1846,11 +1889,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://gerrit.wikimedia.org/r/wikimedia/fundraising/SmashPig.git";,
-                "reference": "3b81aba0abe619bed038c8d31c7f36cae5b041cb"
+                "reference": "28035b9795b5cb70689a142a08377c2d03574956"
             },
             "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 +1941,7 @@
                 "donations",
                 "payments"
             ],
-            "time": "2017-04-22 00:12:45"
+            "time": "2017-07-17T14:48:07+00:00"
         },
         {
             "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/recurring_globalcollect/recurring_globalcollect.module 
b/sites/all/modules/recurring_globalcollect/recurring_globalcollect.module
index 543d4c4..83a0758 100644
--- a/sites/all/modules/recurring_globalcollect/recurring_globalcollect.module
+++ b/sites/all/modules/recurring_globalcollect/recurring_globalcollect.module
@@ -315,7 +315,7 @@
       'amount' => $subscription->amount,
       'effort_id' => $subscription->processor_id + 1,
       'order_id' => $transaction->gateway_txn_id,
-      'currency_code' => $subscription->currency,
+      'currency' => $subscription->currency,
       'payment_product' => '',
       'language' => 'en',
       'contribution_tracking_id' => $contribution_tracking_id,
diff --git 
a/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php
 
b/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php
index fcc4d59..c60ce38 100644
--- 
a/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php
+++ 
b/sites/all/modules/recurring_globalcollect/tests/RecurringGlobalCollectTest.php
@@ -97,8 +97,8 @@
                        'amount' => '2345',
                        'effort_id' => 2,
                        'order_id' => '9998890004',
-                       'currency_code' => 'EUR',
-                       'payment_product' => '',
+                       'currency' => 'EUR',
+                       'payment_method' => 'cc',
                );
                $gateway = DonationInterfaceFactory::createAdapter( 
'globalcollect', $init );
 
@@ -121,8 +121,8 @@
                        'amount' => '2345',
                        'effort_id' => 2,
                        'order_id' => '9998890004',
-                       'currency_code' => 'EUR',
-                       'payment_product' => '',
+                       'currency' => 'EUR',
+                       'payment_method' => 'cc',
                );
                $gateway = DonationInterfaceFactory::createAdapter( 
'globalcollect', $init );
 
@@ -148,8 +148,8 @@
                        'amount' => '2345',
                        'effort_id' => 2,
                        'order_id' => '9998890004',
-                       'currency_code' => 'EUR',
-                       'payment_product' => '',
+                       'currency' => 'EUR',
+                       'payment_method' => 'cc',
                );
                $gateway = DonationInterfaceFactory::createAdapter( 
'globalcollect', $init );
 
@@ -174,8 +174,8 @@
                        'amount' => '2345',
                        'effort_id' => 2,
                        'order_id' => '9998890004',
-                       'currency_code' => 'EUR',
-                       'payment_product' => '',
+                       'currency' => 'EUR',
+                       'payment_method' => 'cc',
                );
                $gateway = DonationInterfaceFactory::createAdapter( 
'globalcollect', $init );
 
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..fbf34d0 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_civicrm/tests/phpunit/DonationInterfaceFactoryTest.php 
b/sites/all/modules/wmf_civicrm/tests/phpunit/DonationInterfaceFactoryTest.php
index e6f27cb..e7648f0 100644
--- 
a/sites/all/modules/wmf_civicrm/tests/phpunit/DonationInterfaceFactoryTest.php
+++ 
b/sites/all/modules/wmf_civicrm/tests/phpunit/DonationInterfaceFactoryTest.php
@@ -15,8 +15,8 @@
                        'amount' => 9.99,
                        'effort_id' => 1,
                        'order_id' => mt_rand(),
-                       'currency_code' => 'USD',
-                       'payment_product' => '',
+                       'currency' => 'USD',
+                       'payment_method' => 'cc',
                        'language' => 'en',
                        'contribution_tracking_id' => mt_rand(),
                        'referrer' => 'dummy',
diff --git 
a/sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php 
b/sites/all/modules/wmf_common/tests/includes/BaseWmfDrupalPhpUnitTestCase.php
index 7f8ccaa..31ef281 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..f54d23d 100644
--- a/sites/all/modules/wmf_common/wmf_common.module
+++ b/sites/all/modules/wmf_common/wmf_common.module
@@ -1,9 +1,11 @@
 <?php
 
-use SmashPig\Core\Configuration;
 use SmashPig\Core\Context;
 use SmashPig\Core\DataStores\DamagedDatabase;
-use SmashPig\Core\QueueConsumers\BaseQueueConsumer;
+use SmashPig\Core\DataStores\QueueWrapper;
+use SmashPig\Core\GlobalConfiguration;
+use SmashPig\Core\Logging\Logger;
+use SmashPig\Core\ProviderConfiguration;
 use wmf_common\WmfQueueConsumer;
 
 require_once 'failmail.php';
@@ -305,7 +307,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 +400,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 +412,7 @@
                                }
                        }
                        $queueName = $form_state['values']['original_queue'];
-                       $queue = BaseQueueConsumer::getQueue( $queueName );
-                       $queue->push( $message );
+                       QueueWrapper::push( $queueName, $message );
                        drupal_set_message(
                                t( 'Message %id resent for processing.', array( 
'%id' => $id ) )
                        );
@@ -435,8 +436,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: merged
Gerrit-Change-Id: I26d89875f7fbd1adf9d2c51de973f99761200032
Gerrit-PatchSet: 7
Gerrit-Project: wikimedia/fundraising/crm
Gerrit-Branch: master
Gerrit-Owner: Ejegg <ej...@ejegg.com>
Gerrit-Reviewer: Cdentinger <cdentin...@wikimedia.org>
Gerrit-Reviewer: Mepps <me...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to