|
1 |
# -*- coding: utf-8 -*-
|
|
2 |
|
1 |
3 |
from unittest import TestCase
|
2 |
4 |
from decimal import Decimal
|
3 |
5 |
import base64
|
... | ... | |
7 |
9 |
import eopayment
|
8 |
10 |
|
9 |
11 |
BACKEND_PARAMS = {
|
10 |
|
'platform': 'test',
|
11 |
|
'site': '12345678',
|
12 |
|
'rang': '001',
|
13 |
|
'identifiant': '12345678',
|
14 |
|
'shared_secret': '0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF',
|
15 |
|
'callback': 'http://example.com/callback',
|
|
12 |
'platform': u'test',
|
|
13 |
'site': u'12345678',
|
|
14 |
'rang': u'001',
|
|
15 |
'identifiant': u'12345678',
|
|
16 |
'shared_secret': u'0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF',
|
|
17 |
'callback': u'http://example.com/callback',
|
16 |
18 |
}
|
17 |
19 |
|
18 |
20 |
class PayboxTests(TestCase):
|
19 |
21 |
def test_sign(self):
|
20 |
22 |
key = '0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF'.decode('hex')
|
21 |
23 |
d = dict(paybox.sign([
|
22 |
|
['PBX_SITE', '12345678'],
|
23 |
|
['PBX_RANG', '32'],
|
24 |
|
['PBX_IDENTIFIANT', '12345678'],
|
25 |
|
['PBX_TOTAL', '999'],
|
26 |
|
['PBX_DEVISE', '978'],
|
27 |
|
['PBX_CMD', 'TEST Paybox'],
|
28 |
|
['PBX_PORTEUR', 'test@paybox.com'],
|
29 |
|
['PBX_RETOUR', 'Mt:M;Ref:R;Auto:A;Erreur:E'],
|
30 |
|
['PBX_HASH', 'SHA512'],
|
31 |
|
['PBX_TIME', '2015-06-08T16:21:16+02:00'],
|
|
24 |
['PBX_SITE', u'12345678'],
|
|
25 |
['PBX_RANG', u'32'],
|
|
26 |
['PBX_IDENTIFIANT', u'12345678'],
|
|
27 |
['PBX_TOTAL', u'999'],
|
|
28 |
['PBX_DEVISE', u'978'],
|
|
29 |
['PBX_CMD', u'appel à Paybox'],
|
|
30 |
['PBX_PORTEUR', u'test@paybox.com'],
|
|
31 |
['PBX_RETOUR', u'Mt:M;Ref:R;Auto:A;Erreur:E'],
|
|
32 |
['PBX_HASH', u'SHA512'],
|
|
33 |
['PBX_TIME', u'2015-06-08T16:21:16+02:00'],
|
32 |
34 |
],
|
33 |
35 |
key))
|
34 |
|
result = '475FE1C45A0D09D26D2CAC9A1AC39C024773D790F50B6DD15B260F55FCD527FD3AD4AA3998F4162EFE9BDC494B9850A673355A32ACC4F85B67F8566037836F8E'
|
|
36 |
result = '7E74D8E9A0DBB65AAE51C5C50C2668FD98FC99AEDF18244BB1935F602B6C2E953B61FD84364F34FDB88B049901C0A07F6040AF446BBF5589113F48A733D551D4'
|
35 |
37 |
self.assertIn('PBX_HMAC', d)
|
36 |
38 |
self.assertEqual(d['PBX_HMAC'], result)
|
37 |
39 |
|