Esempio n. 1
0
            public LastSearchUIItem(HomeViewModel parent, string title)
            {
                Title = title;

                var req = new VideoSearchRequest(title, null);

                ShowCommand = new MvxCommand(() => parent.NavigationService.Navigate <VideoListViewModel, IVideoListingRequest>(req));
            }
        public void Is_Youtube_Active()
        {
            VideoSearchRequest searchParams = new VideoSearchRequest();

            searchParams.SearchQuery = "Undisputed";
            IVideoProvider      youtube = new YoutubeVideoProvider();
            VideoSearchResponse result  = youtube.SearchVideo(searchParams);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Data);
            Assert.AreEqual((RequestStatus)result.Status, RequestStatus.Success);
        }
Esempio n. 3
0
 public Task <List <AssetEntity> > SearchForAssets(VideoSearchRequest videoSearchRequest)
 {
     if (videoSearchRequest == null)
     {
         return(AssetEntities
                .Include(x => x.StreamingUrl)
                .Include(x => x.AssetMetaDataEntity).Select(x => x).Take(10)
                .OrderByDescending(x => x.CreatedDate)
                .ToListAsync());
     }
     throw new NotImplementedException();
 }
Esempio n. 4
0
        public void VideoSearchAsyncTest()
        {
            var request = new VideoSearchRequest
            {
                Key        = this.ApiKey,
                Query      = "google",
                MaxResults = 1
            };

            var response = GoogleSearch.VideoSearch.Videos.QueryAsync(request).Result;

            Assert.IsNotNull(response);
            Assert.AreEqual(response.Status, Status.Ok);
            Assert.IsNotEmpty(response.Items);
        }
        public void GetVideosTest()
        {
            var request = new VideoSearchRequest();

            request.Query      = "cats";
            request.Count      = 10;
            request.Offset     = 0;
            request.Market     = "en-US";
            request.SafeSearch = SafeSearch.Moderate;

            var client = new VideoSearchClient(this.apiKey);

            var response = client.GetVideos(request);

            Assert.IsTrue(response.Videos.Count > 0);
        }
Esempio n. 6
0
        public void VideoSearchWhenAsyncAndCancelledTest()
        {
            var request = new VideoSearchRequest
            {
                Key   = this.ApiKey,
                Query = "google"
            };

            var cancellationTokenSource = new CancellationTokenSource();
            var task = GoogleSearch.VideoSearch.Videos.QueryAsync(request, cancellationTokenSource.Token);

            cancellationTokenSource.Cancel();

            var exception = Assert.Throws <OperationCanceledException>(() => task.Wait(cancellationTokenSource.Token));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "The operation was canceled.");
        }
Esempio n. 7
0
        public void Search_Video_Service_Must_Have_Result()
        {
            VideoController    controller = new VideoController();
            VideoSearchRequest request    = new VideoSearchRequest();

            request.MaxResult         = 50;
            request.SearchQuery       = "google";
            request.TransactionId     = Guid.NewGuid();
            request.VerificationToken = Guid.NewGuid().ToString();// MVC antiforgery token can be provided.
            VideoSearchResponse response = controller.SearchVideo(request);

            // object must be null
            Assert.IsNotNull(response);

            // must have data
            Assert.IsNotNull(response.Data);

            // must be successfull
            Assert.AreEqual <RequestStatus>(response.Status, RequestStatus.Success);

            //if there is no item fail test
            Assert.AreEqual <int>(response.Data.Count, 0);
        }
Esempio n. 8
0
        public void VideoSearchTest()
        {
            var request = new VideoSearchRequest
            {
                Key        = this.ApiKey,
                Query      = "google",
                MaxResults = 1
            };

            var response = GoogleSearch.VideoSearch.Videos.Query(request);

            Assert.IsNotNull(response);
            Assert.AreEqual(response.Status, Status.Ok);

            Assert.AreEqual(response.Kind, "youtube#searchListResponse");
            Assert.IsNotNull(response.ETag);
            Assert.IsNotNull(response.PageToken);
            Assert.AreEqual(response.Region, Country.Denmark);
            Assert.AreEqual(response.PageInfo.TotalResults, 1000000);
            Assert.AreEqual(response.PageInfo.ResultsPerPage, 1);

            Assert.IsNotNull(response.Items);
            Assert.AreEqual(1, response.Items.Count());
        }
Esempio n. 9
0
        public VideoSearchResponse SearchVideo([FromUri] VideoSearchRequest searhRequest)
        {
            // one provider request can be fail but the other can be success. So the webapi result should be success. No need to control if one is success or not below. If both provider req fails api should fail.
            VideoSearchResponse response = new VideoSearchResponse()
            {
                Status = RequestStatus.Fail
            };

            response.Data = new VideoItemCollection();
            this.RunSafely(() =>
            {
                //Validation vide search request
                VideSearchRequestValidator requestValidator = new VideSearchRequestValidator();
                ValidationResult result = requestValidator.Validate(searhRequest);
                if (!result.IsValid)
                {
                    result.CopyToDictionary(response.UserFriendlyErrorMesages);
                    // request is not validated. So no need to continue
                    return;
                }

                #region | Moved To VideoHelper.Search() |

                //VideoItemCollection tempVideoList = null;
                //VideSearchResponse tempResponse = null;
                //LuceneHelper lucene = new LuceneHelper();

                ////Each provider attached to Demo app, make search request.
                //foreach (IVideoProvider eachProvider in VideoServiceFoundation.Current.VideoProviders)
                //{
                //    tempResponse = eachProvider.SearchVideo(searhRequest);
                //    if (tempResponse != null)
                //    {
                //        //request is succesfully done, so get data from request.
                //        if (tempResponse.Status == RequestStatus.Success)
                //        {
                //            response.Success(); // If one request is success and the other is fail, result should be success
                //            if (tempResponse.Data != null)
                //            {
                //                tempVideoList = tempResponse.Data;
                //                response.Data.AddRange(tempVideoList);

                //                //Add data to cache and search index
                //                ApplicationFoundation.Current.CacheService.Set(searhRequest.SearchQuery, tempVideoList, int.MaxValue);
                //                lucene.AddToIndex(searhRequest.SearchQuery);
                //            }
                //        }
                //    }
                //}
                //tempVideoList = null;
                //tempResponse = null;

                #endregion | Moved To VideoHelper.Search() |

                VideSearchHelper searchHelper = new VideSearchHelper();
                response = searchHelper.Search(searhRequest);
            }, (ex) =>
            {
                response.Error("VideoSearchApi_Error", ex.Message);
            });
            return(response);
        }
        public void ValidateTest_QueryNotSpecified()
        {
            var request = new VideoSearchRequest();

            request.Validate();
        }
Esempio n. 11
0
 public void SearchVideo([FromUri] VideoSearchRequest searhRequest)
 {
 }