public void When_deleting_item_in_cache_with_time_when_item_do_not_exists_should_not_block_add_operations()
        {
            var stream  = new MemoryStream();
            var command = new DeleteCommand();

            command.SetContext(stream);
            command.Init("foo2", "500");

            command.FinishedExecuting += () => wait.Set();
            command.Execute();
            wait.WaitOne();

            Assert.AreEqual("NOT_FOUND\r\n", ReadAll(stream));

            wait.Reset();

            var buffer = new byte[] { 1, 2, 3, 4 };

            stream = GetStreamWithData(buffer);
            var addCommand = new AddCommand();

            addCommand.SetContext(stream);
            addCommand.Init("foo2", "1", "6000", "4");

            addCommand.FinishedExecuting += () => wait.Set();
            addCommand.Execute();
            wait.WaitOne();

            Assert.AreEqual("STORED\r\n", ReadAll(6, stream));
        }
Beispiel #2
0
        private MemoryStream AddItem()
        {
            wait.Reset();

            var          buffer  = new byte[] { 1, 2, 3, 4 };
            MemoryStream stream  = GetStreamWithData(buffer);
            var          command = new AddCommand();

            command.SetContext(stream);
            command.Init("foo", "1", "6000", "4");

            command.FinishedExecuting += () => { wait.Set(); };
            command.Execute();
            wait.WaitOne();
            return(stream);
        }
Beispiel #3
0
        public void When_adding_item_will_put_it_in_cache()
        {
            var buffer  = new byte[] { 1, 2, 3, 4 };
            var command = new AddCommand();

            command.SetContext(GetStreamWithData(buffer));
            command.Init("foo", "13", "6000", "4");

            command.FinishedExecuting += () => { wait.Set(); };
            command.Execute();
            wait.WaitOne();

            var cachedItem = (CachedItem)Cache.Get("foo");

            Assert.IsNotNull(cachedItem);
            CollectionAssert.AreEqual(buffer, cachedItem.Buffer);
            Assert.AreEqual(13, cachedItem.Flags);
        }