public async Task ShouldGetCategory() { var options = new ConnectionOption { Identifier = Identifier, Secret = Secret, BaseAddress = BaseAddress }; HttpResponseWithBody result = await(dynamic) VismaSign.CategoriesGet(options, new CancellationToken()); Assert.Equal(200, result.StatusCode); }
public async Task ShouldSearchDocuments() { var settings = new DocumentSearchInput() { Query = "status=cancelled" }; var options = new ConnectionOption { Identifier = Identifier, Secret = Secret, BaseAddress = BaseAddress }; HttpResponseWithBody result = await(dynamic) VismaSign.DocumentSearch(settings, options, new CancellationToken()); Assert.StartsWith("{\"total\":", result.Body); }
public async Task PostToken_AuthCodeGrantWithAdditionalPropertyInBody_Return200() { // Arrange var ssoToken = await GetUserAccessToken(); var client = _defaultFactory.CreateDefaultClient(new RetryHandler(new HttpClientHandler())); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ssoToken); // Act HttpResponseWithBody <PostTokenResponse> result = null; int maxRetries = 5; for (int i = 0; i < maxRetries; i++) { var requestBody = new Dictionary <string, object>() { ["scope"] = DefaultGraphScope, ["redirect_uri"] = _settings.RedirectUri, ["grant_type"] = PostTokenGrantType.AuthorizationCode, ["code"] = Utilities.GetAuthorizationCode(_settings, _configuration), ["code_verifier"] = _settings.CodeVerifier, ["additional_property"] = "some_value" }; result = await PostToAuthTokenApi <PostTokenResponse>(client, requestBody); if (result.Response.IsSuccessStatusCode) { break; } await Task.Delay(1000); } // Assert Assert.AreEqual(HttpStatusCode.OK, result.Response.StatusCode); Assert.AreEqual("application/json; charset=utf-8", result.Response.Content.Headers.ContentType.ToString()); Assert.NotNull(result.Body.scope); Assert.IsTrue(result.Body.scope.Contains(DefaultGraphScope)); Assert.AreNotEqual(DateTimeOffset.MinValue, result.Body.expires_on); Assert.NotNull(result.Body.access_token); }
public async Task PostToken_AuthCodeGrantWithCorrectBody_Return200() { // Arrange var ssoToken = await GetUserAccessToken(); var client = _defaultFactory.CreateDefaultClient(new RetryHandler(new HttpClientHandler())); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ssoToken); // Act HttpResponseWithBody <PostTokenResponse> result = null; int maxRetries = 5; for (int i = 0; i < maxRetries; i++) { var requestBody = new PostTokenRequestBody { scope = DefaultGraphScope, redirect_uri = _settings.RedirectUri, grant_type = PostTokenGrantType.AuthorizationCode, code = Utilities.GetAuthorizationCode(_settings, _configuration), // Reusing same auth code will result in error, so cannot use the retry handler code_verifier = _settings.CodeVerifier }; result = await PostToAuthTokenApi <PostTokenResponse>(client, requestBody); if (result.Response.IsSuccessStatusCode) { break; } await Task.Delay(1000); } // Assert Assert.AreEqual(HttpStatusCode.OK, result.Response.StatusCode); Assert.AreEqual("application/json; charset=utf-8", result.Response.Content.Headers.ContentType.ToString()); Assert.NotNull(result.Body.scope); Assert.IsTrue(result.Body.scope.Contains(DefaultGraphScope)); Assert.AreNotEqual(DateTimeOffset.MinValue, result.Body.expires_on); Assert.NotNull(result.Body.access_token); }