Example #1
0
        public async Task AcquireLockAsyncTwiceThrowsTimeoutTest()
        {
            var cacheClient = new InMemoryCacheClient(new ProtobufSerializer());
            var tokenSource = new CancellationTokenSource();

            var testLock = await cacheClient.AcquireLockAsync(
                "test:acquire:multiple", tokenSource.Token);

            tokenSource.CancelAfter(1000);
            await Assert.ThrowsAnyAsync <OperationCanceledException>(
                () => cacheClient.AcquireLockAsync(
                    "test:acquire:multiple", tokenSource.Token)
                .AsTask());

            await testLock.ReleaseAsync();

            Assert.Null(await cacheClient.GetAsync <string>("test:acquire:multiple"));
        }
Example #2
0
        public async Task AcquireLockAsyncTest()
        {
            var cacheClient = new InMemoryCacheClient(new ProtobufSerializer());
            var tokenSource = new CancellationTokenSource();

            var testLock = await cacheClient.AcquireLockAsync("test:InMemory:acquire", tokenSource.Token);

            Assert.Equal(1, await cacheClient.GetAsync <int>("test:InMemory:acquire"));

            await testLock.ReleaseAsync();

            Assert.Null(await cacheClient.GetAsync <string>("test:InMemory:acquire"));
        }