Skip to content

Commit b811d7c

Browse files
committed
Added Memcached unit tests by @softwx from ServiceStack/ServiceStack#334
1 parent e846627 commit b811d7c

2 files changed

Lines changed: 366 additions & 126 deletions

File tree

Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
using System;
2+
using NUnit.Framework;
3+
using ServiceStack.CacheAccess.Providers;
4+
5+
namespace ServiceStack.CacheAccess.Memcached.Tests
6+
{
7+
[TestFixture]
8+
public class MemoryCacheClientTests
9+
{
10+
MemoryCacheClient cache;
11+
12+
[TestFixtureSetUp]
13+
public void TestFixtureSetUp()
14+
{
15+
cache = new MemoryCacheClient();
16+
}
17+
18+
[TestFixtureTearDown]
19+
public void TestFixtureTearDown()
20+
{
21+
cache.Dispose();
22+
cache = null;
23+
}
24+
25+
[Test]
26+
public void Get_before_Add_local_DateTime_expires()
27+
{
28+
cache.FlushAll();
29+
string key = "a";
30+
string value = "aValue";
31+
cache.Add(key, value, DateTime.Now.AddMilliseconds(200));
32+
var retVal = cache.Get(key);
33+
Assert.That(retVal, Is.SameAs(value));
34+
}
35+
36+
[Test]
37+
public void Get_after_Add_local_DateTime_expires()
38+
{
39+
cache.FlushAll();
40+
string key = "a";
41+
string value = "aValue";
42+
cache.Add(key, value, DateTime.Now.AddMilliseconds(200));
43+
System.Threading.Thread.Sleep(250);
44+
var retVal = cache.Get(key);
45+
Assert.That(retVal, Is.Null);
46+
}
47+
48+
49+
[Test]
50+
public void Get_before_Add_utc_DateTime_expires()
51+
{
52+
cache.FlushAll();
53+
string key = "a";
54+
string value = "aValue";
55+
cache.Add(key, value, DateTime.UtcNow.AddMilliseconds(200));
56+
var retVal = cache.Get(key);
57+
Assert.That(retVal, Is.SameAs(value));
58+
}
59+
60+
[Test]
61+
public void Get_after_Add_utc_DateTime_expires()
62+
{
63+
cache.FlushAll();
64+
string key = "a";
65+
string value = "aValue";
66+
cache.Add(key, value, DateTime.UtcNow.AddMilliseconds(200));
67+
System.Threading.Thread.Sleep(250);
68+
var retVal = cache.Get(key);
69+
Assert.That(retVal, Is.Null);
70+
}
71+
72+
[Test]
73+
public void Get_before_Add_TimeSpan_expires()
74+
{
75+
cache.FlushAll();
76+
string key = "a";
77+
string value = "aValue";
78+
cache.Add(key, value, TimeSpan.FromMilliseconds(200));
79+
var retVal = cache.Get(key);
80+
Assert.That(retVal, Is.SameAs(value));
81+
}
82+
83+
[Test]
84+
public void Get_after_Add_TimeSpan_expires()
85+
{
86+
cache.FlushAll();
87+
string key = "a";
88+
string value = "aValue";
89+
cache.Add(key, value, TimeSpan.FromMilliseconds(200));
90+
System.Threading.Thread.Sleep(250);
91+
var retVal = cache.Get(key);
92+
Assert.That(retVal, Is.Null);
93+
}
94+
95+
[Test]
96+
public void Get_before_Set_local_DateTime_expires()
97+
{
98+
cache.FlushAll();
99+
string key = "a";
100+
string value = "aValue";
101+
cache.Set(key, value, DateTime.Now.AddMilliseconds(200));
102+
var retVal = cache.Get(key);
103+
Assert.That(retVal, Is.SameAs(value));
104+
}
105+
106+
[Test]
107+
public void Get_after_Set_local_DateTime_expires()
108+
{
109+
cache.FlushAll();
110+
string key = "a";
111+
string value = "aValue";
112+
cache.Set(key, value, DateTime.Now.AddMilliseconds(200));
113+
System.Threading.Thread.Sleep(250);
114+
var retVal = cache.Get(key);
115+
Assert.That(retVal, Is.Null);
116+
}
117+
118+
[Test]
119+
public void Get_before_Set_utc_DateTime_expires()
120+
{
121+
cache.FlushAll();
122+
string key = "a";
123+
string value = "aValue";
124+
cache.Set(key, value, DateTime.UtcNow.AddMilliseconds(200));
125+
var retVal = cache.Get(key);
126+
Assert.That(retVal, Is.SameAs(value));
127+
}
128+
129+
[Test]
130+
public void Get_after_Set_utc_DateTime_expires()
131+
{
132+
cache.FlushAll();
133+
string key = "a";
134+
string value = "aValue";
135+
cache.Set(key, value, DateTime.UtcNow.AddMilliseconds(200));
136+
System.Threading.Thread.Sleep(250);
137+
var retVal = cache.Get(key);
138+
Assert.That(retVal, Is.Null);
139+
}
140+
141+
[Test]
142+
public void Get_before_Set_TimeSpan_expires()
143+
{
144+
cache.FlushAll();
145+
string key = "a";
146+
string value = "aValue";
147+
cache.Set(key, value, TimeSpan.FromMilliseconds(200));
148+
var retVal = cache.Get(key);
149+
Assert.That(retVal, Is.SameAs(value));
150+
}
151+
152+
[Test]
153+
public void Get_after_Set_TimeSpan_expires()
154+
{
155+
cache.FlushAll();
156+
string key = "a";
157+
string value = "aValue";
158+
cache.Set(key, value, TimeSpan.FromMilliseconds(200));
159+
System.Threading.Thread.Sleep(250);
160+
var retVal = cache.Get(key);
161+
Assert.That(retVal, Is.Null);
162+
}
163+
164+
[Test]
165+
public void Get_before_Replace_local_DateTime_expires()
166+
{
167+
cache.FlushAll();
168+
string key = "a";
169+
string value = "aValue";
170+
cache.Set(key, value);
171+
cache.Replace(key, value, DateTime.Now.AddMilliseconds(200));
172+
var retVal = cache.Get(key);
173+
Assert.That(retVal, Is.SameAs(value));
174+
}
175+
176+
[Test]
177+
public void Get_after_Replace_local_DateTime_expires()
178+
{
179+
cache.FlushAll();
180+
string key = "a";
181+
string value = "aValue";
182+
cache.Set(key, value);
183+
cache.Replace(key, value, DateTime.Now.AddMilliseconds(200));
184+
System.Threading.Thread.Sleep(250);
185+
var retVal = cache.Get(key);
186+
Assert.That(retVal, Is.Null);
187+
}
188+
189+
[Test]
190+
public void Get_before_Replace_utc_DateTime_expires()
191+
{
192+
cache.FlushAll();
193+
string key = "a";
194+
string value = "aValue";
195+
cache.Set(key, value);
196+
cache.Replace(key, value, DateTime.UtcNow.AddMilliseconds(200));
197+
var retVal = cache.Get(key);
198+
Assert.That(retVal, Is.SameAs(value));
199+
}
200+
201+
[Test]
202+
public void Get_after_Replace_utc_DateTime_expires()
203+
{
204+
cache.FlushAll();
205+
string key = "a";
206+
string value = "aValue";
207+
cache.Set(key, value);
208+
cache.Replace(key, value, DateTime.UtcNow.AddMilliseconds(200));
209+
System.Threading.Thread.Sleep(250);
210+
var retVal = cache.Get(key);
211+
Assert.That(retVal, Is.Null);
212+
}
213+
214+
[Test]
215+
public void Get_before_Replace_TimeSpan_expires()
216+
{
217+
cache.FlushAll();
218+
string key = "a";
219+
string value = "aValue";
220+
cache.Set(key, value);
221+
cache.Replace(key, value, TimeSpan.FromMilliseconds(200));
222+
var retVal = cache.Get(key);
223+
Assert.That(retVal, Is.SameAs(value));
224+
}
225+
226+
[Test]
227+
public void Get_after_Replace_TimeSpan_expires()
228+
{
229+
cache.FlushAll();
230+
string key = "a";
231+
string value = "aValue";
232+
cache.Set(key, value);
233+
cache.Replace(key, value, TimeSpan.FromMilliseconds(200));
234+
System.Threading.Thread.Sleep(250);
235+
var retVal = cache.Get(key);
236+
Assert.That(retVal, Is.Null);
237+
}
238+
}
239+
}

0 commit comments

Comments
 (0)