示例#1
0
        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());
        }
        private string ApplyTransform(string raw)
        {
            var code        = new StringBuilder(raw);
            var linkFactory = new EntryAnchorFactory("http://test.vocadb.net");

            new EntryLinkTransformer(linkFactory).ApplyTransform(code);
            return(code.ToString());
        }
示例#3
0
        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());
        }
示例#4
0
 public void SetUp()
 {
     album = new Album(TranslatedString.Create("Synthesis"))
     {
         Id = 39
     };
     agentName        = "Rin";
     entryLinkFactory = new EntryAnchorFactory("http://test.vocadb.net");
     user             = CreateEntry.User(name: "miku");
     user2            = CreateEntry.User(name: "luka");
     repository       = new FakeUserRepository(user, user2);
 }
示例#5
0
        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());
        }
示例#6
0
        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()
 {
     factory = new EntryAnchorFactory("http://test.vocadb.net");
 }