Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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>()));
        }
Exemplo n.º 4
0
        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));
        }