20 lines
937 B
Python
20 lines
937 B
Python
from lyra_worker.adapters.youtube import YouTubeAdapter
|
|
from lyra_worker.claim import claim_next
|
|
from lyra_worker.pipeline import run_pipeline
|
|
from tests.conftest import insert_request
|
|
from tests.test_youtube_adapter import FakeYtClient
|
|
|
|
|
|
def test_youtube_adapter_flows_through_pipeline(conn):
|
|
job_id = insert_request(conn, artist="Radiohead", album="In Rainbows")
|
|
claim_next(conn)
|
|
run_pipeline(conn, job_id, [YouTubeAdapter(FakeYtClient())], dest_root="/tmp/lib")
|
|
|
|
with conn.cursor() as cur:
|
|
cur.execute('SELECT state, "currentStage" FROM "Job" WHERE id = %s', (job_id,))
|
|
assert cur.fetchone() == ("imported", "import")
|
|
cur.execute('SELECT source FROM "Candidate" WHERE "jobId" = %s AND chosen = true', (job_id,))
|
|
assert cur.fetchone()[0] == "youtube"
|
|
cur.execute('SELECT source FROM "LibraryItem" WHERE artist = %s', ("Radiohead",))
|
|
assert cur.fetchone()[0] == "youtube"
|