示例#1
0
        public LeaseAllocatorTests()
        {
            _mockSlottedInterval = new Mock <ISlottedInterval>();
            _mockTelemetry       = new Mock <IBigBrother>();
            _mockStore           = new Mock <ILeaseStore>();

            _options = new WorkerLeaseOptions
            {
                LeaseInterval = new TimeSpan(0, 2, 0),
                Priority      = 1,
                WorkerType    = "workertype",
                ElectionDelay = TimeSpan.Zero
            };

            _leaseAllocator = new LeaseAllocator(_mockTelemetry.Object, _mockStore.Object, _mockSlottedInterval.Object, Options.Create(_options));
        }
示例#2
0
        public void WorkerLease_WhenInstanceIdNotPresentInOptions_NewInstanceIdIsCreated()
        {
            var options = new WorkerLeaseOptions
            {
                LeaseInterval = new TimeSpan(0, 2, 0),
                Priority      = 1,
                WorkerType    = "workertype"
            };
            var workerLease = new WorkerLease(
                _mockTelemetry.Object,
                _mockLeaseAllocator.Object,
                _mockTimer.Object,
                _mockSlottedInterval.Object,
                Options.Create(options));

            workerLease.InstanceId.Should().NotBeEmpty();
        }
示例#3
0
        public void WorkerLease_WhenInstanceIdIsPresentInOptions_NewInstanceIdIsNotCreated()
        {
            var options = new WorkerLeaseOptions
            {
                LeaseInterval = new TimeSpan(0, 2, 0),
                Priority      = 1,
                WorkerType    = "workertype",
                InstanceId    = new Guid("f167a595-5b18-4d54-ab8a-f14faafb2214")
            };
            var workerLease = new WorkerLease(
                _mockTelemetry.Object,
                _mockLeaseAllocator.Object,
                _mockTimer.Object,
                _mockSlottedInterval.Object,
                Options.Create(options));

            workerLease.InstanceId.ToString().Should().Be("f167a595-5b18-4d54-ab8a-f14faafb2214");
        }
示例#4
0
        private WorkerLease BuildWorkerLeaseWithFixedInstanceId(Guid instanceId)
        {
            var options = new WorkerLeaseOptions
            {
                LeaseInterval = new TimeSpan(0, 2, 0),
                Priority      = 1,
                WorkerType    = "workertype",
                InstanceId    = instanceId
            };

            var workerLease = new WorkerLease(
                _mockTelemetry.Object,
                _mockLeaseAllocator.Object,
                _mockTimer.Object,
                _mockSlottedInterval.Object,
                Options.Create(options));

            return(workerLease);
        }
示例#5
0
        public WorkerLeaseTests()
        {
            _mockLeaseAllocator  = new Mock <ILeaseAllocator>();
            _mockSlottedInterval = new Mock <ISlottedInterval>();
            _mockTelemetry       = new Mock <IBigBrother>();
            _mockTimer           = new Mock <ITimer>();

            _options = new WorkerLeaseOptions
            {
                LeaseInterval = new TimeSpan(0, 2, 0),
                Priority      = 1,
                WorkerType    = "workertype"
            };

            _workerLease = new WorkerLease(
                _mockTelemetry.Object,
                _mockLeaseAllocator.Object,
                _mockTimer.Object,
                _mockSlottedInterval.Object,
                Options.Create(_options));
        }