summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorPierre Masereel <pim@odoo.com>2019-01-10 09:11:47 +0000
committerPierre Masereel <pim@odoo.com>2019-01-10 23:47:57 +0000
commit132717c7b17f0e018b5e565646fa842e6227a079 (patch)
treef56b15f9f332de25b87a9a13f87ffac0878f09c2 /addons
parent5f724892e7a7b0f43802bf215bf9c96d4e1030f5 (diff)
[FIX] payment_*: tests
PAYPAL ------ The paypal tests are not working working for two reasons: - we check that there is no date in pending state on payment transaction, but since the refactoring in this commit: https://github.com/odoo/odoo/commit/01216345e28374b554bfe95df82d607c591271cf the date is always set before the validation of transaction. - Since the changes on dates, the datetime field doesn't return a string anymore and the comparison fails. So we convert the datetime to string for the comparison. BUCKAROO -------- The buckaroo tests were not working for multiple reasons. STRIPE ------ The payment stripe tests were not working because: - The reference set in transactions were not the same as the ones givent to the payment provider. - we were checking for a script tag in form that has been removed in commit https://github.com/odoo/odoo/commit/7c639be4aadce20bf6662ab347470fadf9afd99f AUTHORIZE --------- This test cannot be tested on runbot due to its server to server way of working closes odoo/odoo#30105
Diffstat (limited to 'addons')
-rw-r--r--addons/payment_authorize/tests/test_authorize.py2
-rw-r--r--addons/payment_buckaroo/tests/test_buckaroo.py36
-rw-r--r--addons/payment_buckaroo/views/payment_buckaroo_templates.xml38
-rw-r--r--addons/payment_paypal/tests/test_paypal.py4
-rw-r--r--addons/payment_stripe/tests/test_stripe.py6
5 files changed, 44 insertions, 42 deletions
diff --git a/addons/payment_authorize/tests/test_authorize.py b/addons/payment_authorize/tests/test_authorize.py
index 314d4bdd26a..a45275b07d8 100644
--- a/addons/payment_authorize/tests/test_authorize.py
+++ b/addons/payment_authorize/tests/test_authorize.py
@@ -188,7 +188,7 @@ class AuthorizeForm(AuthorizeCommon):
self.assertEqual(tx.state, 'cancel', 'Authorize: erroneous validation did not put tx into error state')
-@odoo.tests.tagged('post_install', '-at_install', '-standard', 'external')
+@odoo.tests.tagged('post_install', '-at_install', '-standard')
class AuthorizeForm(AuthorizeCommon):
def test_30_authorize_s2s(self):
# be sure not to do stupid thing
diff --git a/addons/payment_buckaroo/tests/test_buckaroo.py b/addons/payment_buckaroo/tests/test_buckaroo.py
index 925385f402f..e23b1f0c002 100644
--- a/addons/payment_buckaroo/tests/test_buckaroo.py
+++ b/addons/payment_buckaroo/tests/test_buckaroo.py
@@ -32,12 +32,12 @@ class BuckarooForm(BuckarooCommon):
# ----------------------------------------
form_values = {
- 'add_returndata': None,
+ 'add_returndata': '',
'Brq_websitekey': self.buckaroo.brq_websitekey,
'Brq_amount': '2240.0',
'Brq_currency': 'EUR',
'Brq_invoicenumber': 'SO004',
- 'Brq_signature': '1b8c10074c622d965272a91a9e88b5b3777d2474', # update me
+ 'Brq_signature': 'aa6fe072afdd9d1b463d55f43e6df4b272d3529a', # update me
'brq_test': 'True',
'Brq_return': urls.url_join(base_url, BuckarooController._return_url),
'Brq_returncancel': urls.url_join(base_url, BuckarooController._cancel_url),
@@ -50,13 +50,14 @@ class BuckarooForm(BuckarooCommon):
res = self.buckaroo.render(
'SO004', 2240.0, self.currency_euro.id,
partner_id=None,
- partner_values=self.buyer_values)
-
+ values=self.buyer_values)
# check form result
tree = objectify.fromstring(res)
- self.assertEqual(tree.get('action'), 'https://testcheckout.buckaroo.nl/html/', 'Buckaroo: wrong form POST url')
+ data_set = tree.xpath("//input[@name='data_set']")
+ self.assertEqual(len(data_set), 1, 'paypal: Found %d "data_set" input instead of 1' % len(data_set))
+ self.assertEqual(data_set[0].get('data-action-url'), 'https://testcheckout.buckaroo.nl/html/', 'Buckaroo: wrong form POST url')
for form_input in tree.input:
- if form_input.get('name') in ['submit']:
+ if form_input.get('name') in ['submit', 'data_set']:
continue
self.assertEqual(
form_input.get('value'),
@@ -78,17 +79,18 @@ class BuckarooForm(BuckarooCommon):
})
# render the button
- res = self.buckaroo_id.render(
+ res = self.buckaroo.render(
'should_be_erased', 2240.0, self.currency_euro,
- tx_id=tx.id,
partner_id=None,
- partner_values=self.buyer_values)
+ values=self.buyer_values)
# check form result
tree = objectify.fromstring(res)
- self.assertEqual(tree.get('action'), 'https://testcheckout.buckaroo.nl/html/', 'Buckaroo: wrong form POST url')
+ data_set = tree.xpath("//input[@name='data_set']")
+ self.assertEqual(len(data_set), 1, 'paypal: Found %d "data_set" input instead of 1' % len(data_set))
+ self.assertEqual(data_set[0].get('data-action-url'), 'https://testcheckout.buckaroo.nl/html/', 'Buckaroo: wrong form POST url')
for form_input in tree.input:
- if form_input.get('name') in ['submit']:
+ if form_input.get('name') in ['submit', 'data_set']:
continue
self.assertEqual(
form_input.get('value'),
@@ -116,7 +118,7 @@ class BuckarooForm(BuckarooCommon):
'BRQ_SERVICE_PAYPAL_PAYERLASTNAME': u'Tester',
'BRQ_SERVICE_PAYPAL_PAYERMIDDLENAME': u'de',
'BRQ_SERVICE_PAYPAL_PAYERSTATUS': u'verified',
- 'Brq_signature': u'175d82dd53a02bad393fee32cb1eafa3b6fbbd91',
+ 'Brq_signature': u'9e75e51cbcb6fbc798b40d1787cc5b7c36557d56',
'BRQ_STATUSCODE': u'190',
'BRQ_STATUSCODE_DETAIL': u'S001',
'BRQ_STATUSMESSAGE': u'Transaction successfully processed',
@@ -134,7 +136,7 @@ class BuckarooForm(BuckarooCommon):
'amount': 2240.0,
'acquirer_id': self.buckaroo.id,
'currency_id': self.currency_euro.id,
- 'reference': 'SO004-1',
+ 'reference': 'SO004',
'partner_name': 'Norbert Buyer',
'partner_country_id': self.country_france.id})
@@ -153,14 +155,14 @@ class BuckarooForm(BuckarooCommon):
'partner_name': 'Norbert Buyer',
'partner_country_id': self.country_france.id})
+ buckaroo_post_data['BRQ_INVOICENUMBER'] = 'SO004-2'
# now buckaroo post is ok: try to modify the SHASIGN
- buckaroo_post_data['BRQ_SIGNATURE'] = '54d928810e343acf5fb0c3ee75fd747ff159ef7a'
+ buckaroo_post_data['Brq_signature'] = '54d928810e343acf5fb0c3ee75fd747ff159ef7a'
with self.assertRaises(ValidationError):
tx.form_feedback(buckaroo_post_data, 'buckaroo')
-
# simulate an error
- buckaroo_post_data['BRQ_STATUSCODE'] = 2
- buckaroo_post_data['BRQ_SIGNATURE'] = '4164b52adb1e6a2221d3d8a39d8c3e18a9ecb90b'
+ buckaroo_post_data['BRQ_STATUSCODE'] = '2'
+ buckaroo_post_data['Brq_signature'] = '9138e2bf09a708a4eb485ce7777e5406898b689d'
tx.form_feedback(buckaroo_post_data, 'buckaroo')
# check state
diff --git a/addons/payment_buckaroo/views/payment_buckaroo_templates.xml b/addons/payment_buckaroo/views/payment_buckaroo_templates.xml
index 95f1aa0ce9e..7b0749923c9 100644
--- a/addons/payment_buckaroo/views/payment_buckaroo_templates.xml
+++ b/addons/payment_buckaroo/views/payment_buckaroo_templates.xml
@@ -2,24 +2,26 @@
<odoo>
<data noupdate="1">
<template id="buckaroo_form">
- <input type="hidden" name="data_set" t-att-data-action-url="tx_url" data-remove-me=""/>
- <input type="hidden" name="Brq_websitekey" t-att-value="Brq_websitekey"/>
- <input type="hidden" name="Brq_amount" t-att-value="Brq_amount"/>
- <input type="hidden" name="Brq_currency" t-att-value="Brq_currency"/>
- <input type="hidden" name="Brq_invoicenumber" t-att-value="Brq_invoicenumber"/>
- <input type="hidden" name="Brq_signature" t-att-value="Brq_signature"/>
- <input type="hidden" name="brq_test" t-att-value="brq_test"/>
- <input type="hidden" name="Brq_culture" t-att-value="Brq_culture"/>
- <!-- URLs -->
- <input t-if="Brq_return" type="hidden" name='Brq_return'
- t-att-value="Brq_return"/>
- <input t-if="Brq_returncancel" type="hidden" name='Brq_returncancel'
- t-att-value="Brq_returncancel"/>
- <input t-if="Brq_returnerror" type="hidden" name='Brq_returnerror'
- t-att-value="Brq_returnerror"/>
- <input t-if="Brq_returnreject" type="hidden" name='Brq_returnreject'
- t-att-value="Brq_returnreject"/>
- <input type="hidden" name='add_returndata' t-att-value="add_returndata"/>
+ <div>
+ <input type="hidden" name="data_set" t-att-data-action-url="tx_url" data-remove-me=""/>
+ <input type="hidden" name="Brq_websitekey" t-att-value="Brq_websitekey"/>
+ <input type="hidden" name="Brq_amount" t-att-value="Brq_amount"/>
+ <input type="hidden" name="Brq_currency" t-att-value="Brq_currency"/>
+ <input type="hidden" name="Brq_invoicenumber" t-att-value="Brq_invoicenumber"/>
+ <input type="hidden" name="Brq_signature" t-att-value="Brq_signature"/>
+ <input type="hidden" name="brq_test" t-att-value="brq_test"/>
+ <input type="hidden" name="Brq_culture" t-att-value="Brq_culture"/>
+ <!-- URLs -->
+ <input t-if="Brq_return" type="hidden" name='Brq_return'
+ t-att-value="Brq_return"/>
+ <input t-if="Brq_returncancel" type="hidden" name='Brq_returncancel'
+ t-att-value="Brq_returncancel"/>
+ <input t-if="Brq_returnerror" type="hidden" name='Brq_returnerror'
+ t-att-value="Brq_returnerror"/>
+ <input t-if="Brq_returnreject" type="hidden" name='Brq_returnreject'
+ t-att-value="Brq_returnreject"/>
+ <input type="hidden" name='add_returndata' t-att-value="add_returndata"/>
+ </div>
</template>
</data>
</odoo>
diff --git a/addons/payment_paypal/tests/test_paypal.py b/addons/payment_paypal/tests/test_paypal.py
index b43aed25fcf..e70129f9333 100644
--- a/addons/payment_paypal/tests/test_paypal.py
+++ b/addons/payment_paypal/tests/test_paypal.py
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
+from odoo import fields
from odoo.addons.payment.models.payment_acquirer import ValidationError
from odoo.addons.payment.tests.common import PaymentAcquirerCommon
from odoo.addons.payment_paypal.controllers.main import PaypalController
@@ -182,7 +183,6 @@ class PaypalForm(PaypalCommon):
self.assertEqual(tx.state, 'pending', 'paypal: wrong state after receiving a valid pending notification')
self.assertEqual(tx.state_message, 'multi_currency', 'paypal: wrong state message after receiving a valid pending notification')
self.assertEqual(tx.acquirer_reference, '08D73520KX778924N', 'paypal: wrong txn_id after receiving a valid pending notification')
- self.assertFalse(tx.date, 'paypal: validation date should not be updated whenr receiving pending notification')
# update tx
tx.write({
@@ -196,4 +196,4 @@ class PaypalForm(PaypalCommon):
# check
self.assertEqual(tx.state, 'done', 'paypal: wrong state after receiving a valid pending notification')
self.assertEqual(tx.acquirer_reference, '08D73520KX778924N', 'paypal: wrong txn_id after receiving a valid pending notification')
- self.assertEqual(tx.date, '2013-11-18 11:21:19', 'paypal: wrong validation date')
+ self.assertEqual(fields.Datetime.to_string(tx.date), '2013-11-18 11:21:19', 'paypal: wrong validation date')
diff --git a/addons/payment_stripe/tests/test_stripe.py b/addons/payment_stripe/tests/test_stripe.py
index 5308f54dbe0..1ef883de93f 100644
--- a/addons/payment_stripe/tests/test_stripe.py
+++ b/addons/payment_stripe/tests/test_stripe.py
@@ -59,9 +59,6 @@ class StripeTest(StripeCommon):
# render the button
res = self.stripe.render('SO404', 320.0, self.currency_euro.id, values=self.buyer_values).decode('utf-8')
- popup_script_src = 'script src="https://checkout.stripe.com/checkout.js"'
- # check form result
- self.assertIn(popup_script_src, res, "Stripe: popup script not found in template render")
# Generated and received
self.assertIn(self.buyer_values.get('partner_email'), res, 'Stripe: email input not found in rendered template')
@@ -87,7 +84,7 @@ class StripeTest(StripeCommon):
u'id': u'ch_172xfnGMfVJxozLwEjSfpfxD',
u'invoice': None,
u'livemode': False,
- u'metadata': {u'reference': u'SO100'},
+ u'metadata': {u'reference': u'SO100-1'},
u'object': u'charge',
u'paid': True,
u'receipt_email': None,
@@ -137,6 +134,7 @@ class StripeTest(StripeCommon):
tx.form_feedback(stripe_post_data, 'stripe')
self.assertEqual(tx.state, 'done', 'Stripe: validation did not put tx into done state')
self.assertEqual(tx.acquirer_reference, stripe_post_data.get('id'), 'Stripe: validation did not update tx id')
+ stripe_post_data['metadata']['reference'] = u'SO100-2'
# reset tx
tx = self.env['payment.transaction'].create({
'amount': 4700,