"""Fixtures for push spotify models""" import factory from factory import fuzzy from apollo_main_db.apollo.models import ApolloMarket, Market, PlaylistBlacklist, StarredContent, UserMarket from apollo_main_db.push_notifications.models import UserDeviceToken from apollo_main_db.spotify import models class SpotifyWeeklyTopPlaylistFactory(factory.alchemy.SQLAlchemyModelFactory): date = factory.Faker("date") country = fuzzy.FuzzyText(length=255) rank = factory.Sequence(lambda n: n) playlist_name = fuzzy.FuzzyText(length=1024) playlist_uri = fuzzy.FuzzyText(length=22) playlist_id = fuzzy.FuzzyText(length=22) class Meta: model = models.SpotifyWeeklyTopPlaylist sqlalchemy_session_persistence = "commit" class SpotifyPlaylistTrackListHistory2Factory(factory.alchemy.SQLAlchemyModelFactory): playlist_id = fuzzy.FuzzyText(length=22) date = factory.Faker("date") playlist_index = factory.Faker("pyint") track_id = fuzzy.FuzzyText(length=22) popularity = factory.Faker("pyint") class Meta: model = models.SpotifyPlaylistTrackListHistory2 sqlalchemy_session_persistence = "commit" class SpotifyTrackArtistFactory(factory.alchemy.SQLAlchemyModelFactory): class Meta: model = models.SpotifyTrackArtist sqlalchemy_session_persistence = "commit" class SpotifyArtistFactory(factory.alchemy.SQLAlchemyModelFactory): id = fuzzy.FuzzyText(length=255) class Meta: model = models.SpotifyArtist sqlalchemy_session_persistence = "commit" class SpotifyTrack2Factory(factory.alchemy.SQLAlchemyModelFactory): id = fuzzy.FuzzyText(length=22) isrc = fuzzy.FuzzyText(length=45) class Meta: model = models.SpotifyTrack2 sqlalchemy_session_persistence = "commit" class SpotifyPlaylistFactory(factory.alchemy.SQLAlchemyModelFactory): id = fuzzy.FuzzyText(length=22) country_code = fuzzy.FuzzyText(length=8) class Meta: model = models.SpotifyPlaylist sqlalchemy_session_persistence = "commit" class StarredContentFactory(factory.alchemy.SQLAlchemyModelFactory): user_id = fuzzy.FuzzyText(length=20) uri = fuzzy.FuzzyText(length=20) isrc = fuzzy.FuzzyText(length=20) class Meta: model = StarredContent sqlalchemy_session_persistence = 'commit' class UserMarketFactory(factory.alchemy.SQLAlchemyModelFactory): user_id = fuzzy.FuzzyText(length=20) market_id = factory.Faker('pyint') class Meta: model = UserMarket sqlalchemy_session_persistence = 'commit' class MarketFactory(factory.alchemy.SQLAlchemyModelFactory): market_id = factory.Faker('pyint') market_name = fuzzy.FuzzyText(length=20) class Meta: model = Market sqlalchemy_session_persistence = 'commit' class UserDeviceFactory(factory.alchemy.SQLAlchemyModelFactory): user_id = fuzzy.FuzzyText(length=20) token = fuzzy.FuzzyText(length=20) is_active = factory.Faker("boolean") class Meta: model = UserDeviceToken sqlalchemy_session_persistence = 'commit' class PlaylistBlacklistFactory(factory.alchemy.SQLAlchemyModelFactory): id = factory.Faker('pyint') vendor = fuzzy.FuzzyText(length=20) playlist_id = fuzzy.FuzzyText(length=22) class Meta: model = PlaylistBlacklist sqlalchemy_session_persistence = 'commit' class ApolloMarketFactory(factory.alchemy.SQLAlchemyModelFactory): id = factory.Faker('pyint') code = fuzzy.FuzzyText(length=2) name = fuzzy.FuzzyText(length=10) full_name = fuzzy.FuzzyText(length=20) class Meta: model = ApolloMarket sqlalchemy_session_persistence = 'commit'