Initial import: Music_Server, MusicFree, catalog-sync

This commit is contained in:
2026-05-23 16:51:14 +08:00
commit 069af30dba
847 changed files with 179878 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
import sqlite3
import tempfile
import unittest
from pathlib import Path
from unittest.mock import patch
from fastapi.testclient import TestClient
from music_server.app import create_app
from tests.support import auth_headers
class PlayerRouteTests(unittest.TestCase):
def _prepare_player_db(self, db_path: Path) -> None:
conn = sqlite3.connect(db_path)
conn.execute(
"""
create table favorite_tracks (
track_id integer primary key,
added_at text not null
)
"""
)
conn.commit()
conn.close()
def test_favorite_track_put_then_list(self):
with tempfile.TemporaryDirectory() as tmpdir:
db_path = Path(tmpdir) / "player.db"
self._prepare_player_db(db_path)
with patch.dict(
"os.environ",
{
"PLAYER_DB_PATH": str(db_path),
},
clear=False,
):
client = TestClient(create_app())
put_response = client.put(
"/player/v1/me/favorites/tracks/3476",
headers=auth_headers(db_path),
)
get_response = client.get(
"/player/v1/me/favorites/tracks",
headers=auth_headers(db_path),
)
self.assertEqual(204, put_response.status_code)
self.assertEqual(200, get_response.status_code)
self.assertEqual({"items": [{"track_id": 3476}]}, get_response.json())
def test_favorite_track_routes_work_with_fresh_empty_db(self):
with tempfile.TemporaryDirectory() as tmpdir:
db_path = Path(tmpdir) / "player.db"
with patch.dict(
"os.environ",
{
"PLAYER_DB_PATH": str(db_path),
},
clear=False,
):
client = TestClient(create_app())
put_response = client.put(
"/player/v1/me/favorites/tracks/8888",
headers=auth_headers(db_path),
)
get_response = client.get(
"/player/v1/me/favorites/tracks",
headers=auth_headers(db_path),
)
self.assertEqual(204, put_response.status_code)
self.assertEqual(200, get_response.status_code)
self.assertEqual({"items": [{"track_id": 8888}]}, get_response.json())
if __name__ == "__main__":
unittest.main()