def test_scraper_with_empty_table(self): url = "http://www.bcra.gov.ar/PublicacionesEstadisticas/libor.asp" rates = { "30": "libor_30_dias", "60": "libor_60_dias", "90": "libor_90_dias", "180": "libor_180_dias", "360": "libor_360_dias" } content = ''' <table class="table table-BCRA table-bordered table-hover table-responsive"> <thead> <tr><th>No existen registros</th></tr> </thead> </table> ''' scraper = BCRALiborScraper(url, rates, False) result = scraper.parse_day_content(content) assert result == {}
def test_scraper_with_valid_table(self): url = "http://www.bcra.gov.ar/PublicacionesEstadisticas/libor.asp" rates = { "30": "libor_30_dias", "60": "libor_60_dias", "90": "libor_90_dias", "180": "libor_180_dias", "360": "libor_360_dias" } content = ''' <table class="table table-BCRA table-bordered table-hover table-responsive"> <thead> <tr> <th colspan="2" align="left">Tasa LIBOR al: 15/03/2019</th> </tr> <tr> <th>Plazo en días</th> <th>Tasa (T.N.A. %)</th> </tr> </thead> <tbody> <tr> <td>30</td> <td>2,481750</td> </tr> <tr> <td>60</td> <td>2,558380</td> </tr> <tr> <td>90</td> <td>2,625250</td> </tr> <tr> <td>180</td> <td>2,671750</td> </tr> <tr> <td>360</td> <td>2,840500</td> </tr> </tbody> </table> ''' scraper = BCRALiborScraper(url, rates, False) result = scraper.parse_day_content(content) assert result.get('indice_tiempo') == '2019-03-15' assert result.get('30') == '2,481750' assert result.get('60') == '2,558380' assert result.get('90') == '2,625250' assert result.get('180') == '2,671750' assert result.get('360') == '2,840500'
def test_scraper_with_empty_table(self): single_date = datetime(2019, 4, 24) url = "http://www.bcra.gov.ar/PublicacionesEstadisticas/libor.asp" rates = { "30": "libor_30_dias", "60": "libor_60_dias", "90": "libor_90_dias", "180": "libor_180_dias", "360": "libor_360_dias" } content = ''' <table class="table table-BCRA table-bordered table-hover table-responsive"> <thead> <tr><th>No existen registros</th></tr> </thead> </table> ''' scraper = BCRALiborScraper(url, rates, intermediate_panel_path=None, use_intermediate_panel=False) result = scraper.parse_day_content(single_date, content) assert result == { '360': '', '180': '', '90': '', '60': '', '30': '', 'indice_tiempo': datetime(2019, 4, 24, 0, 0) }