scdl/tests/test_search.py
Mark Henry e06cc9c685
Add -q <search_query> command line argument (#511)
* Add -s <search_term> command line argument

* add final newline

* Format and lint

* Update README

* Update no results test to use random query

---------

Co-authored-by: 7x11x13 <x7x11x13@gmail.com>
2024-08-14 12:45:16 -04:00

50 lines
1.2 KiB
Python

import os
import secrets
from pathlib import Path
from tests.utils import assert_track, call_scdl_with_auth
def test_search(tmp_path: Path) -> None:
os.chdir(tmp_path)
r = call_scdl_with_auth(
"-s",
"7x11x13-testing test track",
"--name-format",
"track",
"--onlymp3",
)
assert r.returncode == 0
assert_track(tmp_path, "track.mp3")
def test_search_no_results(tmp_path: Path) -> None:
os.chdir(tmp_path)
r = call_scdl_with_auth(
"-s",
f"this query should not return any results {secrets.token_hex(16)}",
"--name-format",
"track",
"--onlymp3",
)
assert r.returncode == 1
assert "No results found for query" in r.stderr
def test_search_playlist(tmp_path: Path) -> None:
os.chdir(tmp_path)
r = call_scdl_with_auth(
"-s",
"playlist1 7x11x13-testing",
"--playlist-name-format",
"{playlist[tracknumber]}_{title}",
"--onlymp3",
)
assert r.returncode == 0
assert_track(tmp_path / "playlist1", "1_OK Bye.mp3", check_metadata=False)
assert_track(
tmp_path / "playlist1",
"2_Wan Bushi - Eurodance Vibes (part 1+2+3).mp3",
check_metadata=False,
)