package com.rubiconproject.oss.kv.test.backends; import com.rubiconproject.oss.kv.backends.JdbcKeyValueStore; import com.rubiconproject.oss.kv.test.KeyValueStoreBackendTestCase; import com.rubiconproject.oss.kv.test.sql.SampleValueObject; import com.rubiconproject.oss.kv.test.sql.SampleValueObjectDAO; public class JdbcBackendTestCase extends KeyValueStoreBackendTestCase { public void testBackend() throws Exception { JdbcKeyValueStore store = new JdbcKeyValueStore(); store.setUrl("jdbc:mysql://localhost/kv"); store.setUsername("haymitch"); store.setPassword("haymitch"); store.setTable("test_table"); store.setKeyField("id"); store.setValueField("value"); doTestBackend(store); String[] keys = new String[] { "key1", "key2" }; for (String key : keys) { store.set(key, "value"); } assertTrue(store.size() > 0); for (String key : keys) { store.delete(key); } } public void testSampleValueObject() throws Exception { JdbcKeyValueStore store = new JdbcKeyValueStore(); store.setUrl("jdbc:mysql://localhost/kv"); store.setUsername("haymitch"); store.setPassword("haymitch"); store.setDAOClass(SampleValueObjectDAO.class.getName()); store.start(); String key = "key1"; SampleValueObject svo = new SampleValueObject(key, 12, 90, "value1"); store.set(svo.getK(), svo); assertTrue(store.exists(key)); SampleValueObject svo2 = (SampleValueObject) store.get(key); assertEquals(key, svo2.getK()); assertEquals(svo.getS(), svo2.getS()); assertEquals(svo.getX(), svo2.getX()); assertEquals(svo.getY(), svo2.getY()); store.delete(key); assertFalse(store.exists(key)); } }