Projet

Général

Profil

0002-tests-make-sure-API-handles-unicode-input-params-135.patch

Serghei Mihai (congés, retour 15/05), 20 octobre 2016 17:04

Télécharger (3,97 ko)

Voir les différences:

Subject: [PATCH 2/2] tests: make sure API handles unicode input params
 (#13592)

 tests/test_paybox.py | 36 +++++++++++++++++++-----------------
 tests/test_sips2.py  | 10 ++++++----
 2 files changed, 25 insertions(+), 21 deletions(-)
tests/test_paybox.py
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

  
tests/test_sips2.py
1
import pytest
2
import pprint
1
# -*- coding: utf-8 -*-
3 2

  
4 3
import eopayment
5 4

  
6 5
def test_build_request():
7 6
    backend = eopayment.Payment('sips2', {})
8
    assert backend.request(amount='12')
7
    transaction, f, form = backend.request(amount=u'12', last_name=u'Foo',
8
                                           first_name=u'Félix')
9
    data = [f for f in form.fields if f['name'] == 'Data']
10
    assert u'Félix' in data[0]['value']
9 11

  
10 12
def test_options():
11
    payment = eopayment.Payment('sips2', {'capture_mode': 'VALIDATION'})
13
    payment = eopayment.Payment('sips2', {'capture_mode': u'VALIDATION'})
12 14
    assert payment.backend.get_data()['captureMode'] == 'VALIDATION'
13 15

  
14 16
    payment = eopayment.Payment('sips2', {})
15
-