private async Task <IGeoIpService> GetResolverAsync(ILoggerFactory loggerFactory) { if (String.IsNullOrEmpty(_options.MaxMindGeoIpKey)) { _logger.LogInformation("Configure {SettingKey} to run geo tests.", nameof(AppOptions.MaxMindGeoIpKey)); return(new NullGeoIpService()); } string dataDirectory = PathHelper.ExpandPath(".\\"); var storage = new FolderFileStorage(new FolderFileStorageOptions { Folder = dataDirectory, LoggerFactory = loggerFactory }); if (!await storage.ExistsAsync(DownloadGeoIPDatabaseJob.GEO_IP_DATABASE_PATH)) { var job = new DownloadGeoIPDatabaseJob(_options, GetService <ICacheClient>(), storage, loggerFactory); var result = await job.RunAsync(); Assert.NotNull(result); Assert.True(result.IsSuccess); } return(new MaxMindGeoIpService(storage, loggerFactory)); }
public GeoTests() { var dataDirectory = PathHelper.ExpandPath(".\\"); var storage = new FolderFileStorage(dataDirectory); if (!storage.ExistsAsync(MindMaxGeoIPResolver.GEO_IP_DATABASE_PATH).Result) { var job = new DownloadGeoIPDatabaseJob(storage).Run(); Assert.NotNull(job); Assert.True(job.IsSuccess); } _resolver = new MindMaxGeoIPResolver(storage); }
private async Task <IGeoIpService> GetResolverAsync(ILoggerFactory loggerFactory) { var dataDirectory = PathHelper.ExpandPath(".\\"); var storage = new FolderFileStorage(dataDirectory); if (!await storage.ExistsAsync(MaxMindGeoIpService.GEO_IP_DATABASE_PATH)) { var job = new DownloadGeoIPDatabaseJob(GetService <ICacheClient>(), storage, loggerFactory); var result = await job.RunAsync(); Assert.NotNull(result); Assert.True(result.IsSuccess); } return(new MaxMindGeoIpService(storage, loggerFactory.CreateLogger <MaxMindGeoIpService>())); }
private static async Task <IGeoIPService> GetResolverAsync() { if (_service != null) { return(_service); } var dataDirectory = PathHelper.ExpandPath(".\\"); var storage = new FolderFileStorage(dataDirectory); if (!await storage.ExistsAsync(MindMaxGeoIPService.GEO_IP_DATABASE_PATH)) { var job = new DownloadGeoIPDatabaseJob(new InMemoryCacheClient(), storage); var result = await job.RunAsync(); Assert.NotNull(result); Assert.True(result.IsSuccess); } return(_service = new MindMaxGeoIPService(storage)); }