public void AddParameters_MultipleParameter() { var key1 = "testKey1"; var value1 = "testValue1"; var key2 = "testKey2"; var value2 = "testValue2"; var clientService = new ClientService(); clientService.AddParameter(key1, value1); clientService.AddParameter(key2, value2); Assert.IsFalse(string.IsNullOrEmpty(clientService.ParameterString)); Assert.AreEqual($"{key1}={value1}&{key2}={value2}", clientService.ParameterString); }
public async Task GetRequestWithParameterNullThrowsArguementNullException() { // arrange var paramKey = "Key"; var url = "http://www.google.com"; var expectedBytes = Encoding.UTF8.GetBytes($"{url}?{paramKey}=null"); var responseStream = new MemoryStream(); responseStream.Write(expectedBytes, 0, expectedBytes.Length); responseStream.Seek(0, SeekOrigin.Begin); var response = new Mock <HttpWebResponse>(); response.Setup(c => c.GetResponseStream()).Returns(responseStream); var request = new Mock <HttpWebRequest>(); request.Setup(c => c.GetResponseAsync()).Returns(Task.FromResult <WebResponse>(response.Object)); var factory = new Mock <IHttpWebRequestFactory>(); factory.Setup(c => c.Create(It.IsAny <string>())) .Returns(request.Object); // act var clientService = new ClientService(factory.Object); clientService.AddParameter(paramKey, null); // assert await Assert.ThrowsExceptionAsync <ArgumentNullException>(async() => await clientService.Get(null)); }
public void AddParameters_SingleParameter() { var key = "testKey"; var value = "testValue"; var clientService = new ClientService(); clientService.AddParameter(key, value); Assert.IsFalse(string.IsNullOrEmpty(clientService.ParameterString)); Assert.AreEqual($"{key}={value}", clientService.ParameterString); }
public async Task GetRequestWithSingleParametersReturnUrlAndParamString() { // arrange var paramKey = "Key"; var paramValue = "Value"; var url = "http://www.google.com"; var expectedBytes = Encoding.UTF8.GetBytes($"{url}?{paramKey}={paramValue}"); var responseStream = new MemoryStream(); responseStream.Write(expectedBytes, 0, expectedBytes.Length); responseStream.Seek(0, SeekOrigin.Begin); var response = new Mock <HttpWebResponse>(); response.Setup(c => c.GetResponseStream()).Returns(responseStream); var request = new Mock <HttpWebRequest>(); request.Setup(c => c.GetResponseAsync()).Returns(Task.FromResult <WebResponse>(response.Object)); var factory = new Mock <IHttpWebRequestFactory>(); factory.Setup(c => c.Create(It.IsAny <string>())) .Returns(request.Object); // act var clientService = new ClientService(factory.Object); clientService.AddParameter(paramKey, paramValue); var actualResponse = await clientService.Get(url); // assert Assert.IsTrue(actualResponse.ResponseString.Contains(url)); Assert.AreEqual($"{url}?{paramKey}={paramValue}", actualResponse.ResponseString); }