Example #1
0
        public RequestHandler(
            IArgumentBinder <RequestInfo> argumentBinder,
            IDelegateMapper <RequestInfo> delegateMapper,
            IResponseComposer responseComposer,
            IEnumerable <IPreRequestHandler> preRequestHandlers,
            IEnumerable <IPostRequestHandler> postRequestHandlers,
            IEnumerable <IModelTransformer> modelTransformers)
        {
            if (argumentBinder == null)
            {
                throw new ArgumentNullException("argumentBinder");
            }

            if (delegateMapper == null)
            {
                throw new ArgumentNullException("delegateMapper");
            }

            if (responseComposer == null)
            {
                throw new ArgumentNullException("responseComposer");
            }

            _responseComposer            = responseComposer;
            _argumentBinder              = argumentBinder;
            _handlerMapper               = delegateMapper;
            _preRequestHandlers          = new List <IPreRequestHandler>();
            _postRequestHandlers         = new List <IPostRequestHandler>();
            _authenticationProviders     = new List <IPreRequestHandler>();
            _modelTransformers           = modelTransformers ?? new IModelTransformer[0];
            _defaultAuthenticationScheme = Initialize(preRequestHandlers, postRequestHandlers);
        }
Example #2
0
 public ApiGateway(IGetRequestHandler getRequestHandler, IBidViewModelBuilder modelBuilder,
                   IPutRequestHandler putRequestHandler, IPostRequestHandler postRequestHandler,
                   IDeleteHandler deleteHandler)
 {
     _getRequestHandler  = getRequestHandler;
     _modelBuilder       = modelBuilder;
     _putRequestHandler  = putRequestHandler;
     _postRequestHandler = postRequestHandler;
     _deleteHandler      = deleteHandler;
 }
Example #3
0
 public void Setup()
 {
     _getRequestHandler  = A.Fake <IGetRequestHandler>();
     _modelBuilder       = A.Fake <IBidViewModelBuilder>();
     _putRequestHandler  = A.Fake <IPutRequestHandler>();
     _postRequestHandler = A.Fake <IPostRequestHandler>();
     _deleteHandler      = A.Fake <IDeleteHandler>();
     _ApiGateway         = new ApiGateway(_getRequestHandler, _modelBuilder, _putRequestHandler,
                                          _postRequestHandler, _deleteHandler);
 }
 public void Setup()
 {
     _urlBuilder         = A.Fake <IUrlBuilder>();
     _postRequestMaker   = A.Fake <IPostRequestMaker>();
     _statusCodeHandler  = A.Fake <IStatusCodeHandler>();
     _postRequestHandler = new PostRequestHandler(_postRequestMaker, _urlBuilder, _statusCodeHandler);
     _token      = "ABC";
     _playerId   = "12345";
     _startPrice = 1200;
     _binPrice   = 1100;
 }
Example #5
0
        public RequestHandlerPipeline(IRequestHandler <TRequest, TResponse> innerHandler,
                                      IPreRequestHandler <TRequest> preRequestHandler,
                                      IPostRequestHandler <TRequest, TResponse> postRequestHandler)
        {
            Requires.IsNotNull(innerHandler, nameof(innerHandler));
            Requires.IsNotNull(preRequestHandler, nameof(preRequestHandler));
            Requires.IsNotNull(postRequestHandler, nameof(postRequestHandler));

            _innerHandler       = innerHandler;
            _preRequestHandler  = preRequestHandler;
            _postRequestHandler = postRequestHandler;
        }
Example #6
0
        private RequestHandler SetupEnvironment <T>(
            T result = default(T),
            bool useDefaultArguments               = false,
            string methodName                      = "Substract",
            IPreRequestHandler preRequestHandler   = null,
            IPostRequestHandler postRequestHandler = null,
            IModelTransformer modelTransformer     = null)
        {
            var operation = CreateOperation(methodName);

            _arguments = operation.UnderlyingMethod.GetParameters().Select(parameter =>
                                                                           (useDefaultArguments ? Activator.CreateInstance(parameter.ParameterType) : null)).ToArray();

            ResponseInfo       response   = null;
            Mock <IController> controller = new Mock <IController>(MockBehavior.Strict);

            controller.SetupGet(instance => instance.Response).Returns(() => response);
            controller.SetupSet(instance => instance.Response = It.IsAny <ResponseInfo>()).Callback <IResponseInfo>(info => response = (ResponseInfo)info);

            _mapping = new Mock <IRequestMapping>(MockBehavior.Strict);
            _mapping.SetupGet(instance => instance.Operation).Returns(operation);
            _mapping.SetupGet(instance => instance.Target).Returns(controller.Object);
            _mapping.Setup(instance => instance.Invoke(_arguments)).Returns(result);

            _delegateMapper = new Mock <IDelegateMapper <RequestInfo> >(MockBehavior.Strict);
            _delegateMapper.Setup(instance => instance.MapRequest(It.IsAny <RequestInfo>())).Returns <RequestInfo>(request => _mapping.Object);

            _argumentBinder = new Mock <IArgumentBinder <RequestInfo> >();
            _argumentBinder.Setup(instance => instance.BindArguments(It.IsAny <RequestInfo>(), It.IsAny <IRequestMapping>()))
            .Returns <IRequestInfo, IRequestMapping>((request, requestMapping) => _arguments);

            _responseComposer = new Mock <IResponseComposer>(MockBehavior.Strict);
            _responseComposer.Setup(instance => instance.ComposeResponse(_mapping.Object, result, _arguments)).Returns((ResponseInfo)null);

            return(new RequestHandler(
                       _argumentBinder.Object,
                       _delegateMapper.Object,
                       _responseComposer.Object,
                       (preRequestHandler != null ? new[] { preRequestHandler } : null),
                       (postRequestHandler != null ? new[] { postRequestHandler } : null),
                       (modelTransformer != null ? new[] { modelTransformer } : null)));
        }
 public void Teardown()
 {
     _postRequestHandler = null;
 }
 public void Setup()
 {
     _postRequestHandler = new CorsPostRequestHandler();
 }
Example #9
0
 public void Teardown()
 {
     _postRequestHandler = null;
 }
Example #10
0
 public void Setup()
 {
     _postRequestHandler = new CorsPostRequestHandler();
 }