Ejemplo n.º 1
0
 def test_get_urls(self, monkeypatch, url):
     daily_filing = DailyFilings(datetime(2018, 12, 31))
     monkeypatch.setattr(DailyFilings, "_get_quarterly_directory",
                         MockQuarterDirectory)
     monkeypatch.setattr(DailyFilings, "_get_master_idx_file",
                         mock_master_idx_file)
     assert url in daily_filing.get_urls()
Ejemplo n.º 2
0
 def test_save_with_single_level_cik_dir_pattern(
         self, tmp_data_directory, mock_daily_quarter_directory,
         mock_daily_idx_file, mock_filing_response, cik, file):
     daily_filing = DailyFilings(date(2018, 12, 31))
     daily_filing.save(tmp_data_directory, dir_pattern="{cik}")
     path_to_check = os.path.join(tmp_data_directory, cik, file)
     assert os.path.exists(path_to_check)
Ejemplo n.º 3
0
 def test_get_quarterly_directory(self, monkeypatch):
     monkeypatch.setattr(DailyFilings, "_get_quarterly_directory",
                         MockQuarterDirectory)
     assert DailyFilings(datetime(
         2018, 12, 31))._get_quarterly_directory().status_code == 200
     assert "master.20181231.idx" in DailyFilings(datetime(
         2018, 12, 31))._get_quarterly_directory().text
Ejemplo n.º 4
0
 def test_save_default(self, tmp_data_directory,
                       mock_daily_quarter_directory, mock_daily_idx_file,
                       mock_filing_response, cik, file):
     daily_filing = DailyFilings(date(2018, 12, 31))
     daily_filing.save(tmp_data_directory)
     subdir = os.path.join("20181231", cik)
     path_to_check = os.path.join(tmp_data_directory, subdir, file)
     assert os.path.exists(path_to_check)
Ejemplo n.º 5
0
    def test_get_master_idx_file(self, monkeypatch, company_name):
        daily_filing = DailyFilings(datetime(2018, 12, 31))
        monkeypatch.setattr(DailyFilings, "_get_quarterly_directory",
                            MockQuarterDirectory)
        monkeypatch.setattr(DailyFilings, "_get_master_idx_file",
                            mock_master_idx_file)

        # All company names above should be in file
        assert company_name in daily_filing._get_master_idx_file()
Ejemplo n.º 6
0
 def test_save_with_single_level_date_dir_pattern(
         self, tmp_data_directory, mock_daily_quarter_directory,
         mock_daily_idx_file, mock_filing_response, file):
     daily_filing = DailyFilings(date(2018, 12, 31))
     daily_filing.save(tmp_data_directory,
                       dir_pattern="{date}",
                       date_format="%Y-%m-%d")
     path_to_check = os.path.join(tmp_data_directory, "2018-12-31", file)
     assert os.path.exists(path_to_check)
Ejemplo n.º 7
0
 def test_save(self, tmp_data_directory, monkeypatch, subdir, file):
     daily_filing = DailyFilings(datetime(2018, 12, 31))
     monkeypatch.setattr(DailyFilings, "_get_quarterly_directory",
                         MockQuarterDirectory)
     monkeypatch.setattr(DailyFilings, '_get_master_idx_file',
                         mock_master_idx_file)
     monkeypatch.setattr(requests, 'get', MockFilingData)
     daily_filing.save(tmp_data_directory)
     path_to_check = os.path.join(tmp_data_directory, subdir, file)
     assert os.path.exists(path_to_check)
Ejemplo n.º 8
0
 def test_save_with_multi_level_dir_pattern_date_not_first(
         self, tmp_data_directory, mock_daily_quarter_directory,
         mock_daily_idx_file, mock_filing_response, cik, file):
     daily_filing = DailyFilings(date(2018, 12, 31))
     daily_filing.save(tmp_data_directory,
                       dir_pattern="{cik}/{date}",
                       date_format="%Y-%m-%d")
     subdir = os.path.join(cik, "2018-12-31")
     path_to_check = os.path.join(tmp_data_directory, subdir, file)
     assert os.path.exists(path_to_check)
Ejemplo n.º 9
0
    def test_get_master_idx_file(self, mock_daily_quarter_directory,
                                 mock_daily_idx_file, company_name):
        daily_filing = DailyFilings(date(2018, 12, 31))

        # All company names above should be in file
        assert company_name in daily_filing._get_master_idx_file()
Ejemplo n.º 10
0
 def test_get_listings_directory(self, mock_daily_quarter_directory):
     assert DailyFilings(date(
         2018, 12, 31))._get_listings_directory().status_code == 200
     assert "master.20181231.idx" in DailyFilings(date(
         2018, 12, 31))._get_listings_directory().text
Ejemplo n.º 11
0
 def test_get_urls(self, mock_daily_quarter_directory, mock_daily_idx_file,
                   key, url):
     daily_filing = DailyFilings(date(2018, 12, 31))
     assert url in daily_filing.get_urls()[key]
Ejemplo n.º 12
0
 def test_bad_date_format_fails(self, bad_date):
     with pytest.raises(TypeError):
         DailyFilings(bad_date)
Ejemplo n.º 13
0
 def test_idx_filename(self, date, expected_filename):
     assert DailyFilings(date=date).idx_filename == expected_filename
Ejemplo n.º 14
0
 def test_quarter(self, date, expected):
     assert DailyFilings(date=date).quarter == expected
Ejemplo n.º 15
0
 def test_no_params(self):
     daily_filing = DailyFilings(datetime(2020, 1, 1))
     # params should always be empty
     assert not daily_filing.params
Ejemplo n.º 16
0
 def test_path_property(self, year, month, day, quarter):
     daily_filing = DailyFilings(date(year, month, day))
     assert daily_filing.path == "Archives/edgar/daily-index/{year}/QTR{quarter}/".format(
         year=year, quarter=quarter)
Ejemplo n.º 17
0
 def test_no_params(self):
     """Params should always be empty."""
     daily_filing = DailyFilings(date(2020, 1, 1))
     assert not daily_filing.params
Ejemplo n.º 18
0
 def test_master_idx_date_format(self, date_tuple, formatted):
     daily_filing = DailyFilings(date(*date_tuple))
     assert daily_filing._get_idx_formatted_date() == formatted