public async Task ResetPassword(JToken passwordResetRequest) { var content = JsonContent.FromObject(passwordResetRequest); var response = await _httpClient.PostAsync("resetpassword", content); await response.GetContentAsync <JToken>(); }
public async Task <JToken> UpdateUserRoles(Guid userId, JToken userRoles) { var content = JsonContent.FromObject(userRoles); var response = await _httpClient.PutAsync($"user/{userId}/roles", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> CreateApiResourceSecret(string apiResourceId, JToken secret) { var content = JsonContent.FromObject(secret); var response = await _httpClient.PostAsync($"admin/resource/{apiResourceId}/secret", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> ResetPasswordQuestions(JToken passwordResetQuestions) { var content = JsonContent.FromObject(passwordResetQuestions); var response = await _httpClient.PostAsync("resetpassword/questions", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> UpdateBlogPost(string blogPostId, JToken requestContent) { var content = JsonContent.FromObject(requestContent); var result = await _delegatedHttpClient.PutAsync($"blog/{blogPostId}", content); return(await result.GetContentAsync <JToken>()); }
public async Task <JToken> GetMultipleCharacterStatsByName(IEnumerable <string> characterNames) { var content = JsonContent.FromObject(characterNames); var response = await _httpClient.PostAsync($"ps2/character/byname", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> CreateEvent(JToken requestContent) { var content = JsonContent.FromObject(requestContent); var result = await _delegatedHttpClient.PostAsync($"gameevent", content); return(await result.GetContentAsync <JToken>()); }
public async Task <JToken> CreateRole(JToken roleRequest) { var content = JsonContent.FromObject(roleRequest); var response = await _httpClient.PostAsync("roles", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> CreateApiResource(JToken apiResource) { var content = JsonContent.FromObject(apiResource); var response = await _httpClient.PostAsync("admin/resource", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> UpdateApiResource(string apiResourceId, JToken apiResource) { var content = JsonContent.FromObject(apiResource); var response = await _httpClient.PutAsync($"admin/resource/{apiResourceId}", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> CreateClientSecret(string clientId, JToken secret) { var content = JsonContent.FromObject(secret); var response = await _httpClient.PostAsync($"admin/client/{clientId}/secret", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> UpdateClient(string clientId, JToken client) { var content = JsonContent.FromObject(client); var response = await _httpClient.PutAsync($"admin/client/{clientId}", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> CreateClient(JToken client) { var content = JsonContent.FromObject(client); var response = await _httpClient.PostAsync("admin/client", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> LockUser(Guid userId, JToken requestBody) { var content = JsonContent.FromObject(requestBody); var response = await _httpClient.PostAsync($"user/{userId}/lock", content); return(await response.GetContentAsync <JToken>()); }
public async Task <JToken> UpdateEvent(string eventId, JToken requestContent) { var content = JsonContent.FromObject(requestContent); var result = await _delegatedHttpClient.PutAsync($"gameevent/{eventId}", content); return(await result.GetContentAsync <JToken>()); }
public async Task Register(JToken registrationForm) { var content = JsonContent.FromObject(registrationForm); var response = await _httpClient.PostAsync("register", content); response.EnsureSuccessStatusCode(); }
public async Task <JToken> ResetPasswordStart(JToken passwordResetStart) { var content = JsonContent.FromObject(passwordResetStart); var response = await _httpClient.PostAsync("resetpassword/start", content); return(await response.GetContentAsync <JToken>()); }
public async Task FromObject_can_be_deserialized(TestClass test) { var content = await JsonContent.FromObject(test).ReadAsStringAsync(); TestClass obj = JsonConvert.DeserializeObject <TestClass>(content); Assert.That(obj.Property, Is.EqualTo(test.Property)); }
public async Task <JToken> ChangePassword(JToken passwordChange) { var content = JsonContent.FromObject(passwordChange); var response = await _delegatedHttpClient.PostAsync("password", content); var res = await response.Content.ReadAsStringAsync(); return(await response.GetContentAsync <JToken>()); }
public async Task SendAsync_with_Response_can_send_request_and_receive_response_with_body(string method, [Frozen] MockHttpMessageHandler handler, HttpRestClient sut, Uri uri, Response response) { var httpMethod = new HttpMethod(method); handler.When(httpMethod, uri.ToString()) .Respond(HttpStatusCode.OK, JsonContent.FromObject(response)); var actualResponse = await sut.SendAsync <Response>(httpMethod, uri.ToString()); Assert.That(actualResponse, Is.EqualTo(response)); }
public async Task Multiple_requests_reuse_the_same_token(string methodName, OAuthOptions options, Uri requestUri, string accessToken, long expiresIn, TestClock clock) { Clock.Set(clock); var method = new HttpMethod(methodName); var httpOptions = new List <HttpMessageOptions>(); var refreshTokenOptions = new HttpMessageOptions { HttpMethod = HttpMethod.Post, RequestUri = new Uri(requestUri, "/oauth/v1/token"), HttpContent = new FormUrlEncodedContent(new Dictionary <string, string> { ["grant_type"] = "refresh_token", ["client_id"] = options.ClientId, ["client_secret"] = options.SecretKey, ["redirect_uri"] = options.RedirectUri.ToString(), ["refresh_token"] = options.RefreshToken }), HttpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) { Content = JsonContent.FromObject(new { access_token = accessToken, expires_in = expiresIn }) } }; httpOptions.Add(refreshTokenOptions); var option = new HttpMessageOptions { RequestUri = requestUri, HttpMethod = method, HttpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) }; httpOptions.Add(option); var client = CreateClient(options, httpOptions.ToArray()); for (int i = 0; i < 2; i++) { var testRequest = new HttpRequestMessage(method, requestUri); await client.SendAsync(testRequest); } Assert.That(refreshTokenOptions.NumberOfTimesCalled, Is.EqualTo(1)); }
public async Task Single_request_is_authenticated_and_executed(string methodName, OAuthOptions options, Uri requestUri, string accessToken, long expiresIn, TestClock clock) { Clock.Set(clock); var method = new HttpMethod(methodName); var refreshTokenOptions = new HttpMessageOptions { HttpMethod = HttpMethod.Post, RequestUri = new Uri(requestUri, "/oauth/v1/token"), HttpContent = new FormUrlEncodedContent(new Dictionary <string, string> { ["grant_type"] = "refresh_token", ["client_id"] = options.ClientId, ["client_secret"] = options.SecretKey, ["redirect_uri"] = options.RedirectUri.ToString(), ["refresh_token"] = options.RefreshToken }), HttpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) { Content = JsonContent.FromObject(new { access_token = accessToken, expires_in = expiresIn }) } }; var randomRequestOptions = new HttpMessageOptions { RequestUri = requestUri, HttpMethod = method, HttpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) }; var client = CreateClient(options, refreshTokenOptions, randomRequestOptions); using var testRequest = new HttpRequestMessage(method, requestUri); using var response = await client.SendAsync(testRequest); Assert.That(refreshTokenOptions.NumberOfTimesCalled, Is.GreaterThan(0)); Assert.That(randomRequestOptions.HttpResponseMessage.RequestMessage.Headers.Authorization.Parameter, Is.EqualTo(accessToken)); }
public async Task Token_is_refreshed_if_expired(string methodName, OAuthOptions options, Uri requestUri, string accessToken, long expiresIn, TestClock clock) { Clock.Set(clock); var method = new HttpMethod(methodName); var httpOptions = new List <HttpMessageOptions>(); var refreshTokenOptions = new HttpMessageOptions { HttpMethod = HttpMethod.Post, RequestUri = new Uri(requestUri, "/oauth/v1/token"), HttpContent = new FormUrlEncodedContent(new Dictionary <string, string> { ["grant_type"] = "refresh_token", ["client_id"] = options.ClientId, ["client_secret"] = options.SecretKey, ["redirect_uri"] = options.RedirectUri.ToString(), ["refresh_token"] = options.RefreshToken }), HttpResponseMessage = CreateNewResponse() }; httpOptions.Add(refreshTokenOptions); var requestOption = new HttpMessageOptions { RequestUri = requestUri, HttpMethod = method, HttpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) }; httpOptions.Add(requestOption); var client = CreateClient(options, httpOptions.ToArray()); await MakeARequest(); clock.AdvanceBy(TimeSpan.FromSeconds(expiresIn + 1)); refreshTokenOptions.HttpResponseMessage = CreateNewResponse(); await MakeARequest(); Assert.That(refreshTokenOptions.NumberOfTimesCalled, Is.EqualTo(2)); HttpResponseMessage CreateNewResponse() { return(new HttpResponseMessage(HttpStatusCode.OK) { Content = JsonContent.FromObject(new { access_token = accessToken, expires_in = expiresIn }) }); } async Task MakeARequest() { var request = new HttpRequestMessage(method, requestUri); await client.SendAsync(request); } }