set('services.geoip.city_db', '/nope/city.mmdb'); config()->set('services.geoip.asn_db', '/nope/asn.mmdb'); $res = (new GeoResolver())->lookup('8.8.8.8'); expect($res)->toMatchArray([ 'city' => null, 'region' => null, 'asn_org' => null, 'is_datacenter' => false, ]); }); test('организация-хостинг помечается как дата-центр/VPN', function () { expect(GeoResolver::looksLikeDatacenter('Tencent Cloud Computing'))->toBeTrue(); expect(GeoResolver::looksLikeDatacenter('DigitalOcean, LLC'))->toBeTrue(); expect(GeoResolver::looksLikeDatacenter('NordVPN'))->toBeTrue(); expect(GeoResolver::looksLikeDatacenter('Tele2 Russia'))->toBeFalse(); expect(GeoResolver::looksLikeDatacenter('Rostelecom'))->toBeFalse(); expect(GeoResolver::looksLikeDatacenter(null))->toBeFalse(); });