public async Task InSkillProductClientGetProductsWithTokenReturnsResponse()
        {
            var request = DummyLaunchRequest();
            var client  = new InSkillProductsClient(request, new HttpClient(new ActionHandler(message =>
            {
                Assert.Equal("/v1/users/~current/skills/~current/inSkillProducts?nextToken=abcdef", message.RequestUri.PathAndQuery);
            }, Utility.ExampleFileContent <InSkillProductsResponse>("InSkillProductsResponse.json"))));

            var response = await client.GetProducts("abcdef");

            Assert.NotNull(response);
        }
        public async Task InSkillProductQueryOptionDoesntAllow101MaxResults()
        {
            var filters = new ProductFilters
            {
                MaxResults = 101
            };

            var request = DummyLaunchRequest();
            var client  = new InSkillProductsClient(request, new HttpClient(new ActionHandler(message =>
            {
            }, Utility.ExampleFileContent <InSkillProductsResponse>("InSkillProductsResponse.json"))));
            await Assert.ThrowsAsync <InvalidOperationException>(() => client.GetProducts(filters));
        }
Exemplo n.º 3
0
        public async Task GetAvailableProducts()
        {
            LOGGER.log.INFO("ProductInventory", "UpdateProductInformation");
            this.client = new InSkillProductsClient(this.input);

            try
            {
                this.productsResponse = await client.GetProducts();
            }
            catch (Exception e)
            {
                LOGGER.log.WARN("ProductInventory", "UpdateProductInformation", "EXCEPTION: " + e.Message);
            }
        }
        public async Task InSkillProductClientGeneratesCorrectHeaders()
        {
            var request = DummyLaunchRequest();
            var client  = new InSkillProductsClient(request, new HttpClient(new ActionHandler(message =>
            {
                Assert.Single(message.Headers.AcceptLanguage);
                Assert.Equal("en-GB", message.Headers.AcceptLanguage.First().Value);
                Assert.Equal("Bearer", message.Headers.Authorization.Scheme);
                Assert.Equal("abcdef", message.Headers.Authorization.Parameter);
                Assert.Equal("api.alexa.com", message.RequestUri.Host);
                Assert.Equal("https", message.RequestUri.Scheme);
            }, Utility.ExampleFileContent <InSkillProductsResponse>("InSkillProductsResponse.json"))));

            var products = await client.GetProducts();
        }
        public async Task InSkillProductQueryOptionsGeneratesSingleFilterCorrectly()
        {
            var filters = new ProductFilters
            {
                MaxResults = 99
            };

            var request = DummyLaunchRequest();
            var client  = new InSkillProductsClient(request, new HttpClient(new ActionHandler(message =>
            {
                Assert.Equal("/v1/users/~current/skills/~current/inSkillProducts?maxResults=99", message.RequestUri.PathAndQuery);
            }, Utility.ExampleFileContent <InSkillProductsResponse>("InSkillProductsResponse.json"))));
            var results = await client.GetProducts(filters);

            Assert.Single(results.Products);
        }
        public async Task InSkillProductQueryOptionsGeneratedCorrectly()
        {
            var filters = new ProductFilters
            {
                Purchasable = PurchaseState.NotPurchasable,
                Entitled    = Entitlement.NotEntitled,
                ProductType = ProductType.Entitlement,
                MaxResults  = 99
            };

            var request = DummyLaunchRequest();
            var client  = new InSkillProductsClient(request, new HttpClient(new ActionHandler(message =>
            {
                Assert.Equal(
                    "/v1/users/~current/skills/~current/inSkillProducts?purchasable=NOT_PURCHASABLE&entitled=NOT_ENTITLED&productType=ENTITLEMENT&maxResults=99",
                    message.RequestUri.PathAndQuery);
            }, Utility.ExampleFileContent <InSkillProductsResponse>("InSkillProductsResponse.json"))));
            var results = await client.GetProducts(filters);

            Assert.Single(results.Products);
        }
Exemplo n.º 7
0
 public SkillProductsClient(SkillRequest request)
 {
     this.baseClient = new InSkillProductsClient(request);
 }