"""Fixtures for push apple models""" import factory from factory import fuzzy from apollo_main_db.apollo.models import BuzzUser, ApolloMarket, Market, PlaylistBlacklist, StarredContent, UserMarket from apollo_main_db.apple import models from apollo_main_db.push_notifications.models import UserDeviceToken class AppleWeeklyTopPlaylistFactory(factory.alchemy.SQLAlchemyModelFactory): date = factory.Faker("date") country_code = fuzzy.FuzzyText(length=2) rank = factory.Sequence(lambda n: n) playlist_id = fuzzy.FuzzyText(length=22) class Meta: model = models.AppleWeeklyTopPlaylist sqlalchemy_session_persistence = "commit" class ApplePlaylistTrackListHistoryFactory(factory.alchemy.SQLAlchemyModelFactory): playlist_id = fuzzy.FuzzyText(length=22) storefront = fuzzy.FuzzyText(length=5) date = factory.Faker("date") position = factory.Faker("pyint") song_id = factory.Faker("pyint") class Meta: model = models.ApplePlaylistTracklistHistory sqlalchemy_session_persistence = "commit" class AppleSongFactory(factory.alchemy.SQLAlchemyModelFactory): id = factory.Faker("pyint") storefront = fuzzy.FuzzyText(length=2) name = fuzzy.FuzzyText(length=1024) isrc = fuzzy.FuzzyText(length=45) artist_name = fuzzy.FuzzyText(length=1024) artist_id = factory.Faker("pyint") class Meta: model = models.AppleMusicSong sqlalchemy_session_persistence = "commit" class ApplePlaylistFactory(factory.alchemy.SQLAlchemyModelFactory): id = factory.Faker("pyint") name = fuzzy.FuzzyText(length=10) curator_id = factory.Faker("pyint") class Meta: model = models.ApplePlaylist 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 BuzzUserFactory(factory.alchemy.SQLAlchemyModelFactory): id = factory.Faker('pyint') user_name = fuzzy.FuzzyText(length=30) music_service = factory.Faker('pyint') country_code = fuzzy.FuzzyText(length=10) class Meta: model = BuzzUser 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'