Projet

Général

Profil

0001-misc-do-not-force-to-text-boolean-parameters-46520.patch

Serghei Mihai (congés, retour 15/05), 10 septembre 2020 11:31

Télécharger (3,05 ko)

Voir les différences:

Subject: [PATCH] misc: do not force to text boolean parameters (#46520)

 eopayment/__init__.py     |  5 +++--
 tests/test_paybox.py      |  2 +-
 tests/test_systempayv2.py | 10 +++++++---
 3 files changed, 11 insertions(+), 6 deletions(-)
eopayment/__init__.py
164 164
            kwargs['capture_day'] = capture_day
165 165

  
166 166
        for param in kwargs:
167
            # encode all input params to unicode
168
            kwargs[param] = force_text(kwargs[param])
167
            # encode all but bool input params to unicode
168
            if not isinstance(kwargs[param], bool):
169
                kwargs[param] = force_text(kwargs[param])
169 170
        return self.backend.request(amount, **kwargs)
170 171

  
171 172
    def response(self, query_string, **kwargs):
tests/test_paybox.py
85 85
        amount = '19.99'
86 86
        transaction_id, kind, what = backend.request(
87 87
            Decimal(amount), email=email, orderid=order_id,
88
            transaction_id=transaction, time=time)
88
            transaction_id=transaction, time=time, manual_validation=False)
89 89
        self.assertEqual(kind, eopayment.FORM)
90 90
        self.assertEqual(transaction_id, '1234')
91 91
        root = ET.fromstring(str(what))
tests/test_systempayv2.py
41 41

  
42 42

  
43 43
def test_systempayv2():
44
    p = Payment(PARAMS)
44
    p = eopayment.Payment('systempayv2', PARAMS)
45 45
    data = {
46 46
        'amount': 15.24,
47 47
        'orderid': '654321',
48 48
        'first_name': u'Jean Michél',
49
        'last_name': u'Mihaï'
49
        'last_name': u'Mihaï',
50
        'manual_validation': False
50 51
    }
51 52
    qs = (
52 53
        'vads_version=V2&vads_page_action=PAYMENT&vads_action_mode=INTERACTIV'
......
57 58
    qs = urlparse.parse_qs(qs)
58 59
    for key in qs.keys():
59 60
        qs[key] = qs[key][0]
60
    assert p.signature(qs) == 'cf1ccac335590a33d6c243345c4f4531a0316b7f'
61
    assert p.backend.signature(qs) == 'cf1ccac335590a33d6c243345c4f4531a0316b7f'
61 62
    transaction_id, f, form = p.request(**data)
62 63

  
63 64
    # check that user first and last names are unicode
64 65
    for field in form.fields:
66

  
65 67
        if field['name'] in (VADS_CUST_FIRST_NAME, VADS_CUST_LAST_NAME):
66 68
            assert field['value'] in (u'Jean Michél', u'Mihaï')
69
        if field['name'] == 'vads_validation_mode':
70
            assert field['value'] == ''
67 71

  
68 72
    response_qs = 'vads_amount=1042&vads_auth_mode=FULL&vads_auth_number=3feadf' \
69 73
                  '&vads_auth_result=00&vads_capture_delay=0&vads_card_brand=CB' \
70
-