示例#1
0
 def test_transacao_com_cartao_no_ultimo_mes_de_validade_funciona(self):
     today = date.today()
     post_data = self.get_post_data(AnoValidade=today.year, MesValidade=today.month)
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("AnoValidade" in wrapper.errors)
     self.assertTrue("MesValidade" in wrapper.errors)
示例#2
0
 def test_autorizacao_aprovada(self):
     post_data = self.get_post_data()
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertTrue(result["approved"])
     self.assertEquals(result["failure_reason"], None)
     self.assertEquals(result["ResultadoSolicitacaoAprovacao"].split("-")[1].strip(), result["CodigoAutorizacao"])
示例#3
0
 def test_extra_data_in_post_is_ignored(self):
     post_data = self.get_post_data(NaoFazDiferenca="sim", QuebraPost=False)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertTrue(result["approved"])
     self.assertEquals(result["failure_reason"], None)
     self.assertEquals(result["ResultadoSolicitacaoAprovacao"].split("-")[1].strip(), result["CodigoAutorizacao"])
示例#4
0
 def test_endereco_ip_nao_eh_adicionado_pela_validacao(self):
     post_data = self.get_post_data()
     del (post_data["EnderecoIPComprador"])
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertFalse("EnderecoIPComprador" in wrapper.errors)
     self.assertFalse("EnderecoIPComprador" in wrapper.request_data)
示例#5
0
 def test_autorizacao_recusada(self):
     post_data = self.get_post_data(CodigoSeguranca=501)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertFalse(result["approved"])
     self.assertEquals(result["failure_reason"], u"N?o Autorizado - 30 - 30ALEATORIO")
     self.assertEquals(post_data["NumeroCartao"][:6], result["CartaoMascarado"][:6])
     self.assertEquals(post_data["NumeroCartao"][-4:], result["CartaoMascarado"][-4:])
     self.assertEquals(post_data["NumeroDocumento"], result["NumeroDocumento"])
示例#6
0
 def test_quantidade_parcelas_pode_ser_omitida(self):
     post_data = self.get_post_data(QuantidadeParcelas=None)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertTrue(result["approved"])
     self.assertEquals(result["failure_reason"], None)
     self.assertEquals(result["ResultadoSolicitacaoAprovacao"].split("-")[1].strip(), result["CodigoAutorizacao"])
     self.assertEquals(post_data["NumeroCartao"][:6], result["CartaoMascarado"][:6])
     self.assertEquals(post_data["NumeroCartao"][-4:], result["CartaoMascarado"][-4:])
     self.assertEquals(post_data["NumeroDocumento"], result["NumeroDocumento"])
示例#7
0
 def test_transacao_com_valor_float_funciona(self):
     post_data = self.get_post_data(ValorDocumento=1.1)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertTrue(result["approved"])
     self.assertEquals(result["failure_reason"], None)
     self.assertEquals(result["ResultadoSolicitacaoAprovacao"].split("-")[1].strip(), result["CodigoAutorizacao"])
     self.assertEquals(post_data["NumeroCartao"][:6], result["CartaoMascarado"][:6])
     self.assertEquals(post_data["NumeroCartao"][-4:], result["CartaoMascarado"][-4:])
     self.assertEquals(post_data["NumeroDocumento"], result["NumeroDocumento"])
示例#8
0
 def test_autorizacao_aprovada(self):
     post_data = self.get_post_data(CodigoSeguranca=555)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertTrue(result["approved"])
     self.assertEquals(result["failure_reason"], None)
     self.assertEquals(result["ResultadoSolicitacaoAprovacao"].split("-")[1].strip(), result["CodigoAutorizacao"])
     self.assertEquals(post_data["NumeroCartao"][:6], result["CartaoMascarado"][:6])
     self.assertEquals(post_data["NumeroCartao"][-4:], result["CartaoMascarado"][-4:])
     self.assertEquals(post_data["NumeroDocumento"], result["NumeroDocumento"])
示例#9
0
 def test_endereco_ip_nao_pode_ser_localhost(self):
     post_data = self.get_post_data(EnderecoIPComprador="127.0.0.2")
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("EnderecoIPComprador" in wrapper.errors)
示例#10
0
 def test_transacao_sem_transacao_anterior_gera_falha(self):
     post_data = self.get_post_data(Transacao=None)
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("Transacao" in wrapper.errors)
示例#11
0
 def test_endereco_ip_eh_RecorrENtE(self):
     post_data = self.get_post_data()
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("EnderecoIPComprador" not in wrapper.errors)
     self.assertEquals(wrapper.request_data["EnderecoIPComprador"], "RecorrENtE")
示例#12
0
 def test_autorizacao_sem_valor_falha(self):
     post_data = self.get_post_data(ValorDocumento=None)
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("ValorDocumento" in wrapper.errors)
示例#13
0
 def test_transacao_com_valor_de_tipo_invalido_falha(self):
     post_data = self.get_post_data(ValorDocumento="NoNumber")
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("ValorDocumento" in wrapper.errors)
示例#14
0
 def test_autorizacao_recusada_dados_invalidos(self):
     post_data = self.get_post_data(CodigoSeguranca=509)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertFalse(result["approved"])
     self.assertEquals(result["failure_reason"], u"N?o Autorizado - 56 - Dado Inv?lido. Por favor, entr")
示例#15
0
 def test_quantidade_parcelas_negativa_gera_falha(self):
     post_data = self.get_post_data(QuantidadeParcelas=-3)
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("QuantidadeParcelas" in wrapper.errors)
示例#16
0
 def test_autorizacao_recusada_refaca_transacao(self):
     post_data = self.get_post_data(CodigoSeguranca=333)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertFalse(result["approved"])
     self.assertEquals(result["failure_reason"], u"N?o Autorizado - 84 - T84REFACA TRANS")
示例#17
0
 def test_autorizacao_recusada_codigo_seguranca_invalido(self):
     post_data = self.get_post_data(CodigoSeguranca=444)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertFalse(result["approved"])
     self.assertEquals(result["failure_reason"], u"N?o Autorizado - N7 - N7COD.SEG.INVAL")
示例#18
0
 def test_autorizacao_recusada_cartao_vencido(self):
     post_data = self.get_post_data(CodigoSeguranca=508)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertFalse(result["approved"])
     self.assertEquals(result["failure_reason"], u"N?o Autorizado - 54 - 54CARTAO VENCIDO")
示例#19
0
 def test_transacao_com_cartao_expirado_falha(self):
     post_data = self.get_post_data(AnoValidade="88")
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("AnoValidade" in wrapper.errors)
     self.assertTrue("MesValidade" in wrapper.errors)
示例#20
0
 def test_transacao_sem_numero_cartao_falha(self):
     post_data = self.get_post_data(NumeroCartao=None)
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("NumeroCartao" in wrapper.errors)
示例#21
0
 def test_endereco_ip_comprador_malformado_gera_falha(self):
     post_data = self.get_post_data(EnderecoIPComprador="NoIP")
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("EnderecoIPComprador" in wrapper.errors)
示例#22
0
 def test_transacao_sem_codigo_cartao_falha(self):
     post_data = self.get_post_data(CodigoSeguranca=None)
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("CodigoSeguranca" in wrapper.errors)
示例#23
0
 def test_ano_validade_com_4_digitos_gera_falha(self):
     post_data = self.get_post_data(AnoValidade=time.strftime("%Y", time.localtime()))
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("AnoValidade" in wrapper.errors)
示例#24
0
 def test_transacao_sem_ano_validade_cartao_falha(self):
     post_data = self.get_post_data(AnoValidade=None)
     wrapper = APC(cgi_url=self.url, **post_data)
     wrapper.validate()
     self.assertTrue("AnoValidade" in wrapper.errors)
示例#25
0
 def test_autorizacao_recusada_cartao_bloqueado(self):
     post_data = self.get_post_data(CodigoSeguranca=502)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertFalse(result["approved"])
     self.assertEquals(result["failure_reason"], u"N?o Autorizado - 78 - 78CAR BLOQ1.USO")
示例#26
0
 def test_autorizacao_recusada_transacao_ja_efetuada(self):
     post_data = self.get_post_data(CodigoSeguranca=507)
     wrapper = APC(cgi_url=self.url, **post_data)
     result = wrapper.make_request()
     self.assertFalse(result["approved"])
     self.assertEquals(result["failure_reason"], u"N?o Autorizado - 68 - T68TRANSACAO JA EFETUADA")