Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

Commit

Permalink
Altera tipo do retorno de 'consulta_cep' para 'dict'
Browse files Browse the repository at this point in the history
  • Loading branch information
mstuttgart committed Oct 9, 2019
1 parent e5b0925 commit 4895430
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 38 deletions.
4 changes: 2 additions & 2 deletions pysigep/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def consulta_cep(self, cep):
cep {str} -- Número do CEP sem ponto e/ou hífen.
Returns:
enderecoERP -- objeto contendo os dados do endereco
dict -- Dict contendo os dados do endereco
"""

param = {
Expand All @@ -72,7 +72,7 @@ def consulta_cep(self, cep):

validar('cep', param['cep'])

return self.cliente.service.consultaCEP(**param)
return zeep.helpers.serialize_object(self.cliente.service.consultaCEP(**param), target_cls=dict)

def busca_cliente(self, id_contrato, id_cartao_postagem):
"""Este método retorna os serviços disponíveis do contrato
Expand Down
46 changes: 10 additions & 36 deletions tests/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,51 +31,25 @@ def test_set_ambiente(self):
with self.assertRaises(KeyError):
self.cliente.ambiente = 3

@mock.patch('zeep.Client')
def test_consulta_cep(self, mk):

class MockClass:
def __init__(self, dictionary):
for k, v in dictionary.items():
setattr(self, k, v)

end_esperado = {
'bairro': 'Santo Antônio',
'cep': '37503130',
'cidade': 'Itajubá',
'complemento': None,
'complemento2': '- até 214/215',
'end': 'Rua Geraldino Campista',
'id': 0,
'uf': 'MG',
'unidadesPostagem': [],
}
def test_consulta_cep(self):

# Criamos o cliente SOAP
cliente = SOAPClient(ambiente=HOMOLOGACAO,
senha=HOMOG_SENHA,
usuario=HOMOG_USUARIO)

service_mk = mk.return_value.service

# Criamos o mock para o valor de retorno
service_mk.consultaCEP.return_value = MockClass(end_esperado)

# Realizamos a consulta de CEP
endereco = cliente.consulta_cep('37.503-130')

self.assertEqual(endereco.bairro, 'Santo Antônio')
self.assertEqual(endereco.cep, '37503130')
self.assertEqual(endereco.cidade, 'Itajubá')
self.assertEqual(endereco.complemento, None)
self.assertEqual(endereco.complemento2, '- até 214/215')
self.assertEqual(endereco.end, 'Rua Geraldino Campista')
self.assertEqual(endereco.id, 0)
self.assertEqual(endereco.uf, 'MG')
self.assertEqual(endereco.unidadesPostagem, [])

# Verifica se o metodo consultaCEP foi chamado com os parametros corretos
service_mk.consultaCEP.assert_called_with(cep='37503130')
self.assertIsInstance(endereco, dict)

self.assertEqual(endereco['bairro'], 'Santo Antônio')
self.assertEqual(endereco['cep'], '37503130')
self.assertEqual(endereco['cidade'], 'Itajubá')
self.assertEqual(endereco['complemento2'], '- até 214/215')
self.assertEqual(endereco['end'], 'Rua Geraldino Campista')
self.assertEqual(endereco['uf'], 'MG')
self.assertEqual(endereco['unidadesPostagem'], [])

def test_busca_client(self):

Expand Down

0 comments on commit 4895430

Please sign in to comment.