public async Task <Acknowledgment> EditAsync(object value) { using (HttpClient client = HttpClientCreator.Create()) { HttpResponseMessage response = await client.PutAsync(Path, Serializer.SerializeItemToContent(value)); return(await EnsureSuccessAsync(response)); } }
public async Task <Acknowledgment> DeleteAsync() { using (HttpClient client = HttpClientCreator.Create()) { HttpResponseMessage response = await client.DeleteAsync(Path); return(await EnsureSuccessAsync(response)); } }
public async Task <object> GetAsync() { using (HttpClient client = HttpClientCreator.Create()) { HttpResponseMessage response = await client.GetAsync(Path); return(await Serializer.DeserializeAsync <object>(response)); } }
public async Task <RestItemData> GetDataAsync(IEnumerable <string> fieldNames) { using (HttpClient client = HttpClientCreator.Create()) { var fullUri = UriUtilities.AppendQueryString(Path, GetFieldNamesQueryString(fieldNames)); HttpResponseMessage response = await client.GetAsync(fullUri); return(await Serializer.DeserializeAsync <RestItemData>(response)); } }
public void When_Credentials_Are_Null_Then_Create_Throws_ArgumentNullException() { // set up var client = new HttpClientCreator(new ProxyConfiguration()); IVendorCredentials credentials = null; // execute var ex = Assert.Throws <ArgumentNullException>(() => client.Create(credentials)); // verify Assert.Equal("credentials", ex.ParamName); }
public async Task <Acknowledgment> DeleteAllAsync(IRestCollectionQuery query) { using (HttpClient client = HttpClientCreator.Create()) { var queryStringBuilder = new CollectionQueryStringBuilder(new CollectionQueryStringConfiguration()); string fullUrl = UriUtilities.AppendQueryString(Path, queryStringBuilder.BuildString(query)); HttpResponseMessage response = await client.DeleteAsync(fullUrl); Acknowledgment acknowledgment = await EnsureSuccessAsync(response); return(acknowledgment); } }
public async Task <RestCollectionData> QueryDataAsync(IRestCollectionQuery query) { using (HttpClient client = HttpClientCreator.Create()) { var queryStringBuilder = new CollectionQueryStringBuilder(new CollectionQueryStringConfiguration()); string fullUrl = UriUtilities.AppendQueryString(Path, queryStringBuilder.BuildString(query)); HttpResponseMessage response = await client.GetAsync(fullUrl); var queriedData = await Serializer.DeserializeAsync <IEnumerable <RestItemData> >(response); return(new RestCollectionData(queriedData, null)); // TODO: fill page details } }
public void Create_Returns_Client_With_DefaultRequestHeader_Accept_Json() { // setup var credentials = new VendorCredentials { Id = Guid.NewGuid(), SharedSecret = Guid.NewGuid() }; var subject = new HttpClientCreator(new ProxyConfiguration()); // execute var client = subject.Create(credentials); // assert Assert.True(client.DefaultRequestHeaders.Accept.Contains(new MediaTypeWithQualityHeaderValue("application/json")), "Expected application/json header but was not found"); }
public static async Task Setup(TestContext testContext) { var clientForGetToken = HttpClientCreator.CreateWebApiHttpClientForGetAccessToken(); using (var requestMessage = new HttpRequestMessageCreator().PostRequestMessageForGetToken("/TestApi/token")) { using (var response = await clientForGetToken.SendAsync(requestMessage).ConfigureAwait(false)) { var result = await response.Content.ReadAsAsync <GetAccessTokenResponceDto>().ConfigureAwait(false); var tokenType = result.token_type; var accessToken = result.access_token; _client = HttpClientCreator.CreateWebApiHttpClientWithToken(tokenType, accessToken); } } clientForGetToken.Dispose(); }
public void Create_Returns_Client_With_DefaultRequestHeader_VendorId() { // setup var credentials = new VendorCredentials { Id = Guid.NewGuid(), SharedSecret = Guid.NewGuid() }; var subject = new HttpClientCreator(new ProxyConfiguration()); // execute var client = subject.Create(credentials); // assert Assert.True(client.DefaultRequestHeaders.Contains("X-InsuranceHub-VendorId")); Assert.Equal(credentials.Id.ToString("D"), client.DefaultRequestHeaders.GetValues(HttpClientCreator.VendorIdHeaderKey).First()); }
public async Task <CreatedItemAcknowledgment> AddAsync(RestItemData itemData) { using (HttpClient client = HttpClientCreator.Create()) { HttpResponseMessage response = await client.PostAsync(Path, Serializer.SerializeItemToContent(itemData)); Acknowledgment acknowledgment = await EnsureSuccessAsync(response); var created = acknowledgment as CreatedItemAcknowledgment; if (created == null) { throw new InvalidOperationException("REST API did not return status code 201 after creating an item."); } return(created); } }
public void When_Credentials_Are_Same_Create_Returns_SameClient() { // setup var credentials = new VendorCredentials { Id = Guid.NewGuid(), SharedSecret = Guid.NewGuid() }; var subject = new HttpClientCreator(new ProxyConfiguration()); // execute var client1 = subject.Create(credentials); var client2 = subject.Create(credentials); // assert Assert.Same(client1, client2); }