Esempio n. 1
0
        public void SetExpiryThenGet()
        {
            var storageBuilder = new StoreRequestBuilder("set", "key", "value");

            storageBuilder.WithExpiry(100);

            Dispatch(storageBuilder.ToAsciiRequest());

            var getBuilder = new GetRequestBuilder("get", "key");
            var response   = Dispatch(getBuilder.ToAsciiRequest());

            Assert.AreEqual("VALUE key 0 5\r\nvalue\r\nEND\r\n", response.ToAsciiString());
        }
Esempio n. 2
0
        public void TouchOk()
        {
            var storageBuilder = new StoreRequestBuilder("set", "key", "value");

            storageBuilder.WithExpiry(100);
            Dispatch(storageBuilder.ToAsciiRequest());

            var touchBuilder = new TouchRequestBuilder("key");

            touchBuilder.WithExpiry(1);
            var response = Dispatch(touchBuilder.ToAsciiRequest());

            Assert.AreEqual("OK\r\n", response.ToAsciiString());
        }
Esempio n. 3
0
        public void SetExpiryThenGetGone()
        {
            var storageBuilder = new StoreRequestBuilder("set", "key", "value");

            storageBuilder.WithExpiry(1);

            Dispatch(storageBuilder.ToAsciiRequest());

            _testScheduler.AdvanceBy(TimeSpan.FromSeconds(2).Ticks);

            var getBuilder = new GetRequestBuilder("get", "key");
            var response   = Dispatch(getBuilder.ToAsciiRequest());

            Assert.AreEqual("END\r\n", response.ToAsciiString());
        }
Esempio n. 4
0
        public void AbsoluteLongExpiry()
        {
            var unixEpoc = new DateTime(1970, 1, 1);

            _testScheduler.AdvanceBy((unixEpoc - _testScheduler.Now).Ticks); // Advance to the start of unix time
            TimeSpan span     = (new DateTime(1970, 6, 1) - unixEpoc);
            var      unixTime = (int)span.TotalSeconds;

            var storageBuilder = new StoreRequestBuilder("set", "key", "value");

            storageBuilder.WithExpiry(unixTime);

            Dispatch(storageBuilder.ToAsciiRequest());

            _testScheduler.AdvanceBy(TimeSpan.FromDays(200).Ticks);

            var getBuilder = new GetRequestBuilder("get", "key");
            var response   = Dispatch(getBuilder.ToAsciiRequest());

            Assert.AreEqual("END\r\n", response.ToAsciiString());
        }