Beispiel #1
0
        public async Task ICanLockForMoreThan30Seconds()
        {
            var locker = new AzureLockStore(
                new BlobSource()
            {
                ContainerName    = ContainerName,
                ConnectionString = ConnectionString,
                Path             = "this/is/great/"
            });

            var resource = Guid.NewGuid().ToString();
            var token    = new LockToken(resource);

            var canLock = await locker.TryLockAsync(token, 0, timeoutMilliseconds : 120 *1000);

            Assert.True(canLock);

            var newtoken = new LockToken(resource);

            Thread.Sleep(115 * 1000);
            var canDoubleLock = await locker.TryLockAsync(newtoken,
                                                          1, 100);

            await locker.ReleaseLockAsync(token);

            Assert.False(canDoubleLock);
        }
        public void TwoCannotLockAtTheSameTime()
        {
            var resource = Guid.NewGuid().ToString();
            var token    = new LockToken(resource);

            var canLock = _locker.TryLockAsync(token).Result;

            Assert.True(canLock);

            var newtoken = new LockToken(resource);

            var canDoubleLock = _locker.TryLockAsync(newtoken,
                                                     1, 100).Result;

            Assert.False(canDoubleLock);
        }
Beispiel #3
0
        public async Task TwoCannotLockAtTheSameTime()
        {
            OpenConnection();
            var resource = Guid.NewGuid().ToString();
            var token    = new LockToken(resource);

            var canLock = await _locker.TryLockAsync(token);

            Assert.True(canLock);

            var newtoken = new LockToken(resource);

            var canDoubleLock = await _locker.TryLockAsync(newtoken,
                                                           1, 100);

            Assert.False(canDoubleLock);
        }
Beispiel #4
0
        public void TwoCannotLockAtTheSameTime()
        {
            var locker = new AzureLockStore(
                new BlobSource()
                {
                    ContainerName = "band25",
                    ConnectionString = ConnectionString,
                    Path = "this/is/great/"
                });

            var resource = Guid.NewGuid().ToString();
            var token = new LockToken(resource);

            var canLock = locker.TryLockAsync(token).Result;
            Assert.True(canLock);

            var newtoken = new LockToken(resource);

            var canDoubleLock = locker.TryLockAsync(newtoken,
                1, 100).Result;

            Assert.False(canDoubleLock);
        }
Beispiel #5
0
        public void TwoCannotLockAtTheSameTime()
        {
            var locker = new AzureLockStore(
                new BlobSource()
            {
                ContainerName    = "band25",
                ConnectionString = ConnectionString,
                Path             = "this/is/great/"
            });

            var resource = Guid.NewGuid().ToString();
            var token    = new LockToken(resource);

            var canLock = locker.TryLockAsync(token).Result;

            Assert.True(canLock);

            var newtoken = new LockToken(resource);

            var canDoubleLock = locker.TryLockAsync(newtoken,
                                                    1, 100).Result;

            Assert.False(canDoubleLock);
        }