async def test_positive_by_channel(mock_aioresponses): mock_aioresponses.get( NORMANDY_URL.format(server=NORMANDY_SERVER), payload=[{ "recipe": { "id": 111 } }, { "recipe": { "id": 123 } }], ) # Ignore the extra recipes reported on beta: with patch_async(f"{MODULE}.fetch_redash", return_value=FAKE_ROWS): status, data = await run(server=NORMANDY_SERVER, api_key="", channels=["release"]) assert status is True assert data == { "missing": [], "extras": [], "min_timestamp": "2019-09-16T01:36:12.348", "max_timestamp": "2019-09-16T07:24:58.741", }
async def test_negative(mock_aioresponses): mock_aioresponses.get( NORMANDY_URL.format(server=NORMANDY_SERVER), payload=[ { "recipe": { "id": 123 } }, { "recipe": { "id": 456 } }, { "recipe": { "id": 789 } }, ], ) with patch_async(f"{MODULE}.fetch_redash", return_value=FAKE_ROWS): status, data = await run(server=NORMANDY_SERVER, api_key="") assert status is False assert data == { "missing": [789], "extras": [], "min_timestamp": "2019-09-16T01:36:12.348", "max_timestamp": "2019-09-16T07:24:58.741", }
async def test_positive_ignore_recents(mock_aioresponses): mock_aioresponses.get( NORMANDY_URL.format(server=NORMANDY_SERVER), payload=[{ "recipe": { "id": 123 } }, { "recipe": { "id": 456 } }], ) mock_aioresponses.get( RECIPE_URL.format(server=NORMANDY_SERVER, id="111"), payload={ "id": 111, "last_updated": "2019-09-16T02:36:12.348Z" }, ) with patch_async(f"{MODULE}.fetch_redash", return_value=FAKE_ROWS): status, data = await run(server=NORMANDY_SERVER, api_key="") assert status is True assert data == { "missing": [], "extras": [], "min_timestamp": "2019-09-16T01:36:12.348", "max_timestamp": "2019-09-16T07:24:58.741", }
async def test_positive(mock_aioresponses): mock_aioresponses.get( NORMANDY_URL.format(server=NORMANDY_SERVER), payload=[{"recipe": {"id": 123}}, {"recipe": {"id": 456}}], ) with patch_async(f"{MODULE}.fetch_normandy_uptake", return_value=FAKE_ROWS): status, data = await run(server=NORMANDY_SERVER) assert status is True assert data == { "missing": [], "min_timestamp": "2019-09-16T01:36:12.348000", "max_timestamp": "2019-09-16T07:24:58.741000", }