부르크뮐러와 슈만 연습곡 30개의 공개 등록과 MIDI 및 원본·생성 자료를 제거했다. 정확한 파일명만 제외 목록에 넣어 재시작 후 재등록을 막았다. 회원 업로드와 기존 기본 샘플은 유지했다. 운영 백업: /home/syskiller/piano/backups/bach-to-basics/20261009-withdraw-practice-30. 격리 테스트 5개 통과. 운영 재시작 뒤 HTTPS 목록과 DB 및 파일에서 철회곡 0개를 확인했다. 회원 업로드 2건과 기존 기본 샘플 7개 보존.
This commit is contained in:
@@ -57,7 +57,7 @@ class LibraryDatabaseTest(unittest.TestCase):
|
||||
self.assertNotIn("오른손", sample["tags"])
|
||||
self.assertNotIn("쉬운 반주", sample["tags"])
|
||||
|
||||
def test_practice_collection_is_seeded_as_public(self) -> None:
|
||||
def test_withdrawn_practice_collection_is_not_seeded(self) -> None:
|
||||
names = {f"practice-burgmuller-{number:02}.mid" for number in range(1, 19)}
|
||||
names.update(f"practice-schumann-{number:02}.mid" for number in range(1, 13))
|
||||
with self.db.connect() as connection:
|
||||
@@ -65,12 +65,8 @@ class LibraryDatabaseTest(unittest.TestCase):
|
||||
"SELECT seed_key, visibility, min_tier, owner_id FROM midi_items WHERE seed_key IS NOT NULL"
|
||||
).fetchall()
|
||||
matching = {row["seed_key"]: row for row in rows if row["seed_key"] in names}
|
||||
self.assertEqual(set(matching), names)
|
||||
for name, row in matching.items():
|
||||
self.assertEqual(row["visibility"], "public")
|
||||
self.assertEqual(row["min_tier"], 0)
|
||||
self.assertIsNone(row["owner_id"])
|
||||
self.assertTrue(Path(self.temp.name, "midi", name).is_file())
|
||||
self.assertFalse(matching)
|
||||
self.assertFalse(any(Path(self.temp.name, "midi", name).exists() for name in names))
|
||||
self.assertFalse(any(row["seed_key"] in self.db.LEGACY_SAMPLE_KEYS for row in rows))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user