public MethodCallBroker(IRequestBuilder requestBuilder, IRandomService service = null, IBeforeRequestCommandFactory beforeRequestCommandFactory = null, IResponseHandlerFactory responseHandlerFactory = null)
 {
     _requestBuilder = requestBuilder;
     _service = service ?? new RandomOrgApiService();
     _beforeRequestCommandFactory = beforeRequestCommandFactory;
     _responseHandlerFactory = responseHandlerFactory;
 }
		public void SetUp()
		{
			_requestBuilder = A.Fake<IRequestBuilder>();
			var httpClient = A.Fake<IHttpClient>();
			var responseParser = A.Fake<IResponseParser>();

			_fluentApi = new FluentApi<Playlist>(httpClient, _requestBuilder, responseParser);
		}
 public CategorySearcher(
     IRequestBuilder requestBuilder,
     IResourceRetriever resourceRetriever,
     ICategoryResourceConverter categoryResourceConverter)
 {
     _requestBuilder = requestBuilder;
     _resourceRetriever = resourceRetriever;
     _categoryResourceConverter = categoryResourceConverter;
 }
 public PlaceSearcher(
     IResourceRetriever retriever,
     IPlacesConverter converter,
     IRequestBuilder requestBuilder)
 {
     _retriever = retriever;
     _converter = converter;
     _requestBuilder = requestBuilder;
 }
		public void Setup()
		{
			_apiUri = A.Fake<IApiUri>();
			A.CallTo(() => _apiUri.Uri).Returns("http://example.com");
			A.CallTo(() => _apiUri.SecureUri).Returns("https://example.com");

			_oAuthCredentials = A.Fake<IOAuthCredentials>();
			A.CallTo(() => _oAuthCredentials.ConsumerKey).Returns("testkey");
			A.CallTo(() => _oAuthCredentials.ConsumerSecret).Returns("testsecret");

			_requestBuilder = new RequestBuilder(_apiUri, _oAuthCredentials);
		}
		public void SetUp()
		{
			_requestBuilder = A.Fake<IRequestBuilder>();
			var httpClient = A.Fake<IHttpClient>();
			var responseParser = A.Fake<IResponseParser>();

			var responseXml = File.ReadAllText("StubResponses/Playlists.xml");
			var validPlaylistsResponse = new Response(HttpStatusCode.OK, responseXml);
			A.CallTo(() => httpClient.Send(null)).WithAnyArguments().Returns(Task.FromResult(validPlaylistsResponse));
			_fluentApi = new FluentApi<UserPlaylists>(httpClient, _requestBuilder, responseParser);

		}
Exemplo n.º 7
0
 protected void Page_Load(object sender, EventArgs e)
 {
     try
     {
         requestBuilder = new RequestBuilder();
         listener = new WebListener(requestBuilder);
         parser = new HttpParser();
     }
     catch (Exception exc)
     {
         Response.Redirect(string.Format("ErrorPage.html?code={0}&msg={1}", exc.HResult, exc.Message));
     }
 }
Exemplo n.º 8
0
        public RequestBuilder_Tests()
        {
            _nodeRequestId = 1;
            _host = new MockHost();
            _host.RequestBuilder = new RequestBuilder();
            ((IBuildComponent)_host.RequestBuilder).InitializeComponent(_host);

            _host.OnLoggingThreadException += this.LoggingException;

            _newBuildRequestsEvent = new AutoResetEvent(false);
            _buildRequestCompletedEvent = new AutoResetEvent(false);

            _requestBuilder = (IRequestBuilder)_host.GetComponent(BuildComponentType.RequestBuilder);
            _requestBuilder.OnBuildRequestCompleted += this.BuildRequestCompletedCallback;
            _requestBuilder.OnNewBuildRequests += this.NewBuildRequestsCallback;
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="advisoryDelayHandler">
        /// Class which handles the apprioriate delay before the request is called.
        /// It is required that this class be passed into the method because the same instance of the <see cref="AdvisoryDelayHandler"/> must be passed in on every request.
        /// </param>
        /// <param name="randomService"><see cref="IRandomService"/> to use to get random values.  Defaults to <see cref="RandomOrgApiService"/></param>
        public UuidBasicMethod(AdvisoryDelayHandler advisoryDelayHandler, IRandomService randomService = null)
        {
            RandomService = randomService ?? new RandomOrgApiService();
            RequestBuilder = new JsonRequestBuilder(new UuidJsonRequestBuilder());

            BeforeRequestCommandFactory = new BeforeRequestCommandFactory(advisoryDelayHandler);

            // We need to keep this separate so we can retrieve the list of values that are returned from to the caller
            ResponseParser = new JsonResponseParserFactory(new UuidResponseParser());

            ResponseHandlerFactory = new ResponseHandlerFactory(
                new ErrorHandlerThrowException(new ErrorParser()),
                advisoryDelayHandler,
                new VerifyIdResponseHandler(),
                ResponseParser
            );
        }
 public CachedRequestBuilderImplementation(IRequestBuilder <T> innerBuilder) : base(innerBuilder)
 {
 }
 public static IRequestBuilder ConfigureHeader(this IRequestBuilder requestBuilder, Action <HttpRequestHeaders> action)
 {
     action(requestBuilder.Message.Headers);
     return(requestBuilder);
 }
 public static IRequestBuilder WithBody(this IRequestBuilder requestBuilder, JsonContent body)
 {
     requestBuilder.Message.Content = body;
     return(requestBuilder);
 }
Exemplo n.º 13
0
 internal Rover(IRequestBuilder requestBuilder)
 {
     RequestBuilder = requestBuilder.AddPath(Name);
 }
 public DefaultRequestProcesser(IReportsTransport reportsTransport, IRequestBuilder requestBuilder, IConfiguration configuration)
 {
     ReportsTransport = reportsTransport;
     RequestBuilder   = requestBuilder;
     Configuration    = configuration;
 }
Exemplo n.º 15
0
 public AutoGeneratedTestNestedINestedGitHubApi(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
Exemplo n.º 16
0
 public AutoGeneratedIAmARefitInterfaceButNobodyUsesMe(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
Exemplo n.º 17
0
 public AutoGeneratedINamespaceCollisionApi(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
Exemplo n.º 18
0
 public AutoGeneratedAuthenticatedClientHandlerTestsIMyAuthenticatedService(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
Exemplo n.º 19
0
 public AutoGeneratedResponseTestsIMyAliasService(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
Exemplo n.º 20
0
 public AutoGeneratedIApiWithDecimal(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
Exemplo n.º 21
0
 public AutoGeneratedIGitHubApi(HttpClient client, IRequestBuilder requestBuilder)
 {
     methodImpls = requestBuilder.InterfaceHttpMethods.ToDictionary(k => k, v => requestBuilder.BuildRestResultFuncForMethod(v));
     Client      = client;
 }
		public void SetUp()
		{
			_httpClient = A.Fake<IHttpClient>();
			_requestBuilder = A.Fake<IRequestBuilder>();
			_responseParser = A.Fake<IResponseParser>();
		}
Exemplo n.º 23
0
 public AutoGeneratedINonGenericInterfaceWithGenericMethod(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
Exemplo n.º 24
0
 abstract public MultiRequestBuilder Add(IRequestBuilder requestBuilder);
 /// <summary>
 /// Sets the response handler for this request to a <see cref="bool"/> (200-299 response code).
 /// </summary>
 /// <param name="builder">The builder we're working on.</param>
 /// <returns>A typed request builder for chaining.</returns>
 public static IRequestBuilder <bool> ExpectHttpSuccess(this IRequestBuilder builder) =>
 builder.WithHandler(responseMessage => Task.FromResult(responseMessage.IsSuccessStatusCode));
Exemplo n.º 26
0
        /// <summary>
        /// Constructor
        /// </summary>
        public MockHost(BuildParameters buildParameters)
        {
            _buildParameters = buildParameters;

            _buildParameters.ProjectRootElementCache = new ProjectRootElementCache(false);

            _configCache = new ConfigCache();
            ((IBuildComponent)_configCache).InitializeComponent(this);

            // We are a logging service
            _loggingService = this;

            _legacyThreadingData = new LegacyThreadingData();

            _requestEngine = new BuildRequestEngine();
            ((IBuildComponent)_requestEngine).InitializeComponent(this);

            _resultsCache = new ResultsCache();
            ((IBuildComponent)_resultsCache).InitializeComponent(this);

            _requestBuilder = new Microsoft.Build.UnitTests.BackEnd.BuildRequestEngine_Tests.MockRequestBuilder();
            ((IBuildComponent)_requestBuilder).InitializeComponent(this);

            _targetBuilder = new TestTargetBuilder();
            ((IBuildComponent)_targetBuilder).InitializeComponent(this);
        }
 /// <summary>
 /// Sets the response handler for this request to a JSON deserializer.
 /// </summary>
 /// <typeparam name="T">The type to Jil-deserialize to.</typeparam>
 /// <param name="builder">The builder we're working on.</param>
 /// <returns>A typed request builder for chaining.</returns>
 public static IRequestBuilder <T> ExpectJson <T>(this IRequestBuilder builder) => ExpectJson <T>(builder, Options.Default);
Exemplo n.º 28
0
 public Card(IRequestBuilder builder, IResponceParser parser)
 {
     this.builder = builder;
     this.parser  = parser;
 }
 /// <summary>
 /// Sets the response handler for this request to a JSON deserializer.
 /// </summary>
 /// <typeparam name="T">The type to Jil-deserialize to.</typeparam>
 /// <param name="builder">The builder we're working on.</param>
 /// <param name="jsonOptions">The Jil options to use when serializing.</param>
 /// <returns>A typed request builder for chaining.</returns>
 public static IRequestBuilder <T> ExpectJson <T>(this IRequestBuilder builder, Options jsonOptions) =>
 builder.WithHandler(JsonHandler <T> .WithOptions(builder, jsonOptions));
 public static IRequestBuilder WithBody(this IRequestBuilder requestBuilder, object body)
 {
     requestBuilder.Message.Content = new JsonContent(body);
     return(requestBuilder);
 }
 /// <summary>
 /// Sets the response handler for this request to return the response as a <see cref="T:byte[]"/>.
 /// </summary>
 /// <param name="builder">The builder we're working on.</param>
 /// <returns>A typed request builder for chaining.</returns>
 public static IRequestBuilder <byte[]> ExpectByteArray(this IRequestBuilder builder) =>
 builder.WithHandler(responseMessage => responseMessage.Content.ReadAsByteArrayAsync());
 public static IRequestBuilder AddQueryParam(this IRequestBuilder requestBuilder, string name, string value)
 {
     requestBuilder.Query.Add(name, value);
     return(requestBuilder);
 }
Exemplo n.º 33
0
 /// <inheritdoc />
 public AutoGeneratedIRemoteService(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
        private IRequestBuilder InitRequestBuilder(RequestModel requestModel, bool pathOrUrlRequired)
        {
            IRequestBuilder requestBuilder = Request.Create();

            if (requestModel.ClientIP != null)
            {
                if (requestModel.ClientIP is string clientIP)
                {
                    requestBuilder = requestBuilder.WithClientIP(clientIP);
                }
                else
                {
                    var clientIPModel = JsonUtils.ParseJTokenToObject <ClientIPModel>(requestModel.ClientIP);
                    if (clientIPModel?.Matchers != null)
                    {
                        requestBuilder = requestBuilder.WithPath(clientIPModel.Matchers.Select(_matcherMapper.Map).OfType <IStringMatcher>().ToArray());
                    }
                }
            }

            bool pathOrUrlmatchersValid = false;

            if (requestModel.Path != null)
            {
                if (requestModel.Path is string path)
                {
                    requestBuilder         = requestBuilder.WithPath(path);
                    pathOrUrlmatchersValid = true;
                }
                else
                {
                    var pathModel = JsonUtils.ParseJTokenToObject <PathModel>(requestModel.Path);
                    if (pathModel?.Matchers != null)
                    {
                        requestBuilder         = requestBuilder.WithPath(pathModel.Matchers.Select(_matcherMapper.Map).OfType <IStringMatcher>().ToArray());
                        pathOrUrlmatchersValid = true;
                    }
                }
            }
            else if (requestModel.Url != null)
            {
                if (requestModel.Url is string url)
                {
                    requestBuilder         = requestBuilder.WithUrl(url);
                    pathOrUrlmatchersValid = true;
                }
                else
                {
                    var urlModel = JsonUtils.ParseJTokenToObject <UrlModel>(requestModel.Url);
                    if (urlModel?.Matchers != null)
                    {
                        requestBuilder         = requestBuilder.WithUrl(urlModel.Matchers.Select(_matcherMapper.Map).OfType <IStringMatcher>().ToArray());
                        pathOrUrlmatchersValid = true;
                    }
                }
            }

            if (pathOrUrlRequired && !pathOrUrlmatchersValid)
            {
                _settings.Logger.Error("Path or Url matcher is missing for this mapping, this mapping will not be added.");
                return(null);
            }

            if (requestModel.Methods != null)
            {
                requestBuilder = requestBuilder.UsingMethod(requestModel.Methods);
            }

            if (requestModel.Headers != null)
            {
                foreach (var headerModel in requestModel.Headers.Where(h => h.Matchers != null))
                {
                    requestBuilder = requestBuilder.WithHeader(
                        headerModel.Name,
                        headerModel.IgnoreCase == true,
                        headerModel.RejectOnMatch == true ? MatchBehaviour.RejectOnMatch : MatchBehaviour.AcceptOnMatch,
                        headerModel.Matchers.Select(_matcherMapper.Map).OfType <IStringMatcher>().ToArray()
                        );
                }
            }

            if (requestModel.Cookies != null)
            {
                foreach (var cookieModel in requestModel.Cookies.Where(c => c.Matchers != null))
                {
                    requestBuilder = requestBuilder.WithCookie(
                        cookieModel.Name,
                        cookieModel.IgnoreCase == true,
                        cookieModel.RejectOnMatch == true ? MatchBehaviour.RejectOnMatch : MatchBehaviour.AcceptOnMatch,
                        cookieModel.Matchers.Select(_matcherMapper.Map).OfType <IStringMatcher>().ToArray());
                }
            }

            if (requestModel.Params != null)
            {
                foreach (var paramModel in requestModel.Params.Where(p => p != null && p.Matchers != null))
                {
                    bool ignoreCase = paramModel.IgnoreCase == true;
                    requestBuilder = requestBuilder.WithParam(paramModel.Name, ignoreCase, paramModel.Matchers.Select(_matcherMapper.Map).OfType <IStringMatcher>().ToArray());
                }
            }

            if (requestModel.Body?.Matcher != null)
            {
                requestBuilder = requestBuilder.WithBody(_matcherMapper.Map(requestModel.Body.Matcher));
            }
            else if (requestModel.Body?.Matchers != null)
            {
                requestBuilder = requestBuilder.WithBody(_matcherMapper.Map(requestModel.Body.Matchers));
            }

            return(requestBuilder);
        }
Exemplo n.º 35
0
 /// <inheritdoc />
 public AutoGeneratedIRadioBrowserApi(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
Exemplo n.º 36
0
 public AutoGeneratedIAmARefitInterfaceButNobodyUsesMe(HttpClient client, IRequestBuilder requestBuilder)
 {
     methodImpls = requestBuilder.InterfaceHttpMethods.ToDictionary(k => k, v => requestBuilder.BuildRestResultFuncForMethod(v));
     Client      = client;
 }
Exemplo n.º 37
0
        private IRequestBuilder InitRequestBuilder(RequestModel requestModel)
        {
            IRequestBuilder requestBuilder = Request.Create();

            if (requestModel.Path != null)
            {
                string path = requestModel.Path as string;
                if (path != null)
                {
                    requestBuilder = requestBuilder.WithPath(path);
                }
                else
                {
                    var pathModel = JsonUtils.ParseJTokenToObject <PathModel>(requestModel.Path);
                    if (pathModel?.Matchers != null)
                    {
                        requestBuilder = requestBuilder.WithPath(pathModel.Matchers.Select(Map).ToArray());
                    }
                }
            }

            if (requestModel.Url != null)
            {
                string url = requestModel.Url as string;
                if (url != null)
                {
                    requestBuilder = requestBuilder.WithUrl(url);
                }
                else
                {
                    var urlModel = JsonUtils.ParseJTokenToObject <UrlModel>(requestModel.Url);
                    if (urlModel?.Matchers != null)
                    {
                        requestBuilder = requestBuilder.WithUrl(urlModel.Matchers.Select(Map).ToArray());
                    }
                }
            }

            if (requestModel.Methods != null)
            {
                requestBuilder = requestBuilder.UsingVerb(requestModel.Methods);
            }

            if (requestModel.Headers != null)
            {
                foreach (var headerModel in requestModel.Headers.Where(h => h.Matchers != null))
                {
                    requestBuilder = requestBuilder.WithHeader(headerModel.Name, headerModel.Matchers.Select(Map).ToArray());
                }
            }

            if (requestModel.Cookies != null)
            {
                foreach (var cookieModel in requestModel.Cookies.Where(c => c.Matchers != null))
                {
                    requestBuilder = requestBuilder.WithCookie(cookieModel.Name, cookieModel.Matchers.Select(Map).ToArray());
                }
            }

            if (requestModel.Params != null)
            {
                foreach (var paramModel in requestModel.Params.Where(p => p.Values != null))
                {
                    requestBuilder = requestBuilder.WithParam(paramModel.Name, paramModel.Values.ToArray());
                }
            }

            if (requestModel.Body?.Matcher != null)
            {
                var bodyMatcher = Map(requestModel.Body.Matcher);
                requestBuilder = requestBuilder.WithBody(bodyMatcher);
            }

            return(requestBuilder);
        }
Exemplo n.º 38
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="configuration">An instance of <see cref="BrightcoveApiConfig"/> to set as an instance property.</param>
 /// <param name="requestBuilder"></param>
 public BrightcoveApiConnector(BrightcoveApiConfig configuration, IRequestBuilder requestBuilder)
 {
     Configuration = configuration;
     RequestBuilder = requestBuilder;
 }
Exemplo n.º 39
0
 public ApiClient(IJustGivingClient jg)
 {
     _jg = jg;
     _accountRegBuilder = new CreateAccountRequestBuilder();
     _pageRegBuilder = new RegisterPageRequestBuilder();
 }
Exemplo n.º 40
0
 public WebListener(IRequestBuilder requestBuilder)
 {
     _requestBuilder = requestBuilder;
 }
Exemplo n.º 41
0
 public GetAllTagsOperation(ITagRepository repository, IHalResponseBuilder halResponseBuilder, IRequestBuilder requestBuilder, ITagEnricher tagEnricher)
 {
     _repository         = repository;
     _halResponseBuilder = halResponseBuilder;
     _requestBuilder     = requestBuilder;
     _tagEnricher        = tagEnricher;
 }
Exemplo n.º 42
0
 public AutoGeneratedIProductsApi(HttpClient client, IRequestBuilder requestBuilder)
 {
     methodImpls = requestBuilder.InterfaceHttpMethods.ToDictionary(k => k, v => requestBuilder.BuildRestResultFuncForMethod(v));
     Client = client;
 }
 public MapService(IRequestBuilder requestBuilder, IRestClient restClient, IMapValidator mapValidator, IResponseValidator responseValidator, IMapConvertor mapConvertor)
     : base(requestBuilder, restClient, responseValidator)
 {
     _addMapValidator = mapValidator;
     _mapConvertor    = mapConvertor;
 }
Exemplo n.º 44
0
            /// <summary>
            /// Constructor
            /// 
            /// UNDONE: Refactor this, and the other MockHosts, to use a common base implementation.  The duplication of the
            /// logging implementation alone is unfortunate.
            /// </summary>
            public MockHost()
            {
                _buildParameters = new BuildParameters();
                _legacyThreadingData = new LegacyThreadingData();

                _configCache = new ConfigCache();
                ((IBuildComponent)_configCache).InitializeComponent(this);

                _loggingService = this;

                _resultsCache = new ResultsCache();
                ((IBuildComponent)_resultsCache).InitializeComponent(this);

                _requestBuilder = new RequestBuilder();
                ((IBuildComponent)_requestBuilder).InitializeComponent(this);

                _targetBuilder = new TargetBuilder();
                ((IBuildComponent)_targetBuilder).InitializeComponent(this);
            }
Exemplo n.º 45
0
        public static Func <object[], HttpRequestMessage> BuildRequestFactoryForMethod(this IRequestBuilder builder, string methodName)
        {
            var factory = builder.BuildRestResultFuncForMethod(methodName);
            var testHttpMessageHandler = new TestHttpMessageHandler();


            return(paramList => {
                var task = (Task)factory(new HttpClient(testHttpMessageHandler)
                {
                    BaseAddress = new Uri("http://api/")
                }, paramList);
                task.Wait();
                return testHttpMessageHandler.RequestMessage;
            });
        }
Exemplo n.º 46
0
 /// <inheritdoc />
 public AutoGeneratedIEffApi(HttpClient client, IRequestBuilder requestBuilder)
 {
     Client = client;
     this.requestBuilder = requestBuilder;
 }
 public void SetUp()
 {
     _requestBuilder = new RequestBuilder();
 }