XenoRyet has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/348983 )
Change subject: Merge branch 'master' into HEAD 8c1ab63 Fix EC recurring profile creation ...................................................................... Merge branch 'master' into HEAD 8c1ab63 Fix EC recurring profile creation Change-Id: I2fb8cd48d745f7930bfb88359dc156304958696f --- D PaymentProviders/PayPal/Tests/Data/recurring_payment_profile_created.json D PaymentProviders/PayPal/Tests/Data/recurring_payment_profile_created_transformed.json D PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php 3 files changed, 0 insertions(+), 227 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/SmashPig refs/changes/83/348983/1 diff --git a/PaymentProviders/PayPal/Tests/Data/recurring_payment_profile_created.json b/PaymentProviders/PayPal/Tests/Data/recurring_payment_profile_created.json deleted file mode 100644 index 1cd1c71..0000000 --- a/PaymentProviders/PayPal/Tests/Data/recurring_payment_profile_created.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "payment_cycle": "Monthly", - "txn_type": "recurring_payment_profile_created", - "last_name": "Fowl", - "next_payment_date": "03:00:00 May 18, 2017 PDT", - "residence_country": "US", - "initial_payment_amount": "0", - "rp_invoice_id": "47017286", - "currency_code": "JPY", - "time_created": "09:45:28 Apr 18, 2017 PDT", - "verify_sign": "ATZo1sTL1YpCR8SD-CzFolXviWIiAYV78oZbytx6QLNuI3z-KS8wKLqC", - "period_type": " Regular", - "payer_status": "unverified", - "tax": "0", - "payer_email": "do...@generous.net", - "first_name": "Fezziwig", - "receiver_email": "recei...@organization.org", - "payer_id": "8R297FE87CD8S", - "product_type": "1", - "shipping": "0", - "amount_per_cycle": "140", - "profile_status": "Active", - "charset": "UTF-8", - "notify_version": "3.8", - "amount": "140", - "outstanding_balance": "0", - "recurring_payment_id": "I-88J1M3DLSF0", - "product_name": "Monthly donation to the Wikimedia Foundation", - "ipn_track_id": "8999c084zz0f2" -} diff --git a/PaymentProviders/PayPal/Tests/Data/recurring_payment_profile_created_transformed.json b/PaymentProviders/PayPal/Tests/Data/recurring_payment_profile_created_transformed.json deleted file mode 100644 index 890f7dd..0000000 --- a/PaymentProviders/PayPal/Tests/Data/recurring_payment_profile_created_transformed.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "subscr_id": "I-88J1M3DLSF0", - "txn_type": "subscr_signup", - "contribution_tracking_id": "47017286", - "order_id": "47017286", - "email": "do...@generous.net", - "first_name": "Fezziwig", - "middle_name": "", - "last_name": "Fowl", - "frequency_interval": "1", - "frequency_unit": "month", - "installments": 0, - "create_date": 1492533928, - "start_date": 1492533928, - "date": 1492533928, - "gateway": "paypal_ec", - "recurring": "1", - "source_name": "SmashPig", - "source_type": "listener", - "source_version": "unknown" -} diff --git a/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php b/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php deleted file mode 100644 index 64b7e2c..0000000 --- a/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php +++ /dev/null @@ -1,176 +0,0 @@ -<<<<<<< HEAD (3db064 Merge branch 'master' into deployment) -======= -<?php -namespace SmashPig\PaymentProviders\PayPal\Tests; - -use SmashPig\Core\Configuration; -use SmashPig\Core\Context; -use SmashPig\PaymentProviders\PayPal\Listener; -use SmashPig\Tests\BaseSmashPigUnitTestCase; -use SmashPig\Core\Http\Response; -use SmashPig\Core\Http\Request; -use SmashPig\Core\DataStores\KeyedOpaqueStorableObject; - -/** - * Test the IPN listener which receives messages, stores and processes them. - * @group PayPal - */ -class CaptureIncomingMessageTest extends BaseSmashPigUnitTestCase { - - /** - * @var Configuration - */ - public $config; - - static $fail_verification = false; - static $paypal_is_broken = false; - - // filename and the queue it should get dropped in - static $message_data = array( - 'web_accept.json' => 'donations', - 'express_checkout.json' => 'donations', - 'recurring_payment_profile_created.json' => 'recurring', - 'subscr_signup.json' => 'recurring', - 'subscr_payment.json' => 'recurring', - 'recurring_payment.json' => 'recurring', - 'refund.json' => 'refund', - 'refund_ec.json' => 'refund', - 'refund_recurring_ec.json' => 'refund', - 'chargeback_settlement.json' => 'refund', - // this should not actually get written to - // TODO 'new_case.json' => 'no-op', - ); - - public function setUp() { - parent::setUp(); - $this->config = PayPalTestConfiguration::get(); - - // php-queue\PDO complains about pop() from non-existent table - $this->config->object( 'data-store/jobs-paypal' ) - ->createTable( 'jobs-paypal' ); - - Context::initWithLogger( $this->config ); - } - - public function tearDown() { - self::$fail_verification = false; - self::$paypal_is_broken = false; - parent::tearDown(); - } - - public function messageProvider() { - $messages = array(); - foreach ( self::$message_data as $file => $type ) { - $payloadFile = __DIR__ . '/../Data/' . $file; - $messageData = array( - 'type' => $type, - 'payload' => json_decode( - file_get_contents( $payloadFile ), - true - ) - ); - $transformedFile = str_replace( '.json', '_transformed.json', $payloadFile ); - if ( file_exists( $transformedFile ) ) { - $messageData['transformed'] = json_decode( - file_get_contents( $transformedFile ), - true - ); - } - $messages[] = array( $messageData ); - } - return $messages; - } - - private function capture( $msg ) { - $request = new Request( $msg ); - $response = new Response; - $listener = new Listener; - return $listener->execute( $request, $response ); - } - - private function scrubIgnoredFields( &$message ) { - unset( $message['source_host'] ); - unset( $message['source_run_id'] ); - unset( $message['source_enqueued_time'] ); - unset( $message['correlationId'] ); - unset( $message['propertiesExportedAsKeys'] ); - unset( $message['propertiesExcludedFromExport'] ); - } - - /** - * @dataProvider messageProvider - */ - public function testCapture( $msg ) { - $this->capture( $msg['payload'] ); - - $jobQueue = $this->config->object( 'data-store/jobs-paypal' ); - $jobMessage = $jobQueue->pop(); - - $this->assertEquals( $jobMessage['php-message-class'], - 'SmashPig\PaymentProviders\PayPal\Job' ); - - $this->assertEquals( $jobMessage['payload'], $msg['payload'] ); - } - - public function testBlankMessage() { - $this->capture( array() ); - $jobQueue = $this->config->object( 'data-store/jobs-paypal' ); - $this->assertNull( $jobQueue->pop() ); - } - - /** - * @dataProvider messageProvider - */ - public function testConsume( $msg ) { - $this->capture( $msg['payload'] ); - - $jobQueue = $this->config->object( 'data-store/jobs-paypal' ); - $jobMessage = $jobQueue->pop(); - - $job = KeyedOpaqueStorableObject::fromJsonProxy( - $jobMessage['php-message-class'], - json_encode( $jobMessage ) - ); - - $job->execute(); - - $queue = $this->config->object( 'data-store/' . $msg['type'] ); - $queue->createTable( $msg['type'] ); - $message = $queue->pop(); - - if ( $job->is_reject() ) { - $this->assertEmpty( $message ); - } else { - $this->assertNotEmpty( $message ); - if ( isset( $message['contribution_tracking_id'] ) ) { - $this->assertEquals( $message['contribution_tracking_id'], $message['order_id'] ); - } - - if ( isset( $message['supplemental_address_1'] ) ) { - $this->assertNotEquals( - $message['supplemental_address_1'], - "{$message['first_name']} {$message['last_name']}" - ); - } - if ( isset( $msg['transformed'] ) ) { - $this->scrubIgnoredFields( $message ); - $this->assertEquals( $msg['transformed'], $message ); - } - } - } - - public function testFailedVerification() { - self::$fail_verification = true; - $jobMessage = array( 'txn_type' => 'fail' ); - $this->assertFalse( $this->capture( $jobMessage ) ); - } - - // FIXME: not really testing anything. Would like to verify that it tried - // N times. Bubble that information up somehow. - public function testPayPalIsBroken() { - self::$paypal_is_broken = true; - $jobMessage = array( 'txn_type' => 'fail' ); - $this->assertFalse( $this->capture( $jobMessage ) ); - } -} ->>>>>>> BRANCH (8c1ab6 Fix EC recurring profile creation) -- To view, visit https://gerrit.wikimedia.org/r/348983 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2fb8cd48d745f7930bfb88359dc156304958696f Gerrit-PatchSet: 1 Gerrit-Project: wikimedia/fundraising/SmashPig Gerrit-Branch: deployment Gerrit-Owner: XenoRyet <dkozlow...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits