Ensure we don't duplicate libray tracks

This commit is contained in:
Eliot Berriot 2018-04-07 16:28:52 +02:00
parent e19fbf5436
commit 6bf4d46362
No known key found for this signature in database
GPG Key ID: DD6965E2476E5C27
1 changed files with 19 additions and 0 deletions

View File

@ -262,6 +262,25 @@ def test_activity_pub_audio_serializer_to_library_track(factories):
assert lt.published_date == arrow.get(audio['published']) assert lt.published_date == arrow.get(audio['published'])
def test_activity_pub_audio_serializer_to_library_track_no_duplicate(
factories):
remote_library = factories['federation.Library']()
audio = factories['federation.Audio']()
serializer1 = serializers.AudioSerializer(
data=audio, context={'library': remote_library})
serializer2 = serializers.AudioSerializer(
data=audio, context={'library': remote_library})
assert serializer1.is_valid() is True
assert serializer2.is_valid() is True
lt1 = serializer1.save()
lt2 = serializer2.save()
assert lt1 == lt2
assert models.LibraryTrack.objects.count() == 1
def test_activity_pub_audio_serializer_to_ap(factories): def test_activity_pub_audio_serializer_to_ap(factories):
tf = factories['music.TrackFile'](mimetype='audio/mp3') tf = factories['music.TrackFile'](mimetype='audio/mp3')
library = actors.SYSTEM_ACTORS['library'].get_actor_instance() library = actors.SYSTEM_ACTORS['library'].get_actor_instance()