public void SetUp() { sender = new User { Name = "Sender user", Id = 1 }; receiver = new User { Name = "Receiver user", Id = 2 }; permissionContext = new FakePermissionContext(new UserWithPermissionsContract(receiver, ContentLanguagePreference.Default)); var received = sender.SendMessage(receiver, "Hello world", "Message body", false); receivedMessage = received.Item1; receivedMessage.Id = 1; receivedMessage.Read = true; var sent = receiver.SendMessage(sender, "Hello to you too", "Message body", false); sentMessage = sent.Item1; sentMessage.Id = 2; var noPermissionMessage = CreateEntry.UserMessageReceived(id: 39, sender: sender, receiver: sender, subject: "Hello world", body: "Message body"); repository = new FakeUserMessageRepository(sentMessage, sent.Item2, receivedMessage, received.Item2, noPermissionMessage); queries = new UserMessageQueries(repository, permissionContext); }
public void SetUp() { artist = CreateEntry.Producer(name: "Tripshots"); vocalist = CreateEntry.Vocalist(name: "Hatsune Miku"); repository = new FakeArtistRepository(artist, vocalist); var weblink = new ArtistWebLink(artist, "Website", "http://tripshots.net", WebLinkCategory.Official); artist.WebLinks.Add(weblink); repository.Save(weblink); repository.SaveNames(artist, vocalist); user = CreateEntry.User(name: "Miku", group: UserGroupId.Moderator); repository.Save(user); permissionContext = new FakePermissionContext(user); imagePersister = new InMemoryImagePersister(); queries = new ArtistQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, MemoryCache.Default, new FakeUserIconFactory(), new EnumTranslations()); newArtistContract = new CreateArtistContract { ArtistType = ArtistType.Producer, Description = string.Empty, Names = new[] { new LocalizedStringContract("Tripshots", ContentLanguageSelection.English) }, WebLink = new WebLinkContract("http://tripshots.net/", "Website", WebLinkCategory.Official) }; }
public void SetUp() { repository = new FakeSongListRepository(); userWithSongList = new User("User with songlist", "123", "*****@*****.**", PasswordHashAlgorithms.Default); permissionContext = new FakePermissionContext(new UserWithPermissionsContract(userWithSongList, ContentLanguagePreference.Default)); imagePersister = new InMemoryImagePersister(); queries = new SongListQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, new FakeUserIconFactory()); song1 = new Song(TranslatedString.Create("Project Diva desu.")) { Id = 1 }; song2 = new Song(TranslatedString.Create("World is Mine")) { Id = 2 }; repository.Add(userWithSongList); repository.Add(song1, song2); songListContract = new SongListForEditContract { Name = "Mikunopolis Setlist", Description = "MIKUNOPOLIS in LOS ANGELES - Hatsune Miku US debut concert held at Nokia Theatre for Anime Expo 2011 on 2nd July 2011.", SongLinks = SongInListEditContracts(song1, song2) }; }
public void SetUp() { var hashedPass = LoginManager.GetHashedPass("already_exists", "123", 0); userWithEmail = new User("already_exists", hashedPass, "*****@*****.**", 0) { Id = 123 }; userWithoutEmail = new User("no_email", "222", string.Empty, 321) { Id = 321 }; repository = new FakeUserRepository(userWithEmail, userWithoutEmail); repository.Add(userWithEmail.Options); permissionContext = new FakePermissionContext(new UserWithPermissionsContract(userWithEmail, ContentLanguagePreference.Default)); stopForumSpamClient = new FakeStopForumSpamClient(); mailer = new FakeUserMessageMailer(); data = new UserQueries(repository, permissionContext, new FakeEntryLinkFactory(), stopForumSpamClient, mailer, new FakeUserIconFactory(), new FakeObjectCache()); softBannedIPs = new HostCollection(); request = new PasswordResetRequest(userWithEmail) { Id = Guid.NewGuid() }; repository.Add(request); }
public void SetUp() { userWithEmail = new User("already_exists", "123", "*****@*****.**", PasswordHashAlgorithms.Default) { Id = 123 }; userWithoutEmail = new User("no_email", "222", string.Empty, PasswordHashAlgorithms.Default) { Id = 321 }; repository = new FakeUserRepository(userWithEmail, userWithoutEmail); repository.Add(userWithEmail.Options); permissionContext = new FakePermissionContext(new UserWithPermissionsContract(userWithEmail, ContentLanguagePreference.Default)); stopForumSpamClient = new FakeStopForumSpamClient(); mailer = new FakeUserMessageMailer(); data = new UserQueries(repository, permissionContext, new FakeEntryLinkFactory(), stopForumSpamClient, mailer, new FakeUserIconFactory(), null, new InMemoryImagePersister(), new FakeObjectCache(), new Model.Service.BrandableStrings.BrandableStringsManager(), new EnumTranslations()); softBannedIPs = new HostCollection(); request = new PasswordResetRequest(userWithEmail) { Id = Guid.NewGuid() }; repository.Add(request); }
public void SetUp() { _repository = new FakeTagRepository(); _tag = CreateAndSaveTag("Appearance Miku"); _tag2 = CreateAndSaveTag("MMD"); _user = new User("User", "123", "*****@*****.**", PasswordHashAlgorithms.Default) { GroupId = UserGroupId.Moderator }; _repository.Add(_user); _permissionContext = new FakePermissionContext(new ServerOnlyUserWithPermissionsContract(_user, ContentLanguagePreference.Default)); _imagePersister = new InMemoryImagePersister(); _queries = new TagQueries( _repository, _permissionContext, new FakeEntryLinkFactory(), _imagePersister, _imagePersister, new FakeUserIconFactory(), new EnumTranslations(), new FakeObjectCache(), new FakeDiscordWebhookNotifier()); }
public void SetUp() { artist = CreateEntry.Producer(name: "Tripshots"); repository = new FakeArtistRepository(artist); foreach (var name in artist.Names) { repository.Save(name); } user = CreateEntry.User(name: "Miku"); repository.Save(user); permissionContext = new FakePermissionContext(user); imagePersister = new InMemoryImagePersister(); queries = new ArtistQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, MemoryCache.Default); newArtistContract = new CreateArtistContract { ArtistType = ArtistType.Producer, Description = string.Empty, Names = new[] { new LocalizedStringContract("Tripshots", ContentLanguageSelection.English) }, WebLink = new WebLinkContract("http://tripshots.net/", "Website", WebLinkCategory.Official) }; }
public void SetUp() { artist = CreateEntry.Producer(name: "Tripshots"); repository = new FakeArtistRepository(artist); foreach (var name in artist.Names) repository.Save(name); user = CreateEntry.User(name: "Miku"); repository.Save(user); permissionContext = new FakePermissionContext(user); imagePersister = new InMemoryImagePersister(); queries = new ArtistQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, MemoryCache.Default); newArtistContract = new CreateArtistContract { ArtistType = ArtistType.Producer, Description = string.Empty, Names = new[] { new LocalizedStringContract("Tripshots", ContentLanguageSelection.English) }, WebLink = new WebLinkContract("http://tripshots.net/", "Website", WebLinkCategory.Official) }; }
public void SetUp() { producer = CreateEntry.Producer(id: 1, name: "Tripshots"); vocalist = CreateEntry.Vocalist(id: 39, name: "Hatsune Miku"); vocalist2 = CreateEntry.Vocalist(id: 40, name: "Kagamine Rin"); song = CreateEntry.Song(id: 1, name: "Nebula"); song.LengthSeconds = 39; repository = new FakeSongRepository(song); Save(song.AddArtist(producer)); Save(song.AddArtist(vocalist)); Save(song.CreatePV(new PVContract { Id = 1, Service = PVService.Youtube, PVId = "hoLu7c2XZYU", Name = "Nebula", PVType = PVType.Original })); repository.SaveNames(song); user = CreateEntry.User(id: 1, name: "Miku"); user.GroupId = UserGroupId.Trusted; user2 = CreateEntry.User(id: 2, name: "Rin", email: "*****@*****.**"); user3 = CreateEntry.User(id: 3, name: "Luka", email: "*****@*****.**"); repository.Add(user, user2); repository.Add(producer, vocalist); tag = new Tag("vocarock"); repository.Add(tag, new Tag("vocaloud")); releaseEvent = repository.Save(new ReleaseEvent { Name = "Comiket 39" }); permissionContext = new FakePermissionContext(user); entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net"); newSongContract = new CreateSongContract { SongType = SongType.Original, Names = new[] { new LocalizedStringContract("Resistance", ContentLanguageSelection.English) }, Artists = new[] { new ArtistForSongContract { Artist = new ArtistContract(producer, ContentLanguagePreference.Default) }, new ArtistForSongContract { Artist = new ArtistContract(vocalist, ContentLanguagePreference.Default) }, }, PVUrl = "http://test.vocadb.net/" }; pvParser = new FakePVParser(); pvParser.ResultFunc = (url, getMeta) => VideoUrlParseResult.CreateOk(url, PVService.NicoNicoDouga, "sm393939", getMeta ? VideoTitleParseResult.CreateSuccess("Resistance", "Tripshots", "testimg.jpg", 39) : VideoTitleParseResult.Empty); mailer = new FakeUserMessageMailer(); queries = new SongQueries(repository, permissionContext, entryLinkFactory, pvParser, mailer, new FakeLanguageDetector(), new FakeUserIconFactory(), new EnumTranslations(), new InMemoryImagePersister(), new FakeObjectCache(), new Model.Utils.Config.VdbConfigManager()); }
public void SetUp() { _producer = CreateEntry.Producer(); _vocalist = CreateEntry.Vocalist(name: "Hatsune Miku"); _vocalist2 = CreateEntry.Vocalist(name: "Rin"); _album = CreateEntry.Album(id: 39, name: "Synthesis"); _repository = new FakeAlbumRepository(_album); foreach (var name in _album.Names) { Save(name); } _user = CreateEntry.User(1, "Miku"); _user.GroupId = UserGroupId.Moderator; _user2 = CreateEntry.User(2, "Luka"); Save(_user, _user2); Save(_producer, _vocalist, _vocalist2); _song = Save(CreateEntry.Song(name: "Nebula")); _song2 = Save(CreateEntry.Song(name: "Anger")); _song3 = Save(CreateEntry.Song(name: "Resistance")); _permissionContext = new FakePermissionContext(_user); var entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net"); _newAlbumContract = new CreateAlbumContract { DiscType = DiscType.Album, Names = new[] { new LocalizedStringContract("Another Dimensions", ContentLanguageSelection.English) }, Artists = new[] { new ArtistContract(_producer, ContentLanguagePreference.Default), new ArtistContract(_vocalist, ContentLanguagePreference.Default), } }; _imagePersister = new InMemoryImagePersister(); _mailer = new FakeUserMessageMailer(); _queries = new AlbumQueries( _repository, _permissionContext, entryLinkFactory, _imagePersister, _imagePersister, _mailer, new FakeUserIconFactory(), new EnumTranslations(), new FakePVParser(), new FollowedArtistNotifier(new FakeEntryLinkFactory(), new FakeUserMessageMailer(), new EnumTranslations(), new EntrySubTypeNameFactory()), new InMemoryImagePersister(), new FakeObjectCache(), new FakeDiscordWebhookNotifier()); }
public void SetUp() { producer = CreateEntry.Producer(id: 1, name: "Tripshots"); vocalist = CreateEntry.Vocalist(id: 39, name: "Hatsune Miku"); vocalist2 = CreateEntry.Vocalist(id: 40, name: "Kagamine Rin"); song = CreateEntry.Song(id: 1, name: "Nebula"); song.LengthSeconds = 39; repository = new FakeSongRepository(song); Save(song.AddArtist(producer)); Save(song.AddArtist(vocalist)); Save(song.CreatePV(new PVContract { Service = PVService.Youtube, PVId = "hoLu7c2XZYU", Name = "Nebula", PVType = PVType.Original })); foreach (var name in song.Names) { repository.Save(name); } user = CreateEntry.User(id: 1, name: "Miku"); user.GroupId = UserGroupId.Trusted; user2 = CreateEntry.User(id: 2, name: "Rin", email: "*****@*****.**"); repository.Add(user, user2); repository.Add(producer, vocalist); repository.Add(new Tag("vocarock"), new Tag("vocaloud")); permissionContext = new FakePermissionContext(user); var entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net"); newSongContract = new CreateSongContract { SongType = SongType.Original, Names = new[] { new LocalizedStringContract("Resistance", ContentLanguageSelection.English) }, Artists = new[] { new ArtistContract(producer, ContentLanguagePreference.Default), new ArtistContract(vocalist, ContentLanguagePreference.Default), }, PVUrl = "http://test.vocadb.net/" }; pvParser = new FakePVParser(); pvParser.ResultFunc = (url, getMeta) => VideoUrlParseResult.CreateOk(url, PVService.NicoNicoDouga, "sm393939", getMeta ? VideoTitleParseResult.CreateSuccess("Resistance", "Tripshots", "testimg.jpg", 39) : VideoTitleParseResult.Empty); mailer = new FakeUserMessageMailer(); queries = new SongQueries(repository, permissionContext, entryLinkFactory, pvParser, mailer, new FakeLanguageDetector()); }
private TagForEditContract Update(TagForEditContract contract) { var permissionContext = new FakePermissionContext(new UserWithPermissionsContract(Db.UserWithEditPermissions, ContentLanguagePreference.Default)); return(context.RunTest(repository => { var queries = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), new InMemoryImagePersister(), new InMemoryImagePersister(), new FakeUserIconFactory(), new EnumTranslations()); var updated = queries.Update(contract, null); return queries.GetTagForEdit(updated.Id); })); }
public void SetUp() { tag = CreateEntry.Tag("Appearance_Miku"); tag2 = CreateEntry.Tag("MMD"); repository = new FakeTagRepository(tag, tag2); user = new User("User", "123", "*****@*****.**", 123); repository.Add(user); permissionContext = new FakePermissionContext(new UserWithPermissionsContract(user, ContentLanguagePreference.Default)); imagePersister = new InMemoryImagePersister(); queries = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister); }
public void SetUp() { sender = new User { Name = "Sender user", Id = 1}; receiver = new User { Name = "Receiver user", Id = 2 }; permissionContext = new FakePermissionContext(new UserWithPermissionsContract(receiver, ContentLanguagePreference.Default)); receivedMessage = CreateEntry.UserMessage(id: 1, sender: sender, receiver: receiver, subject: "Hello world", body: "Message body", read: true); sentMessage = CreateEntry.UserMessage(id: 2, sender: receiver, receiver: sender, subject: "Hello to you too", body: "Message body"); var noPermissionMessage = CreateEntry.UserMessage(id: 39, sender: sender, receiver: sender, subject: "Hello world", body: "Message body"); repository = new FakeUserMessageRepository(sentMessage, receivedMessage, noPermissionMessage); queries = new UserMessageQueries(repository, permissionContext); }
private TagForApiContract Merge(int sourceId, int targetId) { var permissionContext = new FakePermissionContext(new UserWithPermissionsContract(Db.UserWithEditPermissions, ContentLanguagePreference.Default)); return(context.RunTest(repository => { var queries = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), new InMemoryImagePersister(), new InMemoryImagePersister(), new FakeUserIconFactory(), new EnumTranslations()); queries.Merge(sourceId, targetId); var result = queries.LoadTag(targetId, t => new TagForApiContract(t, ContentLanguagePreference.English, TagOptionalFields.None)); return result; })); }
public void SetUp() { sender = new User { Name = "Sender user", Id = 1 }; receiver = new User { Name = "Receiver user", Id = 2 }; permissionContext = new FakePermissionContext(new UserWithPermissionsContract(receiver, ContentLanguagePreference.Default)); receivedMessage = CreateEntry.UserMessage(id: 1, sender: sender, receiver: receiver, subject: "Hello world", body: "Message body", read: true); sentMessage = CreateEntry.UserMessage(id: 2, sender: receiver, receiver: sender, subject: "Hello to you too", body: "Message body"); var noPermissionMessage = CreateEntry.UserMessage(id: 39, sender: sender, receiver: sender, subject: "Hello world", body: "Message body"); repository = new FakeUserMessageRepository(sentMessage, receivedMessage, noPermissionMessage); queries = new UserMessageQueries(repository, permissionContext); }
public void SetUp() { series = CreateEntry.EventSeries("M3"); existingEvent = new ReleaseEvent(string.Empty, null, series, 2013, "Spring", null, false); repository = new FakeEventRepository(); repository.Save(series); repository.Save(existingEvent); album = CreateEntry.Album(name: "Day's Footsteps"); album.OriginalReleaseEvent = existingEvent; repository.Save(album); user = CreateEntry.User(group: UserGroupId.Trusted); repository.Save(user); permissionContext = new FakePermissionContext(user); queries = new EventQueries(repository, new FakeEntryLinkFactory(), permissionContext, new InMemoryImagePersister()); }
public void SetUp() { repository = new FakeTagRepository(); tag = CreateAndSaveTag("Appearance Miku"); tag2 = CreateAndSaveTag("MMD"); user = new User("User", "123", "*****@*****.**", PasswordHashAlgorithms.Default) { GroupId = UserGroupId.Moderator }; repository.Add(user); permissionContext = new FakePermissionContext(new UserWithPermissionsContract(user, ContentLanguagePreference.Default)); imagePersister = new InMemoryImagePersister(); queries = new TagQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister, imagePersister, new FakeUserIconFactory(), new EnumTranslations(), new FakeObjectCache()); }
public void SetUp() { producer = CreateEntry.Producer(); vocalist = CreateEntry.Vocalist(name: "Hatsune Miku"); vocalist2 = CreateEntry.Vocalist(name: "Rin"); album = CreateEntry.Album(id: 39, name: "Synthesis"); repository = new FakeAlbumRepository(album); foreach (var name in album.Names) { Save(name); } user = CreateEntry.User(1, "Miku"); user.GroupId = UserGroupId.Moderator; user2 = CreateEntry.User(2, "Luka"); Save(user, user2); Save(producer, vocalist, vocalist2); song = Save(CreateEntry.Song(name: "Nebula")); song2 = Save(CreateEntry.Song(name: "Anger")); song3 = Save(CreateEntry.Song(name: "Resistance")); permissionContext = new FakePermissionContext(user); var entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net"); newAlbumContract = new CreateAlbumContract { DiscType = DiscType.Album, Names = new[] { new LocalizedStringContract("Another Dimensions", ContentLanguageSelection.English) }, Artists = new[] { new ArtistContract(producer, ContentLanguagePreference.Default), new ArtistContract(vocalist, ContentLanguagePreference.Default), } }; imagePersister = new InMemoryImagePersister(); mailer = new FakeUserMessageMailer(); queries = new AlbumQueries(repository, permissionContext, entryLinkFactory, imagePersister, imagePersister, mailer, new FakeUserIconFactory(), new EnumTranslations(), new FakePVParser()); }
public void SetUp() { series = CreateEntry.EventSeries("M3"); existingEvent = CreateEntry.SeriesEvent(series, 2013, "Spring"); series.AllEvents.Add(existingEvent); repository = new FakeEventRepository(); repository.Save(series); repository.Save(existingEvent); repository.SaveNames(series); repository.SaveNames(existingEvent); album = CreateEntry.Album(name: "Day's Footsteps"); album.OriginalReleaseEvent = existingEvent; repository.Save(album); user = CreateEntry.User(group: UserGroupId.Trusted); repository.Save(user); permissionContext = new FakePermissionContext(user); queries = new EventQueries(repository, new FakeEntryLinkFactory(), permissionContext, new InMemoryImagePersister(), new FakeUserIconFactory(), new EnumTranslations(), mailer); }
public void SetUp() { _artist = CreateEntry.Producer(name: "Tripshots"); _vocalist = CreateEntry.Vocalist(name: "Hatsune Miku"); _repository = new FakeArtistRepository(_artist, _vocalist); var weblink = new ArtistWebLink(_artist, "Website", "http://tripshots.net", WebLinkCategory.Official, disabled: false); _artist.WebLinks.Add(weblink); _repository.Save(weblink); _repository.SaveNames(_artist, _vocalist); _user = CreateEntry.User(name: "Miku", group: UserGroupId.Moderator); _user2 = CreateEntry.User(name: "Rin", group: UserGroupId.Regular); _repository.Save(_user); _permissionContext = new FakePermissionContext(_user); _imagePersister = new InMemoryImagePersister(); _queries = new ArtistQueries( _repository, _permissionContext, new FakeEntryLinkFactory(), _imagePersister, _imagePersister, MemoryCache.Default, new FakeUserIconFactory(), new EnumTranslations(), _imagePersister, new FakeDiscordWebhookNotifier()); _newArtistContract = new CreateArtistContract { ArtistType = ArtistType.Producer, Description = string.Empty, Names = new[] { new LocalizedStringContract("Tripshots", ContentLanguageSelection.English) }, WebLink = new WebLinkContract("http://tripshots.net/", "Website", WebLinkCategory.Official, disabled: false) }; }
public void SetUp() { repository = new FakeAlbumRepository(); var permissionContext = new FakePermissionContext(); var thumbPersister = new InMemoryImagePersister(); queries = new EntryQueries(repository, permissionContext, thumbPersister); var group = CreateEntry.Artist(ArtistType.OtherGroup, name: "1640mP"); var artist = CreateEntry.Producer(name: "40mP"); var tag = new Tag("pop_rock"); artist.Tags.Usages.Add(new ArtistTagUsage(artist, tag)); var artist2 = CreateEntry.Producer(name: "Tripshots"); var album = CreateEntry.Album(name: "40mP Piano Arrange Album"); var song = CreateEntry.Song(name: "Mosaik Role [40mP ver.]"); repository.Save(group, artist, artist2); repository.Save(album); repository.Save(song); repository.Save(tag); }
public void SetUp() { repository = new FakeSongListRepository(); userWithSongList = new User("User with songlist", "123", "*****@*****.**", 123); permissionContext = new FakePermissionContext(new UserWithPermissionsContract(userWithSongList, ContentLanguagePreference.Default)); imagePersister = new InMemoryImagePersister(); queries = new SongListQueries(repository, permissionContext, new FakeEntryLinkFactory(), imagePersister); var song1 = new Song(TranslatedString.Create("Project Diva desu.")) { Id = 1}; var song2 = new Song(TranslatedString.Create("World is Mine")) { Id = 2}; repository.Add(userWithSongList); repository.Add(song1, song2); songListContract = new SongListForEditContract { Name = "Mikunopolis Setlist", Description = "MIKUNOPOLIS in LOS ANGELES - Hatsune Miku US debut concert held at Nokia Theatre for Anime Expo 2011 on 2nd July 2011.", SongLinks = SongInListEditContracts(song1, song2) }; }
public TagQueriesDatabaseTests() { userContext = new FakePermissionContext(new UserWithPermissionsContract(Db.UserWithEditPermissions, ContentLanguagePreference.Default)); }