From ecea3543ad3cf98be6e625b8d38a5c280a6c1f23 Mon Sep 17 00:00:00 2001 From: Gabriela Cavalcante da Silva Date: Wed, 29 Jan 2020 11:26:37 -0300 Subject: [PATCH] add tests natal --- nfe.py | 74 ------------------------------------ nfse-example.py | 74 ++++++++++++++++++++++++++++++++++++ pytrustnfe/nfse/natal/__init__.py | 1 + tests/XMLs/natal_sent_xml.xml | 13 +++++++ tests/test_nfse_natal.py | 80 +++++++++++++++++++++++++++++++++++++++ tests/test_nfse_paulistana.py | 18 +++------ 6 files changed, 174 insertions(+), 86 deletions(-) delete mode 100644 nfe.py create mode 100644 nfse-example.py create mode 100644 tests/XMLs/natal_sent_xml.xml create mode 100644 tests/test_nfse_natal.py diff --git a/nfe.py b/nfe.py deleted file mode 100644 index dc370c6..0000000 --- a/nfe.py +++ /dev/null @@ -1,74 +0,0 @@ -import xml.dom.minidom -import os -from pytrustnfe.nfse.natal import recepcionar_lote_rps -from pytrustnfe.certificado import Certificado - - -rps_list = [ - { - "numero": "E2143992638620191226", - "serie": "UNICA", - "tipo_rps": "1", - "data_emissao": "2020-01-279", - "natureza_operacao": "1", - "regime_tributacao": "1", - "optante_simples": "1", - "incentivador_cultural": "2", - "servico": { - "valor_servico": "1.00", - "iss_retido": "2", - "base_calculo": "0.00", - "codigo_servico": "01.07", - "cnae_servico": "6209100", - "descricao": "Sistema SGP|1.0000|220.00|220.00#", - "codigo_municipio": "2408102", - }, - "prestador": { - "cnpj": "23809070000190", - "inscricao_municipal": "2143992", - "razao_social": "TSMX SERVICOS DE TI EIRELI", - "fantasia": "TSMX", - "endereco": "AV AMINTAS BARROS", - "numero": "3700", - "complemento": "SALA 1907 BLOCO A", - "bairro": "Lagoa Nova", - "codigo_municipio": "2408102", - "uf": "RN", - "cep": "59075810", - "telefone": "4132095554", - "email": "SUPORTE@CONTABILIZEI.COM.BR", - }, - "tomador": { - "cpf_cnpj": "01812418000166", - "razao_social": "LEONIR NETO", - "endereco": "RUA IRMÃO GROBEIRO", - "numero": "14", - "bairro": "CRUZEIRO", - "cidade": "3159506", - "uf": "MG", - "cep": "35225000", - "email": "leonirneto@uol.com.br", - "orgao_gerador": {"codigo_municipio"}, - }, - } -] -nfse = { - "numero_lote": "1", - "cnpj_prestador": "23809070000190", - "inscricao_municipal": "2143992", - "lista_rps": rps_list, -} - -caminho = os.path.dirname(__file__) -pfx_source = open(os.path.join(caminho, "tests/teste.pfx"), "rb").read() -pfx = Certificado(pfx_source, "123456") - -retorno = recepcionar_lote_rps(pfx, nfse=nfse, ambiente="homologacao") - -# dom = xml.dom.minidom.parseString(retorno['received_xml']) -# received_xml = dom.toprettyxml() -# print(received_xml) - -dom = xml.dom.minidom.parseString(retorno.get("sent_xml")) -sent_xml = dom.toprettyxml() -print(sent_xml) diff --git a/nfse-example.py b/nfse-example.py new file mode 100644 index 0000000..1c3cc81 --- /dev/null +++ b/nfse-example.py @@ -0,0 +1,74 @@ +import xml.dom.minidom +import os +from pytrustnfe.nfse.natal import recepcionar_lote_rps +from pytrustnfe.certificado import Certificado + + +rps_list = [ + { + "numero": "1", + "serie": "UNICA", + "tipo_rps": "1", + "data_emissao": "2020-01-279", + "natureza_operacao": "1", + "regime_tributacao": "1", + "optante_simples": "1", + "incentivador_cultural": "2", + "servico": { + "valor_servico": "1.00", + "iss_retido": "2", + "base_calculo": "0.00", + "codigo_servico": "01.07", + "cnae_servico": "6209100", + "descricao": "Sistema NFSe", + "codigo_municipio": "2408102", + }, + "prestador": { + "cnpj": "23809070000190", + "inscricao_municipal": "2143992", + "razao_social": "SERVICOS DE TI", + "fantasia": "SERVICOS DE TI", + "endereco": "AV AMINTAS", + "numero": "3755", + "complemento": "SALA 32", + "bairro": "Lagoa Nova", + "codigo_municipio": "2408102", + "uf": "RN", + "cep": "59075810", + "telefone": "4132095554", + "email": "SUPORTE@EMAIL.COM.BR", + }, + "tomador": { + "cpf_cnpj": "01812418000166", + "razao_social": "LEONIR", + "endereco": "RUA GROBEIRO", + "numero": "128", + "bairro": "Lagoa Nova", + "cidade": "3159506", + "uf": "BH", + "cep": "1231231313", + "email": "leonir@yahoo.com.br", + "orgao_gerador": {"codigo_municipio": "3159506"}, + }, + } +] +nfse = { + "numero_lote": "1", + "cnpj_prestador": "23809070000190", + "inscricao_municipal": "2143992", + "lista_rps": rps_list, +} + +caminho = os.path.dirname(__file__) +pfx_source = open(os.path.join(caminho, "tests/teste.pfx"), "rb").read() +pfx = Certificado(pfx_source, "123456") + +retorno = recepcionar_lote_rps(pfx, nfse=nfse, ambiente="homologacao") + +# dom = xml.dom.minidom.parseString(retorno['received_xml']) +# received_xml = dom.toprettyxml() +# print(received_xml) + +dom = xml.dom.minidom.parseString(retorno.get("sent_xml")) +sent_xml = dom.toprettyxml() +print(sent_xml) diff --git a/pytrustnfe/nfse/natal/__init__.py b/pytrustnfe/nfse/natal/__init__.py index a96948d..cfc9ec5 100644 --- a/pytrustnfe/nfse/natal/__init__.py +++ b/pytrustnfe/nfse/natal/__init__.py @@ -53,6 +53,7 @@ def xml_recepcionar_lote_rps(certificado, **kwargs): def recepcionar_lote_rps(certificado, **kwargs): if "xml" not in kwargs: kwargs["xml"] = xml_recepcionar_lote_rps(certificado, **kwargs) + print(kwargs["xml"]) return {"sent_xml": kwargs["xml"]} # return _send(certificado, 'recepcionarLoteRps', **kwargs) diff --git a/tests/XMLs/natal_sent_xml.xml b/tests/XMLs/natal_sent_xml.xml new file mode 100644 index 0000000..22a56c4 --- /dev/null +++ b/tests/XMLs/natal_sent_xml.xml @@ -0,0 +1,13 @@ +123809070000190214399211UNICA12020-01-27911121.0020.0001.076209100Sistema NFSe2408102238090700001902143992SERVICOS DE TIAV AMINTAS3755SALA 32Lagoa NovaRN590758104132095554SUPORTE@EMAIL.COM.BRLEONIR128Lagoa NovaBH1231231313leonir@yahoo.com.br3159506z7+372qFhKwwj41AkJ3chbHEYGM=JgW5SbS50rDeJav88IiMdONT6wrKD1pom9otB3QfVllSzfe23olZBsAR6D1/XezBaqCd123yKTbN0o+WPGDaz6Qj+RiCC8Ezthv9Re3RZw5vFCaGGzjj5Rm+KwHoY5kfoK+EhZQKqMdLRzYesdI0f5B9RawM0R8c1XCIYNS6j/0=MIICMTCCAZqgAwIBAgIQfYOsIEVuAJ1FwwcTrY0t1DANBgkqhkiG9w0BAQUFADBX +MVUwUwYDVQQDHkwAewA1ADkARgAxAEUANAA2ADEALQBEAEQARQA1AC0ANABEADIA +RgAtAEEAMAAxAEEALQA4ADMAMwAyADIAQQA5AEUAQgA4ADMAOAB9MB4XDTE1MDYx +NTA1NDc1N1oXDTE2MDYxNDExNDc1N1owVzFVMFMGA1UEAx5MAHsANQA5AEYAMQBF +ADQANgAxAC0ARABEAEUANQAtADQARAAyAEYALQBBADAAMQBBAC0AOAAzADMAMgAy +AEEAOQBFAEIAOAAzADgAfTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAk41G +nqXXLaiOC/y0/cA4tbS+NZCqI+x4EsztgDFvPPlHstiVYcLRkni4i93gK9zoC6g0 +mh66HMVzAfE8vRNwW5b7m6nWS1SiHBon7/Mqsw4MIq3SC+J/fTbKpqwyfAuH2YZl +AiQuQc85fyllAMLh2WrA7JgOLR/5tF3kLtpbHdECAwEAATANBgkqhkiG9w0BAQUF +AAOBgQArdh+RyT6VxKGsXk1zhHsgwXfToe6GpTF4W8PHI1+T0WIsNForDhvst6nm +QtgAhuZM9rxpOJuNKc+pM29EixpAiZZiRMCSWEItNyEVdUIi+YnKBcAHd88TwO86 +d126MWQ2O8cu5W1VoDp7hYBYKOnLbYi11/StO+0rzK+oPYAvIw== + \ No newline at end of file diff --git a/tests/test_nfse_natal.py b/tests/test_nfse_natal.py new file mode 100644 index 0000000..2c0a8b3 --- /dev/null +++ b/tests/test_nfse_natal.py @@ -0,0 +1,80 @@ +# coding=utf-8 + +import mock +import os.path +import unittest +from pytrustnfe.certificado import Certificado +from pytrustnfe.nfse.natal import recepcionar_lote_rps + + +class test_nfse_natal(unittest.TestCase): + + caminho = os.path.dirname(__file__) + + def _get_nfse(self): + rps_list = [ + { + "numero": "1", + "serie": "UNICA", + "tipo_rps": "1", + "data_emissao": "2020-01-279", + "natureza_operacao": "1", + "regime_tributacao": "1", + "optante_simples": "1", + "incentivador_cultural": "2", + "servico": { + "valor_servico": "1.00", + "iss_retido": "2", + "base_calculo": "0.00", + "codigo_servico": "01.07", + "cnae_servico": "6209100", + "descricao": "Sistema NFSe", + "codigo_municipio": "2408102", + }, + "prestador": { + "cnpj": "23809070000190", + "inscricao_municipal": "2143992", + "razao_social": "SERVICOS DE TI", + "fantasia": "SERVICOS DE TI", + "endereco": "AV AMINTAS", + "numero": "3755", + "complemento": "SALA 32", + "bairro": "Lagoa Nova", + "codigo_municipio": "2408102", + "uf": "RN", + "cep": "59075810", + "telefone": "4132095554", + "email": "SUPORTE@EMAIL.COM.BR", + }, + "tomador": { + "cpf_cnpj": "01812418000166", + "razao_social": "LEONIR", + "endereco": "RUA GROBEIRO", + "numero": "128", + "bairro": "Lagoa Nova", + "cidade": "3159506", + "uf": "BH", + "cep": "1231231313", + "email": "leonir@yahoo.com.br", + "orgao_gerador": {"codigo_municipio": "3159506"}, + }, + } + ] + nfse = { + "numero_lote": "1", + "cnpj_prestador": "23809070000190", + "inscricao_municipal": "2143992", + "lista_rps": rps_list, + } + return nfse + + def test_recepcionar_lote_rps(self): + pfx_source = open(os.path.join(self.caminho, "teste.pfx"), "rb").read() + pfx = Certificado(pfx_source, "123456") + + nfse = self._get_nfse() + path = os.path.join(os.path.dirname(__file__), "XMLs") + sent_xml = open(os.path.join(path, "natal_sent_xml.xml"), "r").read() + + retorno = recepcionar_lote_rps(pfx, nfse=nfse) + self.assertEqual(retorno["sent_xml"], sent_xml) diff --git a/tests/test_nfse_paulistana.py b/tests/test_nfse_paulistana.py index a4a444b..75f4fea 100644 --- a/tests/test_nfse_paulistana.py +++ b/tests/test_nfse_paulistana.py @@ -55,8 +55,7 @@ class test_nfse_paulistana(unittest.TestCase): nfse = self._get_nfse() path = os.path.join(os.path.dirname(__file__), "XMLs") - xml_return = open(os.path.join( - path, "paulistana_resultado.xml"), "r").read() + xml_return = open(os.path.join(path, "paulistana_resultado.xml"), "r").read() with mock.patch( "pytrustnfe.nfse.paulistana.get_authenticated_client" @@ -69,10 +68,8 @@ class test_nfse_paulistana(unittest.TestCase): self.assertEqual(retorno["received_xml"], xml_return) self.assertEqual(retorno["object"].Cabecalho.Sucesso, True) - self.assertEqual( - retorno["object"].ChaveNFeRPS.ChaveNFe.NumeroNFe, 446) - self.assertEqual( - retorno["object"].ChaveNFeRPS.ChaveRPS.NumeroRPS, 6) + self.assertEqual(retorno["object"].ChaveNFeRPS.ChaveNFe.NumeroNFe, 446) + self.assertEqual(retorno["object"].ChaveNFeRPS.ChaveRPS.NumeroRPS, 6) def test_nfse_signature(self): pfx_source = open(os.path.join(self.caminho, "teste.pfx"), "rb").read() @@ -80,8 +77,7 @@ class test_nfse_paulistana(unittest.TestCase): nfse = self._get_nfse() path = os.path.join(os.path.dirname(__file__), "XMLs") - xml_sent = open(os.path.join( - path, "paulistana_signature.xml"), "r").read() + xml_sent = open(os.path.join(path, "paulistana_signature.xml"), "r").read() with mock.patch( "pytrustnfe.nfse.paulistana.get_authenticated_client" @@ -108,8 +104,7 @@ class test_nfse_paulistana(unittest.TestCase): cancelamento = self._get_cancelamento() path = os.path.join(os.path.dirname(__file__), "XMLs") - xml_return = open(os.path.join( - path, "paulistana_canc_ok.xml"), "r").read() + xml_return = open(os.path.join(path, "paulistana_canc_ok.xml"), "r").read() with mock.patch( "pytrustnfe.nfse.paulistana.get_authenticated_client" @@ -129,8 +124,7 @@ class test_nfse_paulistana(unittest.TestCase): cancelamento = self._get_cancelamento() path = os.path.join(os.path.dirname(__file__), "XMLs") - xml_return = open(os.path.join( - path, "paulistana_canc_errado.xml"), "r").read() + xml_return = open(os.path.join(path, "paulistana_canc_errado.xml"), "r").read() with mock.patch( "pytrustnfe.nfse.paulistana.get_authenticated_client"