public void LeaseProvider_must_throw_if_missing_lease_class_config() { Assert.Throws <ArgumentException>(() => { LeaseProvider.Get(Sys).GetLease("x", "lease-missing", "owner1"); }).Message.Should().Contain("lease-class must not be empty"); }
private TimeoutSettings Conf(string overrides) { var c = ConfigurationFactory.ParseString(overrides) .WithFallback(LeaseProvider.DefaultConfig()); return(TimeoutSettings.Create(c)); }
public void LeaseProvider_must_throw_if_unknown_lease_class_config() { Assert.Throws <TypeLoadException>(() => { LeaseProvider.Get(Sys).GetLease("x", "lease-unknown", "owner1"); }); }
public void LeaseProvider_must_return_different_instance_for_different_ownerName() { var leaseA1 = LeaseProvider.Get(Sys).GetLease("a4", "lease-a", "owner1"); var leaseA2 = LeaseProvider.Get(Sys).GetLease("a4", "lease-a", "owner2"); leaseA1.Should().NotBeSameAs(leaseA2); }
public void LeaseProvider_must_return_same_instance_for_same_leaseName_configPath_and_owner() { var leaseA1 = LeaseProvider.Get(Sys).GetLease("a2", "lease-a", "owner1"); var leaseA2 = LeaseProvider.Get(Sys).GetLease("a2", "lease-a", "owner1"); leaseA1.Should().BeSameAs(leaseA2); }
public void LeaseProvider_must_load_defaults_for_timeouts_if_not_specified() { var defaults = LeaseProvider.Get(Sys).GetLease("a", "lease-fallback-to-defaults", "owner1"); defaults.Settings.TimeoutSettings.OperationTimeout.ShouldBe(TimeSpan.FromSeconds(5)); defaults.Settings.TimeoutSettings.HeartbeatTimeout.ShouldBe(TimeSpan.FromSeconds(120)); defaults.Settings.TimeoutSettings.HeartbeatInterval.ShouldBe(TimeSpan.FromSeconds(12)); }
public void LeaseProvider_must_throw_if_missing_lease_class_constructor() { EventFilter.Exception <MissingMethodException>(contains: "Invalid lease configuration for leaseName").ExpectOne(() => { Assert.Throws <MissingMethodException>(() => { LeaseProvider.Get(Sys).GetLease("x", "lease-missing-constructor", "owner1"); }); }); }
public void LeaseProvider_must_load_lease_implementation() { var leaseA = LeaseProvider.Get(Sys).GetLease("a", "lease-a", "owner1"); leaseA.Should().BeOfType <LeaseA>(); leaseA.Settings.LeaseName.ShouldBe("a"); leaseA.Settings.OwnerName.ShouldBe("owner1"); leaseA.Settings.LeaseConfig.GetString("key1").ShouldBe("value1"); leaseA.Settings.TimeoutSettings.HeartbeatTimeout.ShouldBe(TimeSpan.FromSeconds(100)); leaseA.Settings.TimeoutSettings.HeartbeatInterval.ShouldBe(TimeSpan.FromSeconds(1)); leaseA.Settings.TimeoutSettings.OperationTimeout.ShouldBe(TimeSpan.FromSeconds(2)); var leaseB = LeaseProvider.Get(Sys).GetLease("b", "lease-b", "owner2"); leaseB.Should().BeOfType <LeaseB>(); leaseB.Settings.LeaseName.ShouldBe("b"); leaseB.Settings.OwnerName.ShouldBe("owner2"); leaseB.Settings.LeaseConfig.GetString("key2").ShouldBe("value2"); }
private IRendezvousService Build() { var logger = resolver.Resolve <ILogger>(); var applicationConfig = resolver.Resolve <RendezvousServiceConfiguration>(); var socketFactory = new SocketFactory(applicationConfig.Socket); var synodConfigProvider = new SynodConfigurationProvider(applicationConfig.Synod); #if NET47 var instanceNameResolver = resolver.Resolve <IInstanceNameResolver>() ?? new InstanceNameResolver(); var performanceCounterManager = new PerformanceCounterManager <KinoPerformanceCounters>(instanceNameResolver, logger); #else var performanceCounterManager = default(IPerformanceCounterManager <KinoPerformanceCounters>); #endif var intercomMessageHub = new IntercomMessageHub(socketFactory, synodConfigProvider, performanceCounterManager, logger); var ballotGenerator = new BallotGenerator(applicationConfig.Lease); var roundBasedRegister = new RoundBasedRegister(intercomMessageHub, ballotGenerator, synodConfigProvider, applicationConfig.Lease, logger); var leaseProvider = new LeaseProvider(roundBasedRegister, ballotGenerator, applicationConfig.Lease, synodConfigProvider, logger); var serializer = new ProtobufMessageSerializer(); var configProvider = new RendezvousConfigurationProvider(applicationConfig.Rendezvous); var service = new RendezvousService(leaseProvider, synodConfigProvider, socketFactory, serializer, configProvider, performanceCounterManager, logger); return(service); }
public TestLeaseExt(ExtendedActorSystem system) { _system = system; _system.Settings.InjectTopLevelFallback(LeaseProvider.DefaultConfig()); }