public void RestTesterTypicodeTest3() { var context = Injector.InjectSessionContext(); context.SetConfig("Cookies", "cookie1=value1"); var rt = new RestTester { EndPoint = "http://jsonplaceholder.typicode.com/", RequestBody = "{\"title\": \"Test Data\", \"body\": \"Test Body\", \"userId\":96 }" }; rt.SetRequestHeaderTo("Content-Type", "application/json; foo=2"); rt.SetRequestHeaderTo("User-Agent", "FitNesseClient"); rt.SetRequestHeaderTo("Accept", "application/json; test=3"); rt.SendTo("POST", "posts"); Assert.AreEqual(201, rt.ResponseCode); var requestHeaders = rt.RequestHeaders(); Assert.AreEqual("cookie1=value1; Path=/; Domain=jsonplaceholder.typicode.com", rt.RequestCookies, "Cookies OK"); Assert.IsTrue(requestHeaders.Contains("Content-Type: application/json; foo=2")); Assert.IsTrue(requestHeaders.Contains("User-Agent: FitNesseClient")); Assert.IsTrue(requestHeaders.Contains("Accept: application/json; test=3")); rt.SendTo("DELETE", "posts/96"); Assert.AreEqual(200, rt.ResponseCode); }
public void RestTesterTypicodeTest1() { // we need at least one test using https var rt = new RestTester { EndPoint = "https://jsonplaceholder.typicode.com/", RequestBody = "{\"title\": \"Test Data\", \"body\": \"Test Body\", \"userId\":96 }" }; Assert.IsNull(rt.RequestUri, "RequestUri null (OK)"); Assert.IsNull(rt.RequestCookies, "RequestCookies null (OK)"); rt.SetRequestHeaderTo("Content-Type", "application/json; charset=UTF-8"); rt.SetRequestHeaderTo("header1", "dummy"); rt.SetRequestHeaderTo("header1", "value for header 1"); Assert.IsTrue(string.IsNullOrEmpty(rt.RequestCookies), "Request Cookies empty"); rt.SendTo("POST", "posts"); Assert.AreEqual("https://jsonplaceholder.typicode.com/posts", rt.RequestUri, "RequestUri OK"); var requestHeaders = rt.RequestHeaders(); Assert.IsTrue(requestHeaders.Contains("User-Agent:"), "request header contains User Agent"); var requestHeadersWithout = rt.RequestHeadersWithout(new List <string> { "User-Agent" }); Assert.IsFalse(requestHeadersWithout.Contains("User-Agent:"), "request header without User Agent OK"); Assert.IsTrue(requestHeadersWithout.Contains("Content-Type: application/json"), "request header Content-Type OK"); var customRequestHeader = rt.RequestHeaders(new List <string> { "header1" }); Assert.IsTrue(customRequestHeader.Contains("header1: value for header 1"), "custom header exists"); Assert.IsTrue(requestHeadersWithout.Contains("Content-Length: 57"), "request header Content-Length OK"); Assert.AreEqual(201, rt.ResponseCode, "Response code OK"); Assert.AreEqual("Created", rt.ResponseCodeDescription); Assert.AreEqual("101", rt.ValueFromResponseMatching("id"), "Response ID OK"); var responseHeaders = rt.ResponseHeaders(new List <string> { "Content-Length", "Content-Type" }); Assert.AreEqual("Content-Length: 78\nContent-Type: application/json; charset=utf-8\n", responseHeaders); var ro = rt.ResponseObject; Assert.AreEqual("JSON Object", ro.ToString()); Assert.IsTrue(string.IsNullOrEmpty(rt.ResponseCookies()), "Response cookies empty"); Assert.IsNull(rt.PropertyOfResponseCookie("test", "test"), "no property test or cookie test"); }
public void RestTesterInvalidUrlTest() { // Make sure we don't get any proxy intercepts var restConfig = new RestConfig(); var input = new List <List <string> > { new List <string> { "Proxy", "None" } }; _ = restConfig.DoTable(input); var rt = new RestTester { EndPoint = "http://localhost:8765", RequestBody = "{ \"userId\":96 }" }; rt.SendTo("Post", "posts"); Assert.AreEqual(403, rt.ResponseCode); }