public void guard_against_invalid_health_check_times(int seconds)
        {
            var healthCheckEvery = TimeSpan.FromSeconds(seconds);

            var builder = new LeaseConfigurationBuilder(NodeId);

            Assert.Throws <ArgumentOutOfRangeException>(() => builder.AquireLeaseEvery(healthCheckEvery));
        }
        public void guard_against_invalid_lease_renewal_times(int seconds)
        {
            var leaseUpdate = TimeSpan.FromSeconds(seconds);

            var builder = new LeaseConfigurationBuilder(NodeId);

            Assert.Throws <ArgumentOutOfRangeException>(() => builder.RenewLeaseEvery(leaseUpdate));
        }
        public void prevent_a_lease_from_being_aquired_more_frequently_than_it_is_renewed(int aquireEveryDays)
        {
            var builder = new LeaseConfigurationBuilder(NodeId);

            builder.RenewLeaseEvery(TimeSpan.FromDays(2));
            builder.AquireLeaseEvery(TimeSpan.FromDays(aquireEveryDays));

            Assert.Throws <HostConfigurationException>(() => builder.Build());
        }
        public void register_the_lease_manager_with_the_builder()
        {
            var builder = new LeaseConfigurationBuilder("Node1");

            builder.WithAzureBlobStorageLeaseManager(new BlobSettings(CloudStorageAccount.DevelopmentStorageAccount));
            var built = builder.Build();

            Assert.IsType <AzureBlobLeaseManager>(built.LeaseManager(built));
        }
        public void use_the_aquire_lease_time_that_is_provided()
        {
            var healthCheckEvery = TimeSpan.FromDays(1);

            var builder = new LeaseConfigurationBuilder(NodeId);

            builder.AquireLeaseEvery(healthCheckEvery);

            Assert.Equal(healthCheckEvery, builder.Build().LeaseCriteria.AquireLeaseEvery);
        }
        public void use_the_lease_manager_that_is_provided()
        {
            var fakeManager = A.Fake <ILeaseManager>();
            var builder     = new LeaseConfigurationBuilder(NodeId);

            builder.WithLeaseManager(configuration => fakeManager);
            var config = builder.Build();

            Assert.Same(fakeManager, config.LeaseManager(config));
        }
        public void use_the_lease_calculator_that_is_provided()
        {
            var fakeCalculator = A.Fake <ILeaseLengthCalculator>();
            var builder        = new LeaseConfigurationBuilder(NodeId);

            builder.LeaseLength(() => fakeCalculator);
            var config = builder.Build();

            Assert.Same(fakeCalculator, config.LeaseLengthCalculator);
        }
Ejemplo n.º 8
0
 public static void WithAzureBlobStorageLeaseManager(this LeaseConfigurationBuilder builder, BlobSettings settings)
 {
     builder.WithLeaseManager(lc =>
     {
         var validator   = new AzureBlobLeaseLengthValidator();
         var leaseLength = lc.LeaseLengthCalculator.Calculate();
         validator.Validate(leaseLength);
         return(new AzureBlobLeaseManager(settings, leaseLength));
     });
 }
        public void use_the_lease_renewal_time_that_is_provided()
        {
            var leaseUpdate = TimeSpan.FromDays(1);

            var builder = new LeaseConfigurationBuilder(NodeId);

            builder.RenewLeaseEvery(leaseUpdate);
            builder.AquireLeaseEvery(TimeSpan.FromDays(2));

            Assert.Equal(leaseUpdate, builder.Build().LeaseCriteria.RenewLeaseEvery);
        }
 public static LeaseConfigurationBuilder WithInMemoryLeaseManager(this LeaseConfigurationBuilder builder)
 {
     return(builder.WithLeaseManager(lc => new InMemoryLeaseManager(lc.NodeId)));
 }