summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSerghei Mihai <smihai@entrouvert.com>2016-10-12 08:59:58 (GMT)
committerSerghei Mihai <smihai@entrouvert.com>2016-10-13 13:13:27 (GMT)
commit09f2ec7e3de738c8cc489196c63a64fecabc7777 (patch)
tree9e1272eb1b4c82f9c0bfd4104588fcda8950943e /tests
parent8320be27ddd8fed8f19f9925b1bef36924ce3218 (diff)
downloadeopayment-09f2ec7e3de738c8cc489196c63a64fecabc7777.zip
eopayment-09f2ec7e3de738c8cc489196c63a64fecabc7777.tar.gz
eopayment-09f2ec7e3de738c8cc489196c63a64fecabc7777.tar.bz2
systempayv2: handle properly unicode params (#13562)
Diffstat (limited to 'tests')
-rw-r--r--tests/test_systempayv2.py36
1 files changed, 31 insertions, 5 deletions
diff --git a/tests/test_systempayv2.py b/tests/test_systempayv2.py
index 093b385..03e70e7 100644
--- a/tests/test_systempayv2.py
+++ b/tests/test_systempayv2.py
@@ -1,19 +1,45 @@
+# -*- coding: utf-8 -*-
+
import urlparse
-from eopayment.systempayv2 import Payment
+from eopayment.systempayv2 import Payment, VADS_CUST_FIRST_NAME, \
+ VADS_CUST_LAST_NAME, PAID
PARAMS = {
- 'secret_test': '1122334455667788'
+ 'secret_test': u'1122334455667788',
+ 'vads_site_id': u'12345678',
+ 'vads_ctx_mode': u'TEST',
+ 'vads_trans_date': u'20090501193530',
}
-
def test_systempayv2():
p = Payment(PARAMS)
+ data = {'amount': 15.24, 'orderid': '654321',
+ 'first_name': u'Sergheï',
+ 'last_name': u'Mihaï'
+ }
qs = 'vads_version=V2&vads_page_action=PAYMENT&vads_action_mode=INTERACTIV' \
'E&vads_payment_config=SINGLE&vads_site_id=12345678&vads_ctx_mode=TES' \
'T&vads_trans_id=654321&vads_trans_date=20090501193530&vads_amount=15' \
- '24&vads_currency=978'
+ '24&vads_currency=978&vads_cust_first_name=Sergheï&vads_cust_last_name=Mihaï'
qs = urlparse.parse_qs(qs)
for key in qs.keys():
qs[key] = qs[key][0]
- assert p.signature(qs) == '606b369759fac4f0864144c803c73676cbe470ff'
+ assert p.signature(qs) == '4d2010d3b4566841ee0b0b2c74b6650bce65365e'
+ transaction_id, f, form = p.request(**data)
+
+ # check that user first and last names are unicode
+ for field in form.fields:
+ if field['name'] in (VADS_CUST_FIRST_NAME, VADS_CUST_LAST_NAME):
+ assert field['value'] in (u'Sergheï', u'Mihaï')
+
+ response_qs = 'vads_amount=1042&vads_auth_mode=FULL&vads_auth_number=3feadf' \
+ '&vads_auth_result=00&vads_capture_delay=0&vads_card_brand=CB' \
+ '&vads_card_number=497010XXXXXX0000' \
+ '&vads_payment_certificate=582ba2b725057618706d7a06e9e59acdbf69ff53' \
+ '&vads_ctx_mode=TEST&vads_currency=978&vads_effective_amount=1042' \
+ '&vads_site_id=70168983&vads_trans_date=20161013101355' \
+ '&vads_trans_id=226787&vads_trans_uuid=4b5053b3b1fe4b02a07753e7a' \
+ '&signature=62a4fb6738ebadebf9cc720164bc70e47282d36e'
+ response = p.response(response_qs)
+ assert response.result == PAID