def test_deve_buscar_etfs_apenas_uma_vez_na_b3(self, busca_etfs_na_b3): self.__reset_etfs() busca_etfs_na_b3.return_value = ['BOVA', 'DIVO'] assert e_tipo_etf('BOVA11') assert e_tipo_etf('BOVA11') assert e_tipo_etf('DIVO11') assert busca_etfs_na_b3.call_count == 1
def test_deve_buscar_etfs_apenas_uma_vez_na_b3(self, busca_etfs_na_b3): self.__reset_etfs() busca_etfs_na_b3.return_value = {'BOVA', 'DIVO'} assert e_tipo_etf('BOVA11') assert e_tipo_etf('BOVA11') assert e_tipo_etf('DIVO11') # Como tem cachier pode ter resultados sem executar sem nenhuma chamada do metodo.... assert busca_etfs_na_b3.call_count <= 1
def test_crawler(self): self.__reset_etfs() assert e_tipo_etf('BOVA11') assert e_tipo_etf('bova11') assert e_tipo_etf('DIVO11') assert e_tipo_etf('ISUS11') assert e_tipo_etf('SMAC11') assert e_tipo_etf('SPXI11') assert not e_tipo_etf('ITSA4') assert not e_tipo_etf('VRTA11') assert not e_tipo_etf('invalid')
def tipo_ticker(ticker): if ticker in __cache__: return __cache__[ticker] else: if eh_tipo_fii(ticker): __cache__[ticker] = TipoTicker.FII return TipoTicker.FII if e_tipo_etf(ticker): __cache__[ticker] = TipoTicker.ETF return TipoTicker.ETF try: busca_preco_atual(ticker) __cache__[ticker] = TipoTicker.ACAO return TipoTicker.ACAO except: pass from src.crawler_advfn import CrawlerAdvfn crawler_advfn = CrawlerAdvfn() if crawler_advfn.busca_tipo_ticker(ticker) == TipoTicker.ACAO: return TipoTicker.ACAO if crawler_advfn.busca_tipo_ticker(ticker) == TipoTicker.OPCAO: return TipoTicker.OPCAO if crawler_advfn.busca_tipo_ticker(ticker) == TipoTicker.FUTURO: return TipoTicker.FUTURO return None
def tipo_ticker(ticker): if eh_tipo_fii(ticker): return TipoTicker.FII if e_tipo_etf(ticker): return TipoTicker.ETF try: busca_preco_atual(ticker) return TipoTicker.ACAO except: pass from src.crawler_advfn import advfn_tipo_ticker return advfn_tipo_ticker(ticker)
def tipo_ticker(ticker): tp = ticker_tipo(ticker) if tp in TipoTicker.__dict__: return TipoTicker[tp] if eh_tipo_fii(ticker): return TipoTicker.FII if e_tipo_etf(ticker): return TipoTicker.ETF try: busca_preco_atual(ticker) return TipoTicker.ACAO except: pass from src.crawler_advfn import advfn_tipo_ticker return advfn_tipo_ticker(ticker)