public void testStoreAndRemove() throws PersistenceException { assertIsEmpty(); cl.write(marshalledEntry("k1", "v1", null)); cl.write(marshalledEntry("k2", "v2", null)); cl.write(marshalledEntry("k3", "v3", null)); cl.write(marshalledEntry("k4", "v4", null)); Set<MarshalledEntry<Object, Object>> set = TestingUtil.allEntries(cl); assertSize(set, 4); Set<String> expected = new HashSet<>(Arrays.asList("k1", "k2", "k3", "k4")); for (MarshalledEntry se : set) { assertTrue(expected.remove(se.getKey())); } assertEmpty(expected, true); cl.delete("k1"); cl.delete("k2"); cl.delete("k3"); set = TestingUtil.allEntries(cl); assertSize(set, 1); assertEquals("k4", set.iterator().next().getKey()); assertEquals(1, PersistenceUtil.toKeySet(cl, null).size()); assertEquals(1, Flowable.fromPublisher(cl.publishKeys(null)).count().blockingGet().intValue()); }
public void testStoreLoadRemove() throws Exception { assertRowCount(0); assertNull("should not be present in the store", cacheStore.load(MIRCEA)); String value = "adsdsadsa"; cacheStore.write(new MarshalledEntryImpl(MIRCEA, value, null, marshaller)); assertRowCount(1); assertEquals(value, cacheStore.load(MIRCEA).getValue()); assertFalse(cacheStore.delete(MANIK)); assertEquals(value, cacheStore.load(MIRCEA).getValue()); assertRowCount(1); assertTrue(cacheStore.delete(MIRCEA)); assertRowCount(0); }
public void testLoadingToMemory() throws PersistenceException { assertNotInCacheAndStore("k1", "k2"); store.write(new MarshalledEntryImpl("k1", "v1", null, sm)); store.write(new MarshalledEntryImpl("k2", "v2", null, sm)); assertInStoreNotInCache("k1", "k2"); assertEquals("v1", cache.get("k1")); assertEquals("v2", cache.get("k2")); assertInCacheAndStore("k1", "v1"); assertInCacheAndStore("k2", "v2"); store.delete("k1"); store.delete("k2"); assertInCacheAndNotInStore("k1", "k2"); assertEquals("v1", cache.get("k1")); assertEquals("v2", cache.get("k2")); }
public void testLoadAndStoreImmortal() throws PersistenceException { assertIsEmpty(); cl.write(marshalledEntry("k", "v", null)); MarshalledEntry entry = cl.load("k"); assertEquals("v", unwrap(entry.getValue())); assertTrue("Expected an immortalEntry", entry.getMetadata() == null || entry.getMetadata().expiryTime() == -1 || entry.getMetadata().maxIdle() == -1); assertContains("k", true); assertFalse(cl.delete("k2")); }
public void testLoadAndStoreBytesValues() throws PersistenceException, IOException, InterruptedException { assertIsEmpty(); WrappedBytes key = new WrappedByteArray(getMarshaller().objectToByteBuffer(new Pojo().role("key"))); WrappedBytes key2 = new WrappedByteArray(getMarshaller().objectToByteBuffer(new Pojo().role("key2"))); WrappedBytes value = new WrappedByteArray(getMarshaller().objectToByteBuffer(new Pojo().role("value"))); assertFalse(cl.contains(key)); cl.write(new MarshalledEntryImpl<Object, Object>(key, value, null, getMarshaller())); assertEquals(value, cl.load(key).getValue()); MarshalledEntry entry = cl.load(key); assertTrue("Expected an immortalEntry", entry.getMetadata() == null || entry.getMetadata().expiryTime() == -1 || entry.getMetadata().maxIdle() == -1); assertContains(key, true); assertFalse(cl.delete(key2)); assertTrue(cl.delete(key)); }