Exemplo n.º 1
0
        public void TestCreateUserMixesRequest()
        {
            string        userSlug            = "MrJohnDoe";
            string        expectedUri         = String.Format("http://8tracks.com/users/{0}/mixes.xml?api_key={1}&user_token={2}&view=liked", userSlug, apiKeyValue, userToken);
            string        expectedNextPageUri = expectedUri + "&per_page=" + requestFactory.PageSize + "&page=" + (pageNumber + 1);
            string        defaultPagination   = String.Format("&per_page={0}&page={1}", requestFactory.PageSize, pageNumber);
            MixesViewType viewType            = MixesViewType.Liked;

            browsingAvailableMixes
            .WithScenario("creating a request for obtaining latest liked mixes of an user").Tag(httpWebRequestsTag).Tag(infrastructureTag)
            .Given(ApiKeyIs_, apiKeyValue)
            .And(TheUserTokenIs_, userToken)
            .And(TheUserIdentifierIs_, userSlug)
            .And(TheViewTypeIs_, viewType)
            .When(TheApplicationIssuesACommandToCreateAUser_MixesRequestForUser_, viewType, userSlug)
            .Then(The_RequestShouldBeProperlyCreated, "GET")
            .And(TheUriShouldBe_, expectedUri + defaultPagination)

            .WithScenario("creating a request for obtaining second set of mixes").Tag(httpWebRequestsTag).Tag(infrastructureTag)
            .Given(ApiKeyIs_, apiKeyValue)
            .And(TheUserTokenIs_, userToken)
            .And(TheViewTypeIs_, viewType)
            .And(TheUserIdentifierIs_, userSlug)
            .And(ThePageNumerIs_With_MixesPerPage, pageNumber, requestFactory.PageSize)
            .When(TheApplicationIssuesACommandToCreateMoreMixesRequest)
            .Then(The_RequestShouldBeProperlyCreated, "GET")
            .And(TheUriShouldBe_, expectedNextPageUri)

            .ExecuteWithReport();
        }
        private void TheRequestQueriesFor_Mixes(MixesViewType viewType)
        {
            IRequest lastRequest = requestExecutor.Requests[requestExecutor.Requests.Count - 1];

            Assert.That(lastRequest, Is.TypeOf(typeof(MixesRequest)));
            Assert.That(((MixesRequest)lastRequest).ViewType, Is.EqualTo(viewType));
        }
Exemplo n.º 3
0
        private List <Mix> GetMixes(MixFilter mixFilter, MixesViewType viewType, int pageNumber, string userSlug)
        {
            MixesRequest  mixesRequest  = requestFactory.CreateMixesRequest(mixFilter, viewType, pageNumber, userSlug);
            MixesResponse mixesResponse = requestExecutor.ExecuteMixesRequest(mixesRequest);

            sessionData.Update(mixesRequest, mixesResponse);

            return(ExtractMixes(mixesResponse));
        }
Exemplo n.º 4
0
        public void ResetFields()
        {
            request   = null;
            origSched = RxApp.DeferredScheduler;
            RxApp.DeferredScheduler = new TestScheduler();
            mixFilter = new MixFilter();

            requestFactory = new RequestFactory(apiKey: apiKeyValue);

            mixId      = 500;
            mixSetId   = 150000;
            playToken  = "1234509876";
            userToken  = "abcdefg";
            viewType   = MixesViewType.Feed;
            pageNumber = 1;
            requestFactory.PageSize = 20;
        }
Exemplo n.º 5
0
        public MixesRequest(string host, string apiKey, string userToken, MixesViewType view, string userSlug,
                            int pageNumber, int pageSize, MixFilter mixFilter)
            : base(host, apiKey, pageNumber, pageSize)
        {
            this.userToken = userToken;
            this.viewType  = view;
            this.userSlug  = userSlug;
            this.mixFilter = mixFilter;

            if (view == MixesViewType.Feed || view == MixesViewType.Liked)
            {
                Url = String.Format("{0}users/{1}/mixes.xml?api_key={2}&user_token={3}&view={4}", BaseUri, userSlug,
                                    ApiKey, userToken, view.ToString().ToLower());
            }
            else if (view == MixesViewType.Listened || view == MixesViewType.Recommended)
            {
                Url = String.Format("{0}mix_sets/{1}.xml?include=mixes&api_key={2}&user_token={3}", BaseUri, view.ToString().ToLower(),
                                    ApiKey, userToken);
            }
            else
            {
                Url = String.Format("{0}mixes.xml?api_key={1}&sort={2}", BaseUri, ApiKey, view.ToString().ToLower());
                if (userToken.Length > 0)
                {
                    Url += "&user_token=" + userToken;
                }
            }

            Url += "&per_page=" + pageSize;
            Url += "&page=" + pageNumber;

            if (mixFilter.Tags.Count > 0)
            {
                string tags = StringUtils.TagListToString(mixFilter.Tags, "%2B");
                Url += "&tags=" + tags;
            }
            if (mixFilter.Query.Length > 0)
            {
                Url += "&q=" + mixFilter.Query;
            }
        }
Exemplo n.º 6
0
 private void TheApplicationIssuesACommandToCreateAUser_MixesRequestForUser_(MixesViewType viewType, string userSlug)
 {
     request = requestFactory.CreateMixesRequest(mixFilter, viewType, pageNumber, userSlug);
 }
Exemplo n.º 7
0
 private void TheViewTypeIs_(MixesViewType viewType)
 {
     this.viewType = viewType;
 }
 private void TheRequestQueriesForPage_Of_Mixes(int pageNumber, MixesViewType viewType)
 {
     Assert.That(((MixesRequest)requestExecutor.Requests[2]).PageNumber, Is.EqualTo(pageNumber));
     Assert.That(((MixesRequest)requestExecutor.Requests[2]).ViewType, Is.EqualTo(viewType));
 }
Exemplo n.º 9
0
 private List <Mix> GetMixes(MixFilter mixFilter, MixesViewType viewType, int pageNumber)
 {
     return(GetMixes(mixFilter, viewType, pageNumber, String.Empty));
 }
Exemplo n.º 10
0
 public MixesRequest CreateMixesRequest(MixFilter mixFilter, MixesViewType view, int pageNumber)
 {
     return(new MixesRequest(baseUri, apiKey, userToken, view, String.Empty, pageNumber, pageSize, mixFilter));
 }