1
2
3
4
5
6
7
8
9
10 package org.mule.util.store;
11
12 import org.mule.tck.AbstractMuleTestCase;
13
14 public class InMemoryStoreTestCase extends AbstractMuleTestCase
15 {
16 public void testTimedExpiry() throws Exception
17 {
18
19 InMemoryObjectStore store = new InMemoryObjectStore();
20 store.setName("timed");
21 store.setMaxEntries(3);
22 store.setEntryTTL(3000);
23 store.setExpirationInterval(1000);
24 store.initialise();
25
26
27 assertTrue(store.storeObject("1", "1"));
28 assertTrue(store.storeObject("2", "2"));
29 assertTrue(store.storeObject("3", "3"));
30
31
32 assertTrue(store.containsObject("1"));
33 assertTrue(store.containsObject("2"));
34 assertTrue(store.containsObject("3"));
35
36
37 Thread.sleep(4000);
38
39
40 assertFalse(store.containsObject("1"));
41 assertFalse(store.containsObject("2"));
42 assertFalse(store.containsObject("3"));
43 }
44
45 public void testMaxSize() throws Exception
46 {
47 InMemoryObjectStore store = new InMemoryObjectStore();
48 store.setName("bounded");
49 store.setMaxEntries(3);
50
51 store.setEntryTTL(-1);
52 store.setExpirationInterval(1000);
53 store.initialise();
54
55
56 assertTrue(store.storeObject("1", "1"));
57 assertTrue(store.storeObject("2", "2"));
58 assertTrue(store.storeObject("3", "3"));
59
60 assertTrue(store.containsObject("1"));
61 assertTrue(store.containsObject("2"));
62 assertTrue(store.containsObject("3"));
63
64
65
66 Thread.sleep(3000);
67 assertTrue(store.containsObject("1"));
68 assertTrue(store.containsObject("2"));
69 assertTrue(store.containsObject("3"));
70
71
72 assertTrue(store.storeObject("4", "4"));
73
74
75 assertTrue(store.containsObject("1"));
76
77
78 store.expire();
79 assertFalse(store.containsObject("1"));
80 assertTrue(store.containsObject("2"));
81 assertTrue(store.containsObject("3"));
82 assertTrue(store.containsObject("4"));
83
84
85 assertTrue(store.storeObject("5", "5"));
86 store.expire();
87 assertFalse(store.containsObject("2"));
88 assertTrue(store.containsObject("3"));
89 assertTrue(store.containsObject("4"));
90 assertTrue(store.containsObject("5"));
91
92
93 assertTrue(store.storeObject("6", "6"));
94 assertTrue(store.storeObject("7", "7"));
95 assertTrue(store.storeObject("8", "8"));
96 assertTrue(store.storeObject("9", "9"));
97
98 store.expire();
99 assertTrue(store.containsObject("7"));
100 assertTrue(store.containsObject("8"));
101 assertTrue(store.containsObject("9"));
102 assertFalse(store.containsObject("3"));
103 assertFalse(store.containsObject("4"));
104 assertFalse(store.containsObject("5"));
105 assertFalse(store.containsObject("6"));
106 }
107
108 }