public async Task Download_HttpClientHelper_Download() { var fakeHttpMessageHandler = new FakeHttpMessageHandler(); var httpClient = new HttpClient(fakeHttpMessageHandler); var httpProvider = new HttpProvider(httpClient); var services = new ServiceCollection(); services.AddSingleton <IStorage, FakeIStorage>(); services.AddSingleton <ISelectorStorage, FakeSelectorStorage>(); var serviceProvider = services.BuildServiceProvider(); var scopeFactory = serviceProvider.GetRequiredService <IServiceScopeFactory>(); var storageProvider = serviceProvider.GetRequiredService <IStorage>(); var httpClientHelper = new HttpClientHelper(httpProvider, scopeFactory, new FakeIWebLogger()); // there is an file written var path = Path.Combine(new CreateAnImage().BasePath, "file.txt"); var output = await httpClientHelper.Download("https://qdraw.nl/test", path); Assert.AreEqual(true, output); Assert.AreEqual(FolderOrFileModel.FolderOrFileTypeList.File, storageProvider.IsFolderOrFile(path)); storageProvider.FileDelete(path); }
public async Task Download_HttpClientHelper_Download_HttpRequestException() { // > next HttpRequestException var fakeHttpMessageHandler = new FakeHttpMessageHandler(new HttpRequestException("should fail")); var httpClient = new HttpClient(fakeHttpMessageHandler); var httpProvider = new HttpProvider(httpClient); var services = new ServiceCollection(); services.AddSingleton <IStorage, FakeIStorage>(); services.AddSingleton <ISelectorStorage, FakeSelectorStorage>(); var serviceProvider = services.BuildServiceProvider(); var scopeFactory = serviceProvider.GetRequiredService <IServiceScopeFactory>(); var httpClientHelper = new HttpClientHelper(httpProvider, scopeFactory, new FakeIWebLogger()); var output = await httpClientHelper.Download("https://qdraw.nl/test", "/sdkflndf"); Assert.IsFalse(output); }
public async Task Download_HttpClientHelper_HTTP_Not_Download() { var fakeHttpMessageHandler = new FakeHttpMessageHandler(); var httpClient = new HttpClient(fakeHttpMessageHandler); var httpProvider = new HttpProvider(httpClient); var services = new ServiceCollection(); services.AddSingleton <IStorage, FakeIStorage>(); services.AddSingleton <ISelectorStorage, FakeSelectorStorage>(); var serviceProvider = services.BuildServiceProvider(); var scopeFactory = serviceProvider.GetRequiredService <IServiceScopeFactory>(); var httpClientHelper = new HttpClientHelper(httpProvider, scopeFactory, new FakeIWebLogger()); // http is not used anymore var path = Path.Combine(new AppSettings().TempFolder, "pathToNOTdownload.txt"); var output = await httpClientHelper.Download("http://qdraw.nl", path); Assert.AreEqual(false, output); }
public async Task Download_HttpClientHelper_404NotFoundTest() { var fakeHttpMessageHandler = new FakeHttpMessageHandler(); var httpClient = new HttpClient(fakeHttpMessageHandler); var httpProvider = new HttpProvider(httpClient); var services = new ServiceCollection(); services.AddSingleton <IStorage, FakeIStorage>(); services.AddSingleton <ISelectorStorage, FakeSelectorStorage>(); var serviceProvider = services.BuildServiceProvider(); var scopeFactory = serviceProvider.GetRequiredService <IServiceScopeFactory>(); var httpClientHelper = new HttpClientHelper(httpProvider, scopeFactory, new FakeIWebLogger()); // there is an file written var path = Path.Combine(new CreateAnImage().BasePath, "file.txt"); var output = await httpClientHelper.Download("https://download.geonames.org/404", path); Assert.AreEqual(false, output); }
public async Task Download_HttpClientHelperBadDomainDownload() { var fakeHttpMessageHandler = new FakeHttpMessageHandler(); var httpClient = new HttpClient(fakeHttpMessageHandler); var httpProvider = new HttpProvider(httpClient); var services = new ServiceCollection(); services.AddSingleton <IStorage, FakeIStorage>(); services.AddSingleton <ISelectorStorage, FakeSelectorStorage>(); var serviceProvider = services.BuildServiceProvider(); var storageProvider = serviceProvider.GetRequiredService <IStorage>(); var scopeFactory = serviceProvider.GetRequiredService <IServiceScopeFactory>(); var httpClientHelper = new HttpClientHelper(httpProvider, scopeFactory, new FakeIWebLogger()); // use only whitelisted domains var path = Path.Combine(new AppSettings().TempFolder, "pathToNOTdownload.txt"); var output = await httpClientHelper.Download("http://mybadurl.cn", path); Assert.AreEqual(false, output); }