Exemple #1
0
def test_search_to_daily_requests(search: Search) -> None:
    # assert is not None necessary for mypy type checking
    daily_requests = search.to_daily_requests()
    assert search.since is not None and search.until is not None
    assert (search.until - search.since).days == len(daily_requests)
    for daily_request in daily_requests:
        assert daily_request.since is not None and daily_request.until is not None
        assert timedelta(days=1) == daily_request.until - daily_request.since
Exemple #2
0
def test_correct_call_to_batch_daily(capsys: CaptureFixture,
                                     tmp_path: Path) -> None:
    batch_file = tmp_path / "batch.jsonl"
    request = Search("trump", since=date(2019, 1, 1), until=date(2019, 2, 1))

    # Needed for type checking.
    assert request.until is not None and request.since is not None

    main(*_make_args(request, to_batch=batch_file, daily=True))

    assert capsys.readouterr().out == ""
    batch = Batch()
    batch.load(batch_file)
    assert len(batch) == (request.until - request.since).days
    for batch_entry, expected_request in zip(batch,
                                             request.to_daily_requests()):
        assert batch_entry.request == expected_request
        assert batch_entry.id
        assert batch_entry.completed_at is None
        assert batch_entry.exception is None
Exemple #3
0
def test_search_into_daily_requests_illegal_args(search: Search) -> None:
    with pytest.raises(ValueError):
        search.to_daily_requests()