def test_should_get_data_from_correios_website(self): example_file = open('%s/tests/correios_website/exemplo_rastreamento_correios1.html' % os.getcwd()) sample_html = example_file.read() example_file.close() http_client_mock = mock.Mock() response_mock = mock.Mock() http_client_mock.post.return_value = response_mock response_mock.content = sample_html correios_website_scraper = CorreiosWebsiteScraper(http_client_mock) numero = 'PJ859656941BR' encomenda = correios_website_scraper.get_encomenda_info(numero) self.assertEqual(numero, encomenda.numero) self._assert_status(encomenda.status[0], u'07/06/2016 13:17', u'SANTO ANDRE/SP', u'Objeto postado', u'') detalhes = u'Objeto encaminhado de Agência dos Correios em Santo Andre / SP para Unidade Operacional em Sao Paulo / SP' self._assert_status(encomenda.status[1], u'07/06/2016 13:55', u'SANTO ANDRE/SP', u'Objeto encaminhado', detalhes) detalhes = u'Objeto encaminhado de Unidade Operacional em Sao Paulo / SP para Unidade de Distribuição em SAO JOSE DOS CAMPOS / SP' self._assert_status(encomenda.status[2], u'01/07/2016 15:51', u'SAO PAULO/SP', u'Objeto encaminhado', detalhes)
def test_timeout_undefined(self): urllib2_mock = Mock() request_mock = Mock() TIMEOUT = 3 when(urllib2_mock).urlopen(ANY(), timeout=TIMEOUT) \ .thenReturn(request_mock) scraper = CorreiosWebsiteScraper(urllib2_mock, timeout=TIMEOUT) scraper.get_encomenda_info('ES446391025BR') verify(urllib2_mock).urlopen(ANY(), timeout=TIMEOUT)
def test_timeout_undefined(self): http_client_mock = mock.Mock() response_mock = mock.Mock() http_client_mock.post.return_value = response_mock response_mock.content = '' TIMEOUT = 3 scraper = CorreiosWebsiteScraper(http_client_mock, timeout=TIMEOUT) scraper.get_encomenda_info('ES446391025BR') assert http_client_mock.post.call_args[1]['timeout'] == 3
def test_should_get_data_from_correios_website(self): example_file = open("%s/tests/correios_website/exemplo_rastreamento_correios1.html" % os.getcwd()) sample_html = example_file.read() example_file.close() urllib2_mock = Mock() request_mock = Mock() when(urllib2_mock).urlopen( "http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_ITEMCODE=&P_LINGUA=001&P_TESTE=&P_TIPO=001&P_COD_UNI=ES446391025BR" ).thenReturn(request_mock) when(request_mock).read().thenReturn(sample_html) correios_website_scraper = CorreiosWebsiteScraper(urllib2_mock) encomenda = correios_website_scraper.get_encomenda_info("ES446391025BR") assert encomenda.numero == "ES446391025BR" assert encomenda.status[0].data == u"27/01/2009 16:35" assert encomenda.status[0].local == u"ACF FENIX - ITAPECERICA DA SERRA/SP" assert encomenda.status[0].situacao == u"Postado" assert encomenda.status[0].detalhes == None assert encomenda.status[1].data == u"27/01/2009 18:51" assert encomenda.status[1].local == u"ACF FENIX - ITAPECERICA DA SERRA/SP" assert encomenda.status[1].situacao == u"Encaminhado" assert encomenda.status[1].detalhes == u"Em trânsito para CTE JAGUARE - SAO PAULO/SP" assert encomenda.status[2].data == u"28/01/2009 03:36" assert encomenda.status[2].local == u"CTE JAGUARE - SAO PAULO/SP" assert encomenda.status[2].situacao == u"Encaminhado" assert encomenda.status[2].detalhes == u"Encaminhado para CTE SAUDE - SAO PAULO/SP" assert encomenda.status[3].data == u"28/01/2009 06:40" assert encomenda.status[3].local == u"CTE SAUDE - SAO PAULO/SP" assert encomenda.status[3].situacao == u"Encaminhado" assert encomenda.status[3].detalhes == u"Encaminhado para CEE MOEMA - SAO PAULO/SP" assert encomenda.status[4].data == u"28/01/2009 14:17" assert encomenda.status[4].local == u"CEE MOEMA - SAO PAULO/SP" assert encomenda.status[4].situacao == u"Saiu para entrega" assert encomenda.status[4].detalhes == None assert encomenda.status[5].data == u"28/01/2009 17:49" assert encomenda.status[5].local == u"CEE MOEMA - SAO PAULO/SP" assert encomenda.status[5].situacao == u"Entregue" assert encomenda.status[5].detalhes == None