Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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);
        }