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()); }
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()); }
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()); }
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()); }