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)); }
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); }
public SkillProductsClient(SkillRequest request) { this.baseClient = new InSkillProductsClient(request); }