From 7ae90305e328bfcdac2361dd2bb5d2e0d4368c70 Mon Sep 17 00:00:00 2001 From: David Magnus Henriques Date: Wed, 23 May 2018 23:33:19 +0200 Subject: [PATCH] Added test for OggTheora Import --- api/tests/music/test_metadata.py | 16 ++++++++++++++++ api/tests/music/test_theora.ogg | Bin 0 -> 22785 bytes 2 files changed, 16 insertions(+) create mode 100644 api/tests/music/test_theora.ogg diff --git a/api/tests/music/test_metadata.py b/api/tests/music/test_metadata.py index e7b9012b6..bacec07fb 100644 --- a/api/tests/music/test_metadata.py +++ b/api/tests/music/test_metadata.py @@ -24,6 +24,22 @@ def test_can_get_metadata_from_ogg_file(field, value): assert data.get(field) == value +@pytest.mark.parametrize('field,value', [ + ('title', 'Drei Kreuze (dass wir hier sind)'), + ('artist', 'Die Toten Hosen'), + ('album', 'Ballast der Republik'), + ('date', datetime.date(2012, 5, 4)), + ('track_number', 1), + ('musicbrainz_albumid', uuid.UUID('1f0441ad-e609-446d-b355-809c445773cf')), + ('musicbrainz_recordingid', uuid.UUID('124d0150-8627-46bc-bc14-789a3bc960c8')), + ('musicbrainz_artistid', uuid.UUID('c3bc80a6-1f4a-4e17-8cf0-6b1efe8302f1')), +]) +def test_can_get_metadata_from_ogg_theora_file(field, value): + path = os.path.join(DATA_DIR, 'test_theora.ogg') + data = metadata.Metadata(path) + + assert data.get(field) == value + @pytest.mark.parametrize('field,value', [ ('title', 'Bend'), diff --git a/api/tests/music/test_theora.ogg b/api/tests/music/test_theora.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3aa7117387a87115d9316f9d34205254381c95ec GIT binary patch literal 22785 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 z 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 literal 0 HcmV?d00001