Ejemplo n.º 1
0
    def test_not_timeout(self, parse, logger, ConfirmationPayload):
        data = {'TBK_PARAM': mock.Mock()}
        timeout = 20

        confirmation = Confirmation(self.commerce, self.request_ip, data,
                                    timeout)
        confirmation.init_time = confirmation.init_time + datetime.timedelta(
            seconds=timeout)

        self.assertFalse(confirmation.is_timeout())
Ejemplo n.º 2
0
    def test_not_timeout(self, parse, logger, ConfirmationPayload):
        data = {
            'TBK_PARAM': mock.Mock()
        }
        timeout = 20

        confirmation = Confirmation(self.commerce, self.request_ip, data, timeout)
        confirmation.init_time = confirmation.init_time + datetime.timedelta(seconds=timeout)

        self.assertFalse(confirmation.is_timeout())
Ejemplo n.º 3
0
    def test_is_success(self, parse, logger, ConfirmationPayload):
        parse.return_value = {
            'TBK_RESPUESTA': '0',
        }
        data = {'TBK_PARAM': mock.Mock()}
        payload = ConfirmationPayload.return_value
        payload.response = payload.SUCCESS_RESPONSE_CODE

        confirmation = Confirmation(self.commerce, self.request_ip, data)

        self.assertTrue(confirmation.is_success(check_timeout=False))
Ejemplo n.º 4
0
    def test_is_success_respuesta_not_0(self, parse, logger,
                                        ConfirmationPayload):
        parse.return_value = {
            'TBK_RESPUESTA': '0',
        }
        data = {'TBK_PARAM': mock.Mock()}
        payload = ConfirmationPayload.return_value

        for i in range(1, 10):
            payload.response = -i
            confirmation = Confirmation(self.commerce, self.request_ip, data)
            self.assertFalse(confirmation.is_success(check_timeout=False))
Ejemplo n.º 5
0
    def test_is_success_respuesta_not_0(self, parse, logger, ConfirmationPayload):
        parse.return_value = {
            'TBK_RESPUESTA': '0',
        }
        data = {
            'TBK_PARAM': mock.Mock()
        }
        payload = ConfirmationPayload.return_value

        for i in range(1, 10):
            payload.response = -i
            confirmation = Confirmation(self.commerce, self.request_ip, data)
            self.assertFalse(confirmation.is_success(check_timeout=False))
Ejemplo n.º 6
0
    def test_is_success(self, parse, logger, ConfirmationPayload):
        parse.return_value = {
            'TBK_RESPUESTA': '0',
        }
        data = {
            'TBK_PARAM': mock.Mock()
        }
        payload = ConfirmationPayload.return_value
        payload.response = payload.SUCCESS_RESPONSE_CODE

        confirmation = Confirmation(self.commerce, self.request_ip, data)

        self.assertTrue(confirmation.is_success(check_timeout=False))
Ejemplo n.º 7
0
    def test_amount(self, parse, logger, ConfirmationPayload):
        data = {'TBK_PARAM': mock.Mock()}
        payload = ConfirmationPayload.return_value

        confirmation = Confirmation(self.commerce, self.request_ip, data)

        self.assertEqual(payload.amount, confirmation.amount)
Ejemplo n.º 8
0
    def test_init(self, parse, logger, ConfirmationPayload):
        data = {'TBK_PARAM': mock.Mock()}

        confirmation = Confirmation(self.commerce, self.request_ip, data)

        self.assertEqual(self.commerce, confirmation.commerce)
        self.assertEqual(self.request_ip, confirmation.request_ip)
        self.assertEqual(CONFIRMATION_TIMEOUT, confirmation.timeout)
        parse.assert_called_once_with(data['TBK_PARAM'])
        ConfirmationPayload.assert_called_once_with(parse.return_value)
        self.assertEqual(ConfirmationPayload.return_value,
                         confirmation.payload)
Ejemplo n.º 9
0
def confirmation():
    global commerce
    confirmation = Confirmation(
        commerce=commerce,
        request_ip= request.remote_addr,
        data=request.form
    )
    bill = Bill.objects.get(orden = confirmation.order_id)
    if confirmation.is_success() and validation(confirmation, bill):
        bill.state = State.objects.get(name = "Aprobada")
        bill.message = confirmation.payload.message
        bill.auth_code = confirmation.payload.authorization_code
        bill.trx_id = confirmation.payload.transaction_id
        bill.trx_date = confirmation.payload.paid_at
        bill.last_digits = confirmation.payload.credit_card_last_digits
        bill.tipo_cuota = confirmation.payload.payment_type
        bill.num_cuota = confirmation.payload.installments
        bill.save()
        return commerce.acknowledge
    bill.state = State.objects.get(name = "Rechazada")
    bill.save()
    return commerce.reject
Ejemplo n.º 10
0
    def test_parse(self, logger, ConfirmationPayload):
        with open(
                os.path.join(os.path.dirname(__file__), 'fixtures',
                             'confirmation.txt')) as f:
            confirmation_data = f.read()
        data = {'TBK_PARAM': mock.Mock()}
        self.commerce.webpay_decrypt.return_value = (confirmation_data,
                                                     "signature")

        confirmation = Confirmation(self.commerce, self.request_ip, data)

        params = CONFIRMATION_DATA.copy()
        params['TBK_MAC'] = "signature"

        self.commerce.webpay_decrypt.assert_called_once_with(data['TBK_PARAM'])
        ConfirmationPayload.assert_called_once_with(params)
        self.assertEqual(ConfirmationPayload.return_value,
                         confirmation.payload)