Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }