Skip to content
Snippets Groups Projects
Select Git revision
  • develop default protected
  • master
  • 1121-download
  • plugins-v3
  • 876-http-signature
  • plugins-v2
  • plugins
  • 0.21.2
  • 0.21.1
  • 0.21
  • 0.21-rc2
  • 0.21-rc1
  • 0.20.1
  • 0.20.0
  • 0.20.0-rc1
  • 0.19.1
  • 0.19.0
  • 0.19.0-rc2
  • 0.19.0-rc1
  • 0.18.3
  • 0.18.2
  • 0.18.1
  • 0.18
  • 0.17
  • 0.16.3
  • 0.16.2
  • 0.16.1
27 results

factories.py

Blame
  • Forked from funkwhale / funkwhale
    7928 commits behind the upstream repository.
    factories.py 2.18 KiB
    import factory
    import os
    
    from funkwhale_api.users.tests.factories import UserFactory
    
    SAMPLES_PATH = os.path.dirname(os.path.abspath(__file__))
    
    
    class ArtistFactory(factory.django.DjangoModelFactory):
        name = factory.Faker('name')
        mbid = factory.Faker('uuid4')
    
        class Meta:
            model = 'music.Artist'
    
    
    class AlbumFactory(factory.django.DjangoModelFactory):
        title = factory.Faker('sentence', nb_words=3)
        mbid = factory.Faker('uuid4')
        release_date = factory.Faker('date')
        cover = factory.django.ImageField()
        artist = factory.SubFactory(ArtistFactory)
        release_group_id = factory.Faker('uuid4')
    
        class Meta:
            model = 'music.Album'
    
    
    class TrackFactory(factory.django.DjangoModelFactory):
        title = factory.Faker('sentence', nb_words=3)
        mbid = factory.Faker('uuid4')
        album = factory.SubFactory(AlbumFactory)
        artist = factory.SelfAttribute('album.artist')
        position = 1
    
        class Meta:
            model = 'music.Track'
    
    
    class TrackFileFactory(factory.django.DjangoModelFactory):
        track = factory.SubFactory(TrackFactory)
        audio_file = factory.django.FileField(
            from_path=os.path.join(SAMPLES_PATH, 'test.ogg'))
    
        class Meta:
            model = 'music.TrackFile'
    
    
    class ImportBatchFactory(factory.django.DjangoModelFactory):
        submitted_by = factory.SubFactory(UserFactory)
    
        class Meta:
            model = 'music.ImportBatch'
    
    
    class ImportJobFactory(factory.django.DjangoModelFactory):
        batch = factory.SubFactory(ImportBatchFactory)
        source = factory.Faker('url')
    
        class Meta:
            model = 'music.ImportJob'
    
    
    class WorkFactory(factory.django.DjangoModelFactory):
        mbid = factory.Faker('uuid4')
        language = 'eng'
        nature = 'song'
        title = factory.Faker('sentence', nb_words=3)
    
        class Meta:
            model = 'music.Work'
    
    
    class LyricsFactory(factory.django.DjangoModelFactory):
        work = factory.SubFactory(WorkFactory)
        url = factory.Faker('url')
        content = factory.Faker('paragraphs', nb=4)
    
        class Meta:
            model = 'music.Lyrics'
    
    
    class TagFactory(factory.django.DjangoModelFactory):
        name = factory.SelfAttribute('slug')
        slug = factory.Faker('slug')
    
        class Meta:
            model = 'taggit.Tag'