jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/348125 )
Change subject: Merge branch 'master' into deployment ...................................................................... Merge branch 'master' into deployment 5ee60bd Relax private access control b9333c5 Mark refunds with correct gateway 76ed6cb Remove -new suffix from refund queue Change-Id: I3ba904cef8f215b522f5edae208cb295f0c83727 --- D PaymentProviders/PayPal/Tests/Data/refund_ec.json D PaymentProviders/PayPal/Tests/Data/refund_ec_transformed.json D PaymentProviders/PayPal/Tests/Data/refund_recurring_ec.json D PaymentProviders/PayPal/Tests/Data/refund_recurring_ec_transformed.json D PaymentProviders/PayPal/Tests/config_test.yaml D PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php 6 files changed, 0 insertions(+), 342 deletions(-) Approvals: jenkins-bot: Verified Ejegg: Looks good to me, approved diff --git a/PaymentProviders/PayPal/Tests/Data/refund_ec.json b/PaymentProviders/PayPal/Tests/Data/refund_ec.json deleted file mode 100644 index 03b6048..0000000 --- a/PaymentProviders/PayPal/Tests/Data/refund_ec.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "mc_gross": "-150", - "invoice": "46239229.0", - "protection_eligibility": "Ineligible", - "payer_id": "RWASDASJ2AS3A", - "payment_date": "09:34:59 Mar 22, 2017 PDT", - "payment_status": "Refunded", - "charset": "UTF-8", - "first_name": "Testy", - "mc_fee": "-43", - "notify_version": "3.8", - "reason_code": "refund", - "custom": "46239229", - "business": "gi...@takers.org", - "verify_sign": "Ar65LQ8D4i5231dnJnwTy8lT8UaGAoJGWSH0c1M93d3B86D4ZGVpax3T", - "payer_email": "do...@generous.net", - "parent_txn_id": "1V551844CE5526421", - "txn_id": "3HD08833MR473623T", - "payment_type": "instant", - "last_name": "McTesterson", - "receiver_email": "gi...@takers.org", - "payment_fee": "", - "shipping_discount": "0", - "receiver_id": "TWDK67ASD2XXY", - "insurance_amount": "0", - "item_name": "Donation to the Wikimedia Foundation", - "discount": "0", - "mc_currency": "JPY", - "item_number": "", - "residence_country": "US", - "handling_amount": "0", - "shipping_method": "Default", - "transaction_subject": "Donation to the Wikimedia Foundation", - "payment_gross": "", - "shipping": "0", - "ipn_track_id": "4e93f423dd88b" -} diff --git a/PaymentProviders/PayPal/Tests/Data/refund_ec_transformed.json b/PaymentProviders/PayPal/Tests/Data/refund_ec_transformed.json deleted file mode 100644 index 06cfd66..0000000 --- a/PaymentProviders/PayPal/Tests/Data/refund_ec_transformed.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "date": 1490200499, - "gateway_parent_id": "1V551844CE5526421", - "gateway_txn_id": "3HD08833MR473623T", - "currency": "JPY", - "type": "refund", - "contribution_tracking_id": "46239229", - "email": "do...@generous.net", - "first_name": "Testy", - "last_name": "McTesterson", - "gross": "-150", - "fee": "-43", - "order_id": "46239229", - "gateway_refund_id": "3HD08833MR473623T", - "gross_currency": "JPY", - "gateway": "paypal_ec", - "source_name": "SmashPig", - "source_type": "listener", - "source_version": "unknown" -} diff --git a/PaymentProviders/PayPal/Tests/Data/refund_recurring_ec.json b/PaymentProviders/PayPal/Tests/Data/refund_recurring_ec.json deleted file mode 100644 index 41f7e78..0000000 --- a/PaymentProviders/PayPal/Tests/Data/refund_recurring_ec.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "mc_gross": "-150", - "period_type": " Regular", - "outstanding_balance": "0", - "next_payment_date": "N\/A", - "protection_eligibility": "Ineligible", - "payment_cycle": "Monthly", - "payer_id": "RWASDASJ2AS3A", - "payment_date": "09:33:51 Mar 22, 2017 PDT", - "payment_status": "Refunded", - "product_name": "Monthly donation to the Wikimedia Foundation", - "charset": "UTF-8", - "rp_invoice_id": "45931681", - "recurring_payment_id": "I-DD1FNAAAUU22", - "first_name": "Testy", - "mc_fee": "-43", - "notify_version": "3.8", - "amount_per_cycle": "150", - "reason_code": "refund", - "currency_code": "JPY", - "business": "gi...@takers.org", - "verify_sign": "APvissTSNYxEsF2tvyvfCnTn10fsA3zfe8wcXg8--8099IMv8ObkEkCi", - "payer_email": "do...@generous.net", - "parent_txn_id": "4GV70894MM323713P", - "initial_payment_amount": "0", - "profile_status": "Cancelled", - "amount": "150", - "txn_id": "4CX17568KP793000L", - "payment_type": "instant", - "last_name": "McTesterson", - "receiver_email": "gi...@takers.org", - "payment_fee": "", - "receiver_id": "TWDK67ASD2XXY", - "mc_currency": "JPY", - "residence_country": "US", - "transaction_subject": "Monthly donation to the Wikimedia Foundation", - "payment_gross": "", - "shipping": "0", - "product_type": "1", - "time_created": "16:54:13 Feb 01, 2017 PST", - "ipn_track_id": "d86d241a67ab" -} \ No newline at end of file diff --git a/PaymentProviders/PayPal/Tests/Data/refund_recurring_ec_transformed.json b/PaymentProviders/PayPal/Tests/Data/refund_recurring_ec_transformed.json deleted file mode 100644 index 3735881..0000000 --- a/PaymentProviders/PayPal/Tests/Data/refund_recurring_ec_transformed.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "date": 1490200431, - "gateway_parent_id": "4GV70894MM323713P", - "gateway_txn_id": "4CX17568KP793000L", - "currency": "JPY", - "type": "refund", - "contribution_tracking_id": "45931681", - "email": "do...@generous.net", - "first_name": "Testy", - "last_name": "McTesterson", - "gross": "-150", - "fee": "-43", - "order_id": "45931681", - "gateway_refund_id": "4CX17568KP793000L", - "gross_currency": "JPY", - "gateway": "paypal_ec", - "subscr_id": "I-DD1FNAAAUU22", - "source_name": "SmashPig", - "source_type": "listener", - "source_version": "unknown" -} diff --git a/PaymentProviders/PayPal/Tests/config_test.yaml b/PaymentProviders/PayPal/Tests/config_test.yaml deleted file mode 100644 index 27264d0..0000000 --- a/PaymentProviders/PayPal/Tests/config_test.yaml +++ /dev/null @@ -1,47 +0,0 @@ -<<<<<<< HEAD (aede27 Merge branch 'master' into HEAD) -======= -paypal: - api: - class: SmashPig\PaymentProviders\PayPal\Tests\MockPayPalPaymentsAPI - - data-store: - donations: - class: PHPQueue\Backend\PDO - constructor-parameters: - - - connection_string: 'sqlite::memory:' - queue: verified - - jobs-paypal: - class: PHPQueue\Backend\PDO - constructor-parameters: - - - connection_string: 'sqlite::memory:' - queue: jobs-paypal - - recurring: - class: PHPQueue\Backend\PDO - constructor-parameters: - - - connection_string: 'sqlite::memory:' - queue: recurring - - refund: - class: PHPQueue\Backend\PDO - constructor-parameters: - - - connection_string: 'sqlite::memory:' - queue: refund - - no-op: - class: PHPQueue\Backend\PDO - constructor-parameters: - - - connection_string: 'sqlite::memory:' - queue: no-op - - pending-db: - class: PDO - constructor-parameters: - - 'sqlite::memory:' ->>>>>>> BRANCH (76ed6c Remove -new suffix from refund queue) diff --git a/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php b/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php deleted file mode 100644 index 73bebb6..0000000 --- a/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php +++ /dev/null @@ -1,175 +0,0 @@ -<<<<<<< HEAD (aede27 Merge branch 'master' into HEAD) -======= -<?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', - '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 (76ed6c Remove -new suffix from refund queue) -- To view, visit https://gerrit.wikimedia.org/r/348125 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I3ba904cef8f215b522f5edae208cb295f0c83727 Gerrit-PatchSet: 1 Gerrit-Project: wikimedia/fundraising/SmashPig Gerrit-Branch: deployment Gerrit-Owner: Ejegg <eeggles...@wikimedia.org> Gerrit-Reviewer: Ejegg <eeggles...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits