public HttpDownloadTest() { var httpClientFactoryMock = FakeHttpClientFactory.GetHttpClientFactoryMock(ResponseType.Html); _httpDownload = new HttpDownload(httpClientFactoryMock.Object); _url = "http://good.uri"; }
public async Task be_inactive_if_configured_country_is_not_the_same_as_remote_ip_address() { var toggle = Build .Toggle <Ip2CountryToggle>() .AddParameter(Countries, "FR") .Build(); var feature = Build .Feature(Constants.FeatureName) .AddOne(toggle) .Build(); var context = new DefaultHttpContext(); context.Connection.RemoteIpAddress = IPAddress.Parse("2.142.250.6"); var contextAccessor = new FakeHttpContextAccessor(context); var httpClientFactory = new FakeHttpClientFactory(); var active = await new Ip2CountryToggle(contextAccessor, httpClientFactory).IsActiveAsync( ToggleExecutionContext.FromToggle( feature.Name, EsquioConstants.DEFAULT_PRODUCT_NAME, EsquioConstants.DEFAULT_DEPLOYMENT_NAME, toggle)); active.Should().BeFalse(); }
private static Initializer GetInitializer(Func <HttpRequestMessage, HttpResponseMessage> handler) { var httpMessageHandler = new MockableMessageHandler(handler); var configurableHandler = new ConfigurableMessageHandler(httpMessageHandler); var clientFactory = new FakeHttpClientFactory(configurableHandler); return(new Initializer { HttpClientFactory = clientFactory }); }
public void KeepTruckinStoreShouldHandleKeepTruckinProvider() { //Arrange var logger = new Mock <ILogger>(); var httpClient = new FakeHttpClientFactory(new FakeHttpMessageHandler()); //Act var store = new KeepTruckinStore(logger.Object, httpClient); //Assert Assert.AreEqual(IntegrationProvider.KeepTruckin, store.HandlesProvider); }
private static DefaultRequestHandler Sut(Action <DefaultRequestHandler.Options> configure, bool failRequest = false, bool failResponse = false) { var options = new DefaultRequestHandler.Options(); configure(options); var validator = new NullValidator(failRequest, failResponse); var dataProvider = new FakeMockDataProvider(); var clientFactory = new FakeHttpClientFactory(); return(new DefaultRequestHandler(options, validator, validator, dataProvider, clientFactory)); }
public async Task GetPageAsString_WithErrorException_ReturnsEmptyString() { //Arrange var httpClientFactoryMock = FakeHttpClientFactory.GetHttpClientFactoryWithExceptionMock(); var httpDownload = new HttpDownload(httpClientFactoryMock.Object); //Act var pageContent = httpDownload.DownloadPage(_url); await pageContent; //Assert Assert.True(string.IsNullOrWhiteSpace(pageContent.Result)); }
public async Task Test_That_DownloadService_Returns_Null_If_Api_Error() { var httpClientFactory = new FakeHttpClientFactory { ExpectedResponseCode = HttpStatusCode.InternalServerError, ExpectedResponse = "" }; var downloadService = new DownloadService(httpClientFactory); var downloadedFiles = await downloadService.DownloadAsync(new[] { "des moines" }); Assert.AreEqual(1, downloadedFiles.Count()); Assert.IsNull(downloadedFiles.First()); }
public PresentationViewModelTests() { var factory = new FakeHttpClientFactory(); _httpClient = factory.Client; var messageBus = new MessageBus(new MessagingCenter()); _errorHandler = new ErrorHandler(messageBus); var service = new PresentationsService(new FakeConfig(), factory, _errorHandler); _viewModel = new PresentationViewModel(null, service, _errorHandler, messageBus); }
private FakeCaseJobServer() { _factory = new FakeHttpClientFactory(); var serviceCollection = new ServiceCollection(); serviceCollection.AddCaseJobServer(callback: opt => { opt.WSHumanTaskAPI = "http://localhost"; }); serviceCollection.AddSingleton <IHttpClientFactory>(_factory); _serviceProvider = serviceCollection.BuildServiceProvider(); _caseJobServer = _serviceProvider.GetRequiredService <ICaseJobServer>(); _casePlanInstanceQueryRepository = _serviceProvider.GetRequiredService <ICasePlanInstanceQueryRepository>(); }
protected UseCaseTests() { var loggerFactory = new FakeLoggerFactory(); var httpClientFactory = new FakeHttpClientFactory(); HttpClient = httpClientFactory.Client; var configurationFactory = new ConfigurationFactory(); Config = configurationFactory.Create(); _filesContainerMock = new Mock <CloudBlobContainer>(new Uri("https://something.com/files")); _filesContainerMock.Setup(s => s.GetBlockBlobReference(It.IsAny <string>())) .Returns(() => { var mock = CreateMockCloudBlockBlob("idk"); mock.Setup(s => s.ExistsAsync()).ReturnsAsync(false); return(mock.Object); }); var blobClientMock = new Mock <CloudBlobClient>(new Uri("https://something.com")); blobClientMock.Setup(s => s.GetContainerReference("files")).Returns(_filesContainerMock.Object); StorageAccount = new Mock <CloudStorageAccount>(new StorageCredentials("storageaccount", ""), false); StorageAccount.Setup(s => s.CreateCloudBlobClient()).Returns(blobClientMock.Object); var storageAccountFactory = new Mock <IStorageAccountFactory>(); storageAccountFactory.Setup(s => s.Get()).Returns(StorageAccount.Object); _provider = new ServiceCollection() .AddRealTimePresenter(Config) .RemoveAll <ILoggerFactory>() .AddSingleton <ILoggerFactory>(loggerFactory) .RemoveAll <IHttpClientFactory>() .AddSingleton <IHttpClientFactory>(httpClientFactory) .AddSingleton(httpClientFactory) .RemoveAll <IConfiguration>() .AddSingleton(Config) .RemoveAll <IStorageAccountFactory>() .AddSingleton(storageAccountFactory.Object) .BuildServiceProvider(); }
public void KeepTruckinStoreShouldCreateWithKeepTruckinEldProviderParameterObject() { //Arrange var logger = new Mock <ILogger>(); var httpClient = new FakeHttpClientFactory(new FakeHttpMessageHandler()); var store = new KeepTruckinStore(logger.Object, httpClient); var eld = new KeepTruckinEldProvider("api"); //Act var integration = store.CreateIntegration(eld); //Assert Assert.IsNotNull(integration); }
public async Task Allows_Setting_Global_HttpClientFactory() { var factory = new FakeHttpClientFactory(); ShopifyService.SetGlobalHttpClientFactory(factory); var shopService = new ShopService(Utils.MyShopifyUrl, Utils.AccessToken); var orderService = new OrderService(Utils.MyShopifyUrl, Utils.AccessToken); var policy = new LeakyBucketExecutionPolicy(); var orderFilter = new OrderListFilter { Limit = 1 }; shopService.SetExecutionPolicy(policy); orderService.SetExecutionPolicy(policy); var ex1 = await Assert.ThrowsAsync <Exception>(() => shopService.GetAsync()); var ex2 = await Assert.ThrowsAsync <Exception>(() => orderService.ListAsync(orderFilter)); Assert.Equal("This is an exception thrown by the FakeHttpClient", ex1.Message); Assert.Equal("This is an exception thrown by the FakeHttpClient", ex2.Message); // Removing the factory should only remove it for future instances ShopifyService.SetGlobalHttpClientFactory(null); ex1 = await Assert.ThrowsAsync <Exception>(() => shopService.GetAsync()); ex2 = await Assert.ThrowsAsync <Exception>(() => orderService.ListAsync(orderFilter)); Assert.Equal("This is an exception thrown by the FakeHttpClient", ex1.Message); Assert.Equal("This is an exception thrown by the FakeHttpClient", ex2.Message); // Instantiating the services again should now use the default HttpClientFactory shopService = new ShopService(Utils.MyShopifyUrl, Utils.AccessToken); orderService = new OrderService(Utils.MyShopifyUrl, Utils.AccessToken); shopService.SetExecutionPolicy(policy); orderService.SetExecutionPolicy(policy); var shop = await shopService.GetAsync(); var orders = await orderService.ListAsync(orderFilter); Assert.NotNull(shop); Assert.NotNull(orders); }
private FakeCaseJobServer() { _factory = new FakeHttpClientFactory(); var serviceCollection = new ServiceCollection(); serviceCollection.AddLogging(); serviceCollection.AddProcessJobServer(callbackServerOpts: o => { o.WSHumanTaskAPI = "http://localhost"; o.CallbackUrl = "http://localhost/{id}/{eltId}"; }); serviceCollection.AddSingleton <IHttpClientFactory>(_factory); _serviceProvider = serviceCollection.BuildServiceProvider(); _processJobServer = _serviceProvider.GetRequiredService <IProcessJobServer>(); _processInstanceQueryRepository = _serviceProvider.GetRequiredService <IProcessInstanceQueryRepository>(); }
private FakeCaseJobServer() { _factory = new FakeHttpClientFactory(); var serviceCollection = new ServiceCollection(); serviceCollection.AddCaseApi(callback: opt => { opt.WSHumanTaskAPI = "http://localhost"; }); serviceCollection.AddSingleton <IHttpClientFactory>(_factory); serviceCollection.AddMassTransitHostedService(); _serviceProvider = serviceCollection.BuildServiceProvider(); _casePlanInstanceCommandRepository = _serviceProvider.GetRequiredService <ICasePlanInstanceCommandRepository>(); _mediator = _serviceProvider.GetRequiredService <MediatR.IMediator>(); _busControl = _serviceProvider.GetRequiredService <IBusControl>(); }
private FakeCaseJobServer() { _factory = new FakeHttpClientFactory(); var serviceCollection = new ServiceCollection(); serviceCollection.AddLogging(); serviceCollection.AddProcessJobServer(callbackServerOpts: o => { o.WSHumanTaskAPI = "http://localhost"; o.CallbackUrl = "http://localhost/{id}/{eltId}"; }).AddDelegateConfigurations(new ConcurrentBag <DelegateConfigurationAggregate> { DelegateConfigurationAggregate.Create("GetWeatherInformationDelegate", typeof(GetWeatherInformationDelegate).FullName) }); serviceCollection.AddSingleton <IHttpClientFactory>(_factory); _serviceProvider = serviceCollection.BuildServiceProvider(); _processInstanceCommandRepository = _serviceProvider.GetRequiredService <IProcessInstanceCommandRepository>(); _busControl = _serviceProvider.GetRequiredService <IBusControl>(); _mediator = _serviceProvider.GetRequiredService <IMediator>(); }
public async Task Test_That_DownloadService_DownloadsFile_For_City() { var apiResponseJsonFilename = Path.Combine("unit", "JsonFiles", "CompleteApiResponseForCity.json"); var httpClientFactory = new FakeHttpClientFactory { ExpectedResponseCode = HttpStatusCode.OK, ExpectedResponse = await File.ReadAllTextAsync(apiResponseJsonFilename) }; var downloadService = new DownloadService(httpClientFactory); var downloadedFiles = await downloadService.DownloadAsync(new[] { "des moines" }); Assert.AreEqual(1, downloadedFiles.Count()); foreach (var downloadedFile in downloadedFiles) { File.Delete(downloadedFile); } }
public SharedContext() { HttpClientFactory = new FakeHttpClientFactory(); }