public void PreQualifyTestMethod() { FlowFinance.Models.PreQualifyRequest.RootObject preQualifyRequest = new FlowFinance.Models.PreQualifyRequest.RootObject { cnpj = cnpj }; FlowFinance.Models.PreQualifyResponse.RootObject preQualifyResponse = new FlowFinance.Models.PreQualifyResponse.RootObject(); string message = JsonConvert.SerializeObject(preQualifyRequest); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri($"{FlowFinaceStgApiUrl}{FlowFinanceConstants.PreQualify}"), Content = new StringContent(message, Encoding.UTF8, APPLICATION_JSON) }; // Flow Headers request.Headers.Add(AUTHORIZATION_HEADER_NAME, GetToken()); Console.WriteLine($" <=]|[=> Request : {request.Headers} : {request.Content.Headers} : {request.Method} : {request.Properties} : {request.RequestUri} <=]|[=> "); HttpClient client = new HttpClient(); var response = client.SendAsync(request).Result; Console.WriteLine($"StatusCode: {response.StatusCode}"); var reply = response.Content.ReadAsStringAsync().Result; Console.WriteLine($"Reply: {reply}"); if (response.IsSuccessStatusCode) { preQualifyResponse = JsonConvert.DeserializeObject <FlowFinance.Models.PreQualifyResponse.RootObject>(reply); Console.WriteLine($"Eligible? {preQualifyResponse.data.eligible}"); } else { FlowFinance.Models.ErrorResponse.RootObject errorResponse = JsonConvert.DeserializeObject <FlowFinance.Models.ErrorResponse.RootObject>(reply); if (errorResponse.error != null) { Console.WriteLine($"Error: {errorResponse.error}"); } //if(errorResponse.errors != null) //{ // foreach(FlowFinance.Models.ErrorResponse.Error error in errorResponse.errors) // { // Console.WriteLine($"Error(s): {error.title} {error.field} {error.message}"); // } //} Assert.Fail(); } }
private string GetToken() { FlowFinance.Models.OAuthResponse.RootObject oAuthResponse = new FlowFinance.Models.OAuthResponse.RootObject(); string accessToken = string.Empty; try { var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri($"{FlowFinaceStgApiUrl}{FlowFinanceConstants.OAuthLogin}"), }; // Flow Headers request.Headers.Add(AUTHORIZATION_HEADER_NAME, "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes($"{client_id}:{client_secret}"))); HttpClient client = new HttpClient(); var response = client.SendAsync(request).Result; Console.WriteLine(response.StatusCode); var reply = response.Content.ReadAsStringAsync().Result; Console.WriteLine(reply); if (response.IsSuccessStatusCode) { oAuthResponse = JsonConvert.DeserializeObject <FlowFinance.Models.OAuthResponse.RootObject>(reply); accessToken = $"{oAuthResponse.data.token_type} {oAuthResponse.data.access_token}"; Console.WriteLine($"Access Token = {accessToken}"); Console.WriteLine($"Expires {DateTime.Now.AddSeconds(oAuthResponse.data.expires_in)} Refresh[{oAuthResponse.data.refresh_token}]"); } else { FlowFinance.Models.ErrorResponse.RootObject errorResponse = JsonConvert.DeserializeObject <FlowFinance.Models.ErrorResponse.RootObject>(reply); if (errorResponse.error != null) { Console.WriteLine($"Error: {errorResponse.error}"); } //if (errorResponse.errors != null) //{ // foreach (FlowFinance.Models.ErrorResponse.Error error in errorResponse.errors) // { // Console.WriteLine($"Error(s): {error.title} {error.field} {error.message}"); // } //} } } catch (Exception ex) { Console.WriteLine($"OAuthLogin Error: {ex.Message} InnerException: {ex.InnerException} StackTrace: {ex.StackTrace}"); } return(accessToken); }