Search in sources :

Example 1 with LruCache

use of org.apache.catalina.filters.CsrfPreventionFilter.LruCache in project tomcat by apache.

the class TestCsrfPreventionFilter method testLruCacheSerializable.

@Test
public void testLruCacheSerializable() throws Exception {
    LruCache<String> cache = new LruCache<>(5);
    cache.add("key1");
    cache.add("key2");
    cache.add("key3");
    cache.add("key4");
    cache.add("key5");
    cache.add("key6");
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(baos);
    oos.writeObject(cache);
    ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
    ObjectInputStream ois = new ObjectInputStream(bais);
    @SuppressWarnings("unchecked") LruCache<String> cache2 = (LruCache<String>) ois.readObject();
    cache2.add("key7");
    assertFalse(cache2.contains("key1"));
    assertFalse(cache2.contains("key2"));
    assertTrue(cache2.contains("key3"));
    assertTrue(cache2.contains("key4"));
    assertTrue(cache2.contains("key5"));
    assertTrue(cache2.contains("key6"));
    assertTrue(cache2.contains("key7"));
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) LruCache(org.apache.catalina.filters.CsrfPreventionFilter.LruCache) ByteArrayOutputStream(java.io.ByteArrayOutputStream) ObjectOutputStream(java.io.ObjectOutputStream) ObjectInputStream(java.io.ObjectInputStream) TomcatBaseTest(org.apache.catalina.startup.TomcatBaseTest) Test(org.junit.Test)

Aggregations

ByteArrayInputStream (java.io.ByteArrayInputStream)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 ObjectInputStream (java.io.ObjectInputStream)1 ObjectOutputStream (java.io.ObjectOutputStream)1 LruCache (org.apache.catalina.filters.CsrfPreventionFilter.LruCache)1 TomcatBaseTest (org.apache.catalina.startup.TomcatBaseTest)1 Test (org.junit.Test)1