public void GeoTrackerServerSettings_ConfigDefault() { try { Config.SetConfig(string.Empty); var settings = GeoTrackerServerSettings.LoadConfig("Test"); Assert.AreEqual("logical://LillTek/GeoTracker/Server", settings.ServerEP); Assert.AreEqual("logical://LillTek/GeoTracker/Cluster", settings.ClusterEP); Assert.AreEqual(typeof(DynamicHashedTopology), settings.ClusterTopology); Assert.AreEqual(0, settings.ClusterArgs.Count); Assert.AreEqual(typeof(NullGeoFixArchiver), settings.GeoFixArchiver); Assert.AreEqual(0, settings.GeoFixArchiverArgs.Count); Assert.AreEqual(TimeSpan.FromHours(1), settings.GeoFixRetentionInterval); Assert.AreEqual(TimeSpan.FromMinutes(1), settings.GeoFixPurgeInterval); Assert.AreEqual(30, settings.MaxEntityGeoFixes); Assert.AreEqual(1000, settings.IndexHighWatermarkLimit); Assert.AreEqual(750, settings.IndexLowWatermarkLimit); Assert.AreEqual(2, settings.IndexMaxGroupTableLevel); Assert.AreEqual(TimeSpan.FromMinutes(5), settings.IndexBalancingInterval); Assert.AreEqual(true, settings.IPGeocodeEnabled); Assert.AreEqual(new Uri("http://www.lilltek.com/Config/GeoTracker/IP2City.encrypted.dat"), settings.IPGeocodeSourceUri); Assert.AreEqual(DefRsaKey, settings.IPGeocodeSourceRsaKey); Assert.AreEqual(TimeSpan.FromDays(1), settings.IPGeocodeSourcePollInterval); Assert.AreEqual(TimeSpan.FromMinutes(5), settings.IPGeocodeSourceTimeout); Assert.AreEqual(TimeSpan.FromMinutes(2.5), settings.SweepInterval); Assert.AreEqual(TimeSpan.FromSeconds(1), settings.BkInterval); } finally { Config.SetConfig(null); } }
private void TestInit(string appConfig) { Config.SetConfig((RouterConfig + appConfig).Replace('&', '#')); router = new LeafRouter(); router.Start(); client = new GeoTrackerClient(router, null); var serverSettings = GeoTrackerServerSettings.LoadConfig("LillTek.GeoTracker.Server"); serverSettings.IPGeocodeEnabled = false; server = new GeoTrackerNode(); server.Start(router, serverSettings, null, null); }
public void GeoTrackerServerSettings_ConfigSettings() { string cfg = @" §ion Test ServerEP = logical://test/server ClusterEP = logical://test/cluster ClusterTopology = LillTek.Messaging.Dynamic2DTopology:LillTek.Messaging.dll ClusterArgs = {{ test1 = 1 test2 = 2 }} GeoFixArchiver = LillTek.GeoTracker.Server.AppLogGeoFixArchiver:LillTek.GeoTracker.Server.dll GeoFixArchiverArgs = {{ Test = Foo Hello = World }} GeoFixRetentionInterval = 2h GeoFixPurgeInterval = 7m MaxEntityGeoFixes = 100 LongitudeIndexResolution = 0.25 IndexHighWatermarkLimit = 2000 IndexLowWatermarkLimit = 1500 IndexMaxGroupTableLevel = 3 IndexBalancingInterval = 1m IPGeocodeEnabled = no IPGeocodeSourceUri = http://www.google.com IPGeocodeSourceRsaKey = <RSAKeyValue><Modulus>trZSBdVGPcfVlaQrKK7nVAmMqu65eKLKoQuAujN8fd3OCZlkayn1Cil6SInwLS9sHIHG1QXgHT+d/M3bQybaeE0kU5SMQQIXi2Z41EHaVcaXU3Pw81v2ybFkVf8eQPTmuxESyw85BymVkre5rSZiRlk7nlZQN812z36mv6ByNYE=</Modulus><Exponent>AQAB</Exponent><P>2KQogNyfS5KEVh93Fsp/b7lovUfZvxkfBH5cdOhX8S43eLVZV8hV1I54B8FWoiA7RIHq/52WWS8E5TzI5ntZ7Q==</P><Q>1+gk6cHptG/aWfmVsRd7ZvnoZiWHPTijnoRtaO3ynAgb1Vn8VehqQBbunN6EqKV2/Qnt5flE/+aY98MBJFNHZQ==</Q><DP>rgPeTPPqOGfuSMdpfzMU/gcuLKwkKa3iDlf5qCZhTWdUQ29X3n0bBGuT2pbgIcZGFRdOThilBeoQwpn6vbfjWQ==</DP><DQ>DLujGaoW9041aWL/wf7phywr2YJTFHg3pgyXSz3lNfCAe7ef2w0m3vq7PcMdvbhsaQXh4tMtj43w7YOxmIvUxQ==</DQ><InverseQ>V1tegYUSKG89LsK44zaGKWAYAyygNimBkgLgxs92asWb6LVzA/iP1R1WEELb4VOKj7h0KLk7kY0sZxC/gC2Ybg==</InverseQ><D>VpQ4c9knKrlZ5UngxatzpKfNx2XN73M8j2mS+yjQkhgbvQK5yeoc2k7jSiJK9C5njW6VmHXrSBDQPW4Su1Ra6x+zDiCqK6qY/BIDetO6MuU/5zTd0+uMmLZg1PUkU4e42MJZDjNET2KFmG0IrB/jp2099lI/E6d2Mv2FzxO0atE=</D></RSAKeyValue> IPGeocodeSourcePollInterval = 1h IPGeocodeSourceTimeout = 10m SweepInterval = 5m BkInterval = 30s &endsection "; try { Config.SetConfig(cfg.Replace('&', '#')); var settings = GeoTrackerServerSettings.LoadConfig("Test"); Assert.AreEqual("logical://test/server", settings.ServerEP); Assert.AreEqual("logical://test/cluster", settings.ClusterEP); Assert.AreEqual("LillTek.Messaging.Dynamic2DTopology", settings.ClusterTopology.FullName); Assert.AreEqual(2, settings.ClusterArgs.Count); Assert.AreEqual("1", settings.ClusterArgs["test1"]); Assert.AreEqual("2", settings.ClusterArgs["test2"]); Assert.AreEqual("LillTek.GeoTracker.Server.AppLogGeoFixArchiver", settings.GeoFixArchiver.FullName); Assert.AreEqual(2, settings.GeoFixArchiverArgs.Count); Assert.AreEqual("Foo", settings.GeoFixArchiverArgs["Test"]); Assert.AreEqual("World", settings.GeoFixArchiverArgs["Hello"]); Assert.AreEqual(TimeSpan.FromHours(2), settings.GeoFixRetentionInterval); Assert.AreEqual(TimeSpan.FromMinutes(7), settings.GeoFixPurgeInterval); Assert.AreEqual(100, settings.MaxEntityGeoFixes); Assert.AreEqual(2000, settings.IndexHighWatermarkLimit); Assert.AreEqual(1500, settings.IndexLowWatermarkLimit); Assert.AreEqual(3, settings.IndexMaxGroupTableLevel); Assert.AreEqual(TimeSpan.FromMinutes(1), settings.IndexBalancingInterval); Assert.AreEqual(false, settings.IPGeocodeEnabled); Assert.AreEqual(new Uri("http://www.google.com"), settings.IPGeocodeSourceUri); Assert.AreEqual("<RSAKeyValue><Modulus>trZSBdVGPcfVlaQrKK7nVAmMqu65eKLKoQuAujN8fd3OCZlkayn1Cil6SInwLS9sHIHG1QXgHT+d/M3bQybaeE0kU5SMQQIXi2Z41EHaVcaXU3Pw81v2ybFkVf8eQPTmuxESyw85BymVkre5rSZiRlk7nlZQN812z36mv6ByNYE=</Modulus><Exponent>AQAB</Exponent><P>2KQogNyfS5KEVh93Fsp/b7lovUfZvxkfBH5cdOhX8S43eLVZV8hV1I54B8FWoiA7RIHq/52WWS8E5TzI5ntZ7Q==</P><Q>1+gk6cHptG/aWfmVsRd7ZvnoZiWHPTijnoRtaO3ynAgb1Vn8VehqQBbunN6EqKV2/Qnt5flE/+aY98MBJFNHZQ==</Q><DP>rgPeTPPqOGfuSMdpfzMU/gcuLKwkKa3iDlf5qCZhTWdUQ29X3n0bBGuT2pbgIcZGFRdOThilBeoQwpn6vbfjWQ==</DP><DQ>DLujGaoW9041aWL/wf7phywr2YJTFHg3pgyXSz3lNfCAe7ef2w0m3vq7PcMdvbhsaQXh4tMtj43w7YOxmIvUxQ==</DQ><InverseQ>V1tegYUSKG89LsK44zaGKWAYAyygNimBkgLgxs92asWb6LVzA/iP1R1WEELb4VOKj7h0KLk7kY0sZxC/gC2Ybg==</InverseQ><D>VpQ4c9knKrlZ5UngxatzpKfNx2XN73M8j2mS+yjQkhgbvQK5yeoc2k7jSiJK9C5njW6VmHXrSBDQPW4Su1Ra6x+zDiCqK6qY/BIDetO6MuU/5zTd0+uMmLZg1PUkU4e42MJZDjNET2KFmG0IrB/jp2099lI/E6d2Mv2FzxO0atE=</D></RSAKeyValue>", settings.IPGeocodeSourceRsaKey); Assert.AreEqual(TimeSpan.FromHours(1), settings.IPGeocodeSourcePollInterval); Assert.AreEqual(TimeSpan.FromMinutes(10), settings.IPGeocodeSourceTimeout); Assert.AreEqual(TimeSpan.FromMinutes(5), settings.SweepInterval); Assert.AreEqual(TimeSpan.FromSeconds(30), settings.BkInterval); } finally { Config.SetConfig(null); } }