Exemple #1
0
        public void DisposeTest()
        {
            var instances = MemInstances(3);
            var l         = new Redlock("r", "n", Ttl, _now, instances.ToInstances(), _log);

            Lock("r", "n", instances);

            l.Dispose();

            Assert.All(instances, i => Assert.False(i.Contains("r", "n")));
        }
Exemple #2
0
        public void Dispose_ExceptionsOnUnlock()
        {
            var mem = MemInstances(3);
            var err = ErrInstances(2);
            var l   = new Redlock("r", "n", Ttl, _now, TestRedlock.Instances(mem, err), _log);

            Lock("r", "n", mem);

            l.Dispose();

            Assert.All(mem, i => Assert.False(i.Contains("r", "n")));
            var errorLogs = _log.Logs.Where(x => x.LogLevel == LogLevel.Error).ToArray();

            Assert.Equal(2, errorLogs.Length);
            Assert.Contains(errorLogs, e => e.Exception == err[0].UnlockException);
            Assert.Contains(errorLogs, e => e.Exception == err[1].UnlockException);
        }