"""Here is the docstring.""" import datetime from application import app import freezegun from feed_status.resources import ingestion_feeds ONE_DAY = datetime.timedelta(days=1) @freezegun.freeze_time(datetime.date(2022, 7, 20)) def test_ingestion_feed_status_real( monkeypatch): """Test ingestion_feed_status_real.""" date_str = '2022-07-20' mock_get_metric_status = [ {'name': 'current_status', 'status': 'pending', 'threshold': 16, 'only_business_days': False}, {'name': 'stability', 'status': 'critical', 'threshold': 16, 'only_business_days': False} ] mock_feed_ingestion_history = [ { 'date': '2022-07-20', 'status': 'INGESTED', }, { 'date': '2022-07-19', 'status': 'DOWNLOADED', }, ] mock_generate_default_date_dict_range = { '2022-07-20': '--', '2022-07-19': '--', '2022-07-18': '--', } return_expected = { '2022-07-20': 'ingested', '2022-07-19': 'downloaded', '2022-07-18': '--', } monkeypatch.setattr( ingestion_feeds.dynamo_feed_status, 'get_ingestion_history', lambda *args: mock_feed_ingestion_history) monkeypatch.setattr( ingestion_feeds.feed_monitor, 'get_metric_status', lambda *args: mock_get_metric_status) monkeypatch.setattr( ingestion_feeds.util, 'generate_default_date_dict_range', lambda *args: mock_generate_default_date_dict_range) with app.test_request_context(f'/ingestion_feed/all/status/{date_str}'): res = ingestion_feeds.IngestionFeedStatus() response = res.get(feed_id='all', date=date_str) dates = response['dates'] assert dates == ['2022-07-20', '2022-07-19', '2022-07-18'] data = response['data'] assert data for feed in data: assert feed['status'] == return_expected