public async Task WhenRequestIsGetThenParametersAreAddedToUrl() { var settings = TestConfiguration.GetSettings(); var credentials = TestConfiguration.GetCredentials(); var query = new StubQuery { Item1 = "Value" }; using (var testHttpListener = new TestHttpListener(settings.URL, HttpStatusCode.OK, null)) { bool containsItemInUrl = false; testHttpListener.MessageReceived += (sender, requestEventArgs) => { var request = requestEventArgs.Request; containsItemInUrl = request.Url.Query.Contains("Item1") && request.Url.Query.Contains("Value"); }; OauthRequestSender oauthSender = new OauthRequestSender(credentials, settings.URL); var apiRequest = new Request <bool> { Uri = "/fake/api", HTTPMethod = HttpMethod.Get, Query = query }; var user = await oauthSender.SendRequestAsync(apiRequest); Assert.IsTrue(containsItemInUrl); } }
public void WhenSentRequestAndUnauthorizedThenExceptionIsThrown() { var settings = TestConfiguration.GetSettings(); var credentials = new Credentials( settings.CONSUMER_KEY, settings.CONSUMER_SECRET, settings.TOKEN, settings.TOKEN_SECRET); using (var testHttpListener = new TestHttpListener(settings.URL, HttpStatusCode.Forbidden, null)) { OauthRequestSender api = new OauthRequestSender(credentials, settings.URL); var apiRequest = new Request <bool> { Uri = "/fake/api", HTTPMethod = HttpMethod.Get }; Assert.ThrowsAsync <HttpRequestException>(async() => await api.SendRequestAsync(apiRequest)); } }
public async Task WhenRequestSentThenResponseIsDeserializedToObject() { var settings = TestConfiguration.GetSettings(); var credentials = TestConfiguration.GetCredentials(); using (var testHttpListener = new TestHttpListener(settings.URL, HttpStatusCode.OK, "HTTPResponses/User.txt")) { OauthRequestSender oauthSender = new OauthRequestSender(credentials, settings.URL); var apiRequest = new Request <User> { Uri = "/fake/api", HTTPMethod = HttpMethod.Get }; var user = await oauthSender.SendRequestAsync(apiRequest); Assert.IsNotNull(user); Assert.IsNotNull(user.TokenKey); Assert.IsNotNull(user.TokenSecret); Assert.IsNotNull(user.UserId); } }
public async Task WhenSendRequestThenAuthHeaderIsAdded() { var settings = TestConfiguration.GetSettings(); var credentials = TestConfiguration.GetCredentials(); using (var testHttpListener = new TestHttpListener(settings.URL, HttpStatusCode.OK, "HTTPResponses/User.txt")) { bool containsAuthHeader = false; testHttpListener.MessageReceived += (sender, requestEventArgs) => { containsAuthHeader = requestEventArgs.Request.Headers["Authorization"] != null; }; OauthRequestSender oauthSender = new OauthRequestSender(credentials, settings.URL); var apiRequest = new Request <User> { Uri = "/fake/api", HTTPMethod = HttpMethod.Get }; var user = await oauthSender.SendRequestAsync(apiRequest); Assert.IsTrue(containsAuthHeader); } }