Ejemplo n.º 1
0
        public Task<MovieTrailer> ParseTrailerResponse(string response)
        {
            return Task.Run<MovieTrailer>(() =>
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(response);
                var node = doc.SelectSingleNode("//movie");
                if (node == null)
                {
                    return null;
                }
                MovieTrailer movie = new MovieTrailer();
                movie.SourceId = node.Attributes["imdbID"].Value;
                movie.Title = node.Attributes["title"].Value;
                movie.CoverUrl = node.Attributes["poster"] == null ? string.Empty : node.Attributes["poster"].Value;
                movie.Description = node.Attributes["plot"].Value;
                movie.Source = Models.Source.OMDB;
                int releaseYear;
                if (int.TryParse(node.Attributes["year"].Value, out releaseYear))
                {
                    movie.ReleaseYear = releaseYear;
                }
                ulong votes;
                if (ulong.TryParse(node.Attributes["imdbVotes"].Value, System.Globalization.NumberStyles.AllowThousands, new System.Globalization.CultureInfo("en-US"), out votes))
                {
                    movie.Votes = votes;
                }

                return movie;
            });
        }
 public async Task GetTrailerResultInDataProp()
 {
     var testTrailer = new MovieTrailer() { SourceId = "id", Title = "MyTrailer", ReleaseYear = 2015 };
     _serviceMock.Setup(s => s.GetTrailer(It.IsAny<string>(), It.IsAny<Source>())).ReturnsAsync(testTrailer);
     var response = await _controller.GetTrailer("id", Source.OMDB);
     Assert.IsFalse(response.IsError);
     Assert.AreEqual(testTrailer.SourceId, response.Data.SourceId);
     Assert.AreEqual(testTrailer.Title, response.Data.Title);
     Assert.AreEqual(testTrailer.ReleaseYear, response.Data.ReleaseYear);
 }
        public void TestInit() 
        {
            _omdbDataSourceMock = new Mock<IMovieDataAccess>();
            _omdbDataSourceMock.SetupGet(s => s.Source).Returns(Source.OMDB);

            var omdbData = GenerateTestData(Source.OMDB, 10);
            _omdbDataSourceMock.Setup(s => s.Search(It.IsAny<DataSearchRequest>(), It.IsAny<int>())).ReturnsAsync(new DataSearchResponse() { Movies = omdbData, TotalResults = 10 });
            
            var omdbTrailer = new MovieTrailer() { SourceId = "omId", Title = "OMDBTrailer", ReleaseYear = 2015 };
            _omdbDataSourceMock.Setup(s => s.Get(It.IsAny<string>())).ReturnsAsync(omdbTrailer);
            
            _youtubeDataSourceMock = new Mock<IMovieDataAccess>();
            _youtubeDataSourceMock.SetupGet(s => s.Source).Returns(Source.Youtube);

            _youtubeDataSourceMock.Setup(s => s.Search(It.IsAny<DataSearchRequest>(), It.IsAny<int>()))
                .Returns<DataSearchRequest, int>(
                (r, c) => Task <DataSearchResponse>.Run(() => new DataSearchResponse() { Movies = GenerateTestData(Source.Youtube, c > 100 ? 100 : c), TotalResults = 100 }));

            var youtubeTrailer = new MovieTrailer() { SourceId = "youtubeId", Title = "YoutubeTrailer", ReleaseYear = 2013 };
            _youtubeDataSourceMock.Setup(s => s.Get(It.IsAny<string>())).ReturnsAsync(youtubeTrailer);

            _service = new MovieTrailerService(new IMovieDataAccess[] { _omdbDataSourceMock.Object, _youtubeDataSourceMock.Object });
        }