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)
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"])
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"])
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)
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"])
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"])
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"])
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"])
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)
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)
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")
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)
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)
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")
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)
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")
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")
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")
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)
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)
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)
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)
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)
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)
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")
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")