def test_fetch_token_with_redirect(self, params, get_validation_url, requests): """ payment.fetch_token must post data to get_validation_url and get token from response after redirect. """ commerce = self.payment_kwargs['commerce'] payment = Payment(**self.payment_kwargs) response1 = mock.Mock() response1.is_redirect = True response1.status_code = 302 response2 = mock.Mock() response2.is_redirect = False response2.status_code = 200 requests.post.side_effect = [response1, response2] decrypted = 'ERROR=0\nTOKEN=e975ffc4f0605ddf3afc299eee6aeffb59efba24769548acf58e34a89ae4e228\n' signature = "signature" * 20 commerce.webpay_decrypt.return_value = decrypted, signature token = payment.fetch_token() commerce.webpay_decrypt.assert_called_once_with(response2.content) self.assertEqual( token, 'e975ffc4f0605ddf3afc299eee6aeffb59efba24769548acf58e34a89ae4e228')
def test_fetch_token_with_redirect(self, params, get_validation_url, requests): """ payment.fetch_token must post data to get_validation_url and get token from response after redirect. """ commerce = self.payment_kwargs['commerce'] payment = Payment(**self.payment_kwargs) response1 = mock.Mock() response1.is_redirect = True response1.status_code = 302 response2 = mock.Mock() response2.is_redirect = False response2.status_code = 200 requests.post.side_effect = [response1, response2] decrypted = 'ERROR=0\nTOKEN=e975ffc4f0605ddf3afc299eee6aeffb59efba24769548acf58e34a89ae4e228\n' signature = "signature" * 20 commerce.webpay_decrypt.return_value = decrypted, signature token = payment.fetch_token() commerce.webpay_decrypt.assert_called_once_with(response2.content) self.assertEqual(token, 'e975ffc4f0605ddf3afc299eee6aeffb59efba24769548acf58e34a89ae4e228')
def test_fetch_token(self, params, get_validation_url, requests): """ payment.fetch_token must post data to get_validation_url and get token from response """ python_version = "%d.%d" % (sys.version_info.major, sys.version_info.minor) user_agent = "TBK/%(TBK_VERSION_KCC)s (Python/%(PYTHON_VERSION)s)" % { 'TBK_VERSION_KCC': TBK_VERSION_KCC, 'PYTHON_VERSION': python_version } commerce = self.payment_kwargs['commerce'] payment = Payment(**self.payment_kwargs) response = requests.post.return_value response.status_code = 200 response.is_redirect = False decrypted = 'ERROR=0\nTOKEN=e975ffc4f0605ddf3afc299eee6aeffb59efba24769548acf58e34a89ae4e228\n' signature = "signature" * 20 commerce.webpay_decrypt.return_value = decrypted, signature token = payment.fetch_token() requests.post.assert_called_once_with( get_validation_url.return_value, data={ 'TBK_VERSION_KCC': TBK_VERSION_KCC, 'TBK_CODIGO_COMERCIO': commerce.id, 'TBK_KEY_ID': commerce.webpay_key_id, 'TBK_PARAM': params }, headers={ 'User-Agent': user_agent }, allow_redirects=False ) commerce.webpay_decrypt.assert_called_once_with(response.content) self.assertEqual(token, 'e975ffc4f0605ddf3afc299eee6aeffb59efba24769548acf58e34a89ae4e228')
def test_fetch_token(self, params, get_validation_url, requests): """ payment.fetch_token must post data to get_validation_url and get token from response """ python_version = "%d.%d" % (sys.version_info.major, sys.version_info.minor) user_agent = "TBK/%(TBK_VERSION_KCC)s (Python/%(PYTHON_VERSION)s)" % { 'TBK_VERSION_KCC': TBK_VERSION_KCC, 'PYTHON_VERSION': python_version } commerce = self.payment_kwargs['commerce'] payment = Payment(**self.payment_kwargs) response = requests.post.return_value response.status_code = 200 response.is_redirect = False decrypted = 'ERROR=0\nTOKEN=e975ffc4f0605ddf3afc299eee6aeffb59efba24769548acf58e34a89ae4e228\n' signature = "signature" * 20 commerce.webpay_decrypt.return_value = decrypted, signature token = payment.fetch_token() requests.post.assert_called_once_with( get_validation_url.return_value, data={ 'TBK_VERSION_KCC': TBK_VERSION_KCC, 'TBK_CODIGO_COMERCIO': commerce.id, 'TBK_KEY_ID': commerce.webpay_key_id, 'TBK_PARAM': params }, headers={'User-Agent': user_agent}, allow_redirects=False) commerce.webpay_decrypt.assert_called_once_with(response.content) self.assertEqual( token, 'e975ffc4f0605ddf3afc299eee6aeffb59efba24769548acf58e34a89ae4e228')