Esempio n. 1
0
 public override void Execute()
 {
     try
     {
         string requestBody = GetRequestBody();
         statusCode = HttpStatusCode.OK;
         if (requestBody.Contains("GetUpdatedFormDigestInformation"))
         {
             responseString      = DigestResponse;
             responseContentType = "text/xml";
         }
         else
         {
             responseString = ResponseProvider.GetResponse(RequestUrl, RequestMethod.ToString(), requestBody);
             //remove duplicated escape characters (possible due to anonymous guid serializtion)
             responseString = responseString.Replace("\\\\/", "\\/");
             //however add \ for Guids and Dates the expectedformat is Id: "\/Guid(...)\/"
             responseString      = responseString.Replace("\"/Guid(", "\"\\/Guid(");
             responseString      = responseString.Replace("\"/Date(", "\"\\/Date(");
             responseString      = responseString.Replace(")/\"", ")\\/\"");
             responseContentType = "application/json";
         }
     }
     catch (Exception ex)
     {
         statusCode     = HttpStatusCode.InternalServerError;
         responseString = ex.Message;
     }
     ResponseStream = new MemoryStream(Encoding.UTF8.GetBytes(responseString));
 }
Esempio n. 2
0
        public void GetResponse_ShouldCatchParserExceptionAndCallFactoryMethodWithCorrectParams()
        {
            const string errorMessage    = "Error!";
            var          responseFactory = new Mock <IHttpResponseFactory>();

            responseFactory.Setup(
                f =>
                f.GetHttpResponse("1.1", HttpStatusCode.BadRequest, errorMessage,
                                  "text/plain; charset=utf-8"));

            var headHandler   = new Mock <IHandler>();
            var requestParser = new Mock <IRequestParser>();

            requestParser.Setup(p => p.Parse(It.IsAny <string>()))
            .Throws(new ParserException(errorMessage));

            var responseProvider = new ResponseProvider(requestParser.Object, responseFactory.Object, headHandler.Object);

            responseProvider.GetResponse("message");

            responseFactory.Verify(
                f =>
                f.GetHttpResponse("1.1", HttpStatusCode.BadRequest, errorMessage,
                                  "text/plain; charset=utf-8"), Times.Once());
        }
Esempio n. 3
0
    public static void Main()
    {
        var responseProvider = new ResponseProvider();

        var requestBuilder = new StringBuilder();

        string inputLine;

        while ((inputLine = Console.ReadLine()) != null)
        {
            // Smells
            if (string.IsNullOrWhiteSpace(inputLine))
            {
                HttpResponse response = responseProvider.GetResponse(requestBuilder.ToString());

                Console.ForegroundColor = ConsoleColor.DarkGray;
                Console.WriteLine(response);
                Console.ResetColor();

                requestBuilder.Clear();

                continue;
            }

            requestBuilder.AppendLine(inputLine);
        }
    }
Esempio n. 4
0
        public void GetResponse_ShouldCallRequestParserParseMethodOnceWithCorrectParameters()
        {
            const string input           = "somestring";
            var          responseFactory = new Mock <IHttpResponseFactory>();
            var          headHandler     = new Mock <IHandler>();
            var          requestParser   = new Mock <IRequestParser>();

            requestParser.Setup(p => p.Parse(input));

            var responseProvider = new ResponseProvider(requestParser.Object, responseFactory.Object, headHandler.Object);

            responseProvider.GetResponse(input);

            requestParser.Verify(p => p.Parse(input), Times.Once());
        }
Esempio n. 5
0
        public void GetResponse_ShouldCallHandlerHandleRequestMethodWithCorrectParameters()
        {
            const string input = "message";

            var responseFactory = new Mock <IHttpResponseFactory>();
            var headHandler     = new Mock <IHandler>();
            var request         = new Mock <IHttpRequest>();
            var requestParser   = new Mock <IRequestParser>();

            requestParser.Setup(p => p.Parse(input))
            .Returns(request.Object);
            var response = new Mock <IHttpResponse>();

            headHandler.Setup(h => h.HandleRequest(request.Object))
            .Returns(response.Object);

            var responseProvider = new ResponseProvider(requestParser.Object, responseFactory.Object, headHandler.Object);
            var result           = responseProvider.GetResponse(input);

            Assert.AreSame(response.Object, result);
            headHandler.Verify(h => h.HandleRequest(request.Object), Times.Once);
        }
Esempio n. 6
0
        public void GetResponse_ShouldCatchParserExceptionAndReturnFactoryMethodReturnValue()
        {
            const string errorMessage = "Error!";

            var mockedResponse  = new Mock <IHttpResponse>();
            var responseFactory = new Mock <IHttpResponseFactory>();

            responseFactory.Setup(
                f =>
                f.GetHttpResponse("1.1", HttpStatusCode.BadRequest, errorMessage,
                                  "text/plain; charset=utf-8"))
            .Returns(mockedResponse.Object);

            var headHandler   = new Mock <IHandler>();
            var requestParser = new Mock <IRequestParser>();

            requestParser.Setup(p => p.Parse(It.IsAny <string>()))
            .Throws(new ParserException(errorMessage));

            var responseProvider = new ResponseProvider(requestParser.Object, responseFactory.Object, headHandler.Object);
            var result           = responseProvider.GetResponse("message");

            Assert.AreSame(mockedResponse.Object, result);
        }