Beispiel #1
0
        public void Should_Execute_RestRequest_With_POST_And_GenericType_And_Success()
        {
            // arrange
            var client = new RestClientAutolog("https://reqres.in/api/users");

            client.Configuration.RequestJsonBlacklist = new string[] { "*job" };
            var restRequest = new RestRequest(Method.POST);

            restRequest.AddHeader("X-Forwarded-For", "127.0.0.1");
            restRequest.AddJsonBody(new
            {
                name = "Someone",
                job  = "Engineer"
            });

            // act
            var restResponse = client.Execute <UserData>(restRequest);

            // assert
            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForError);
            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForSuccess);
            Assert.Null(client.Configuration.LoggerConfiguration);
            Assert.Equal("reqres.in", client.BaseUrl.Host);
            Assert.Equal("Engineer", restResponse.Data.job);
            Assert.Equal("Someone", restResponse.Data.name);
            Assert.Equal(201, (int)restResponse.StatusCode);
            Assert.True(restResponse.IsSuccessful);
        }
Beispiel #2
0
        public void Should_Execute_RestRequest_With_ValidJson_Only_With_ContentType()
        {
            // arrange
            var client      = new RestClientAutolog("http://pruu.herokuapp.com/dump/restsharpAutoLog-test");
            var restRequest = new RestRequest(Method.POST);

            restRequest.AddParameter("", "", ParameterType.RequestBody);
            restRequest.Parameters.FirstOrDefault().ContentType = "application/json";

            // act
            var restResponse = client.Execute(restRequest);

            // assert

            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForError);
            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForSuccess);
            Assert.Null(client.Configuration.LoggerConfiguration);
            Assert.Equal("pruu.herokuapp.com", client.BaseUrl.Host);
            Assert.Equal(Method.POST, restResponse.Request.Method);
            Assert.Equal(200, (int)restResponse.StatusCode);
            Assert.Equal("OK", restResponse.Content);
            Assert.Single(restResponse.Request.Parameters);
            Assert.Equal("", restResponse.Request.Parameters.FirstOrDefault().Name);
            Assert.Equal("", restResponse.Request.Parameters.FirstOrDefault().Value);
            Assert.Equal("application/json", restResponse.Request.Parameters.FirstOrDefault().ContentType);
            Assert.True(restResponse.IsSuccessful);
        }
Beispiel #3
0
        public void Should_Execute_RestRequest_With_GenericType_And_Success()
        {
            // arrange
            var client      = new RestClientAutolog("https://reqres.in/api/users/1");
            var restRequest = new RestRequest(Method.GET);

            restRequest.AddQueryParameter("somequery", "test1");
            restRequest.AddQueryParameter("somequery", "test2");
            restRequest.AddQueryParameter("somequery2", "test3");
            restRequest.AddQueryParameter("RequestKey", "123456");
            restRequest.AddQueryParameter("AccountId", "acc_id");

            // act
            var restResponse = client.Execute <User>(restRequest);

            // assert
            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForError);
            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForSuccess);
            Assert.Null(client.Configuration.LoggerConfiguration);
            Assert.Equal("reqres.in", client.BaseUrl.Host);
            Assert.Equal(1, restResponse.Data.Data.id);
            Assert.Equal("George", restResponse.Data.Data.first_name);
            Assert.Equal(200, (int)restResponse.StatusCode);
            Assert.True(restResponse.IsSuccessful);
        }
Beispiel #4
0
        public void Should_Execute_RestRequest_With_Error()
        {
            // arrange
            var configuration = new RestClientAutologConfiguration()
            {
                MessageTemplateForError   = "Error",
                MessageTemplateForSuccess = "Success",
                LoggerConfiguration       = new LoggerConfiguration()
            };
            var client = new RestClientAutolog("http://www.bing.com/", configuration)
            {
                Timeout = 1
            };
            var restRequest = new RestRequest(Method.GET);

            // act
            var restResponse = client.Execute(restRequest);

            // assert
            Assert.Equal("Error", client.Configuration.MessageTemplateForError);
            Assert.Equal("Success", client.Configuration.MessageTemplateForSuccess);
            Assert.NotNull(client.Configuration.LoggerConfiguration);
            Assert.Equal("http://www.bing.com/", client.BaseUrl.AbsoluteUri);
            Assert.NotNull(restResponse.ErrorException);
            Assert.NotNull(restResponse.ErrorMessage);
            Assert.False(restResponse.IsSuccessful);
        }
        static void Main(string[] args)
        {
            var loggerConfiguration = new LoggerConfiguration()
                                      .MinimumLevel.Debug()
                                      .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
                                      .MinimumLevel.Override("System", LogEventLevel.Error)
                                      .Enrich.FromLogContext()
                                      .Enrich.WithMachineName()
                                      .Enrich.WithProperty("Domain", "MyTeamRS")
                                      .Enrich.WithProperty("Application", "MyProjectRS")
                                      .WriteTo.Seq("http://localhost:5341")
                                      .WriteTo.Console();

            Log.Logger = loggerConfiguration.CreateLogger();

            //RestClientAutologConfiguration restClientAutologConfiguration = new RestClientAutologConfiguration()
            //{
            //    LoggerConfiguration = loggerConfiguration
            //};

            RestClientAutolog client = new RestClientAutolog("http://pruu.herokuapp.com");

            client.AddDefaultHeader("DefaultHeaderTest", "SomeValue");

            client.Configuration.RequestJsonBlacklist = new string[] { "*password" };

            RestRequest request = new RestRequest("dump/{name}", Method.POST);

            request.AddHeader("RequestCustomHeader", "SomeValue2");
            request.AddHeader("RequestCustomHeader", "SomeValue3");
            request.AddHeader("RequestKey", "keykeykey");
            request.AddUrlSegment("name", "RestsharpAutoLog");
            request.AddQueryParameter("CustomQuery", "SomeValue3");
            request.AddQueryParameter("CustomQuery", "SomeValue2");
            request.AddQueryParameter("CustomQuery1", "SomeValue1");
            request.AddQueryParameter("CustomQuery2", "");
            request.AddQueryParameter("CustomQuery3", null);
            request.AddJsonBody(new
            {
                TestOne  = 123,
                TestTwo  = "SomeValueBody",
                Password = "******",
                Test     = new {
                    Password = 123
                }
            });

            var response = client.Execute(request);

            Console.ReadKey();
        }
Beispiel #6
0
        public void Should_Execute_RestRequest_With_Empty_X_Www_Form_Url_Encoded()
        {
            // arrange
            var client      = new RestClientAutolog("http://pruu.herokuapp.com/dump/restsharpAutoLog-test");
            var restRequest = new RestRequest(Method.POST);

            restRequest.AddHeader("Content-Type", "application/x-www-form-urlencoded");
            restRequest.AddParameter("", "", ParameterType.RequestBody);

            // act
            var restResponse = client.Execute(restRequest);

            // assert
            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForError);
            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForSuccess);
            Assert.Null(client.Configuration.LoggerConfiguration);
            Assert.Equal("pruu.herokuapp.com", client.BaseUrl.Host);
            Assert.Equal("OK", restResponse.Content);
            Assert.Equal(200, (int)restResponse.StatusCode);
            Assert.True(restResponse.IsSuccessful);
        }
        public void Should_Execute_RestRequest_With_GenericType_And_Success()
        {
            // arrange
            var client      = new RestClientAutolog("http://md5.jsontest.com/");
            var restRequest = new RestRequest(Method.GET);

            restRequest.AddQueryParameter("text", "Thiago Barradas");

            // act
            var restResponse = client.Execute <MD5>(restRequest);

            // assert
            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForError);
            Assert.Equal(DefaultMessage, client.Configuration.MessageTemplateForSuccess);
            Assert.Null(client.Configuration.LoggerConfiguration);
            Assert.Equal("http://md5.jsontest.com/", client.BaseUrl.AbsoluteUri);
            Assert.Equal("Thiago Barradas", restResponse.Data.Original);
            Assert.Equal("ad5879ef35a1e0156d8cb4809df3d69d", restResponse.Data.Md5);
            Assert.Equal(200, (int)restResponse.StatusCode);
            Assert.True(restResponse.IsSuccessful);
        }