public void SetsMetaHeaders() { var request = new RequestContext(HttpMethods.Get, Enumerable.Empty<KeyValuePair<string, object>>()); request.Prepare(); Assert.AreEqual("dotnet", request.Request.Headers["X-Mashape-Language"]); Assert.AreEqual("0.1", request.Request.Headers["X-Mashape-Version"]); }
public void SetsTheProperMethod() { foreach (var method in AllMethods) { var request = new RequestContext(method, Enumerable.Empty<KeyValuePair<string, object>>()); request.Prepare(); Assert.AreEqual(method.ToString().ToUpper(), request.Request.Method); } }
public void QueryMethodsIncludeTheQueryInTheUrl() { foreach (var method in QueryMethods) { var request = new RequestContext(method, new Dictionary<string, object> { { "itsover", 9000 } }); request.Prepare(); Assert.AreEqual("http://localhost:9948/api.spice?itsover=9000", request.Request.RequestUri.ToString()); } }
public void BodyMethodsDoNotIncludeTheQueryInTheUrl() { foreach (var method in BodyMethods) { var request = new RequestContext(method, new Dictionary<string, object> { { "name", "duncan" } }); request.Prepare(); Assert.AreEqual("http://localhost:9948/api.spice", request.Request.RequestUri.ToString()); } }
public void QueryMethodsDoesNotPrepareABody() { foreach(var method in QueryMethods) { var request = new RequestContext(method, Enumerable.Empty<KeyValuePair<string, object>>()); request.Prepare(); Assert.AreEqual(null, request.Request.ContentType); Assert.AreEqual(-1, request.Request.ContentLength); Assert.AreEqual(null, request.PayloadData); } }
public void PutPostAndDeletePrepareABody() { foreach (var method in BodyMethods) { var request = new RequestContext(method, new Dictionary<string, object>{{"leto", "spice"}}); request.Prepare(); Assert.AreEqual("application/x-www-form-urlencoded", request.Request.ContentType); Assert.AreEqual(10, request.Request.ContentLength); Assert.AreEqual(new byte[] { 108, 101, 116, 111, 61, 115, 112, 105, 99, 101 }, request.PayloadData); } }
public void SignsTheRequestUsingTheConfiguredKeys() { Driver.Configure("pu", "pi"); var request = new RequestContext(HttpMethods.Get, Enumerable.Empty<KeyValuePair<string, object>>()); request.Prepare(); Assert.AreEqual("cHU6NTVhMzcyNzRhNzU3YTU3YmE0NDZjMDcyMmU2ODhlNWFlNGJiMGUxZTVlZWUzOWYxLWMwOTYtNDY5My04NDBhLWI2MWQ3ZDIzMjFhZg==", request.Request.Headers["X-Mashape-Authorization"]); }