Author: glandais Date: 2007-12-05 15:23:08 +0000 (Wed, 05 Dec 2007) New Revision: 40 Modified: trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java Log: JUnit tests Modified: trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java =================================================================== --- trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java 2007-12-05 15:22:53 UTC (rev 39) +++ trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java 2007-12-05 15:23:08 UTC (rev 40) @@ -1,9 +1,13 @@ package org.cemagref.simexplorer.si.storage.test; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; import java.util.UUID; import junit.framework.TestCase; +import org.cemagref.simexplorer.si.storage.database.DatabaseConstants; import org.cemagref.simexplorer.si.storage.database.lucene.LuceneDatabase; import org.cemagref.simexplorer.si.storage.entities.ExplorationData; import org.cemagref.simexplorer.si.storage.entities.LoggableElement; @@ -14,100 +18,270 @@ protected void setUp() throws Exception { super.setUp(); - try { - database = new LuceneDatabase(); - } catch (Throwable e) { - throw new Exception(e); - } + database = new LuceneDatabase(); } protected void tearDown() throws Exception { super.tearDown(); - try { - database.shutDown(); - } catch (Throwable e) { - throw new Exception(e); - } + database.shutDown(); } - public final void testPushElement() { - try { - String description1 = UUID.randomUUID().toString(); - String uuid1 = UUID.randomUUID().toString(); - Integer majorVersion1 = 5; - Integer minorVersion1 = 12; - ExplorationData explorationData1 = new ExplorationData(); - explorationData1.setUuid(uuid1); - explorationData1.setMajorVersion(majorVersion1); - explorationData1.setMinorVersion(minorVersion1); - explorationData1.setDescription(description1); - database.pushElement(explorationData1); - - LoggableElement element = database.findElement(uuid1, majorVersion1, minorVersion1); - assertNotNull(element); - assertEquals(description1, element.getDescription()); + public final void testPushFindElement() throws Exception { + String description1 = UUID.randomUUID().toString(); + String uuid1 = UUID.randomUUID().toString(); + Integer majorVersion1 = 5; + Integer minorVersion1 = 12; + ExplorationData explorationData1 = new ExplorationData(); + explorationData1.setUuid(uuid1); + explorationData1.setMajorVersion(majorVersion1); + explorationData1.setMinorVersion(minorVersion1); + explorationData1.setDescription(description1); + database.pushElement(explorationData1); - String description2 = UUID.randomUUID().toString(); - ExplorationData explorationData2 = new ExplorationData(); - explorationData2.setUuid(uuid1); - explorationData2.setMajorVersion(majorVersion1); - explorationData2.setMinorVersion(minorVersion1); - explorationData2.setDescription(description2); - database.pushElement(explorationData2); - - assertEquals(description2, database.findElement(uuid1, majorVersion1, minorVersion1).getDescription()); - - String description3 = UUID.randomUUID().toString(); - Integer minorVersion3 = minorVersion1 + 1; - ExplorationData explorationData3 = new ExplorationData(); - explorationData3.setUuid(uuid1); - explorationData3.setMajorVersion(majorVersion1); - explorationData3.setMinorVersion(minorVersion3); - explorationData3.setDescription(description3); - database.pushElement(explorationData3); + LoggableElement element = database.findElement(uuid1, majorVersion1, + minorVersion1); + assertNotNull(element); + assertEquals(description1, element.getDescription()); - assertEquals(description3, database.findElement(uuid1, majorVersion1, minorVersion3).getDescription()); - - } catch (Throwable e) { - fail(e.toString()); - } - } + String description2 = UUID.randomUUID().toString(); + ExplorationData explorationData2 = new ExplorationData(); + explorationData2.setUuid(uuid1); + explorationData2.setMajorVersion(majorVersion1); + explorationData2.setMinorVersion(minorVersion1); + explorationData2.setDescription(description2); + database.pushElement(explorationData2); - public final void testFindElement() { - fail("Not yet implemented"); // TODO - } + assertEquals(description2, database.findElement(uuid1, majorVersion1, + minorVersion1).getDescription()); - public final void testGetElementLatestVersion() { - fail("Not yet implemented"); // TODO + String description3 = UUID.randomUUID().toString(); + Integer minorVersion3 = minorVersion1 + 1; + ExplorationData explorationData3 = new ExplorationData(); + explorationData3.setUuid(uuid1); + explorationData3.setMajorVersion(majorVersion1); + explorationData3.setMinorVersion(minorVersion3); + explorationData3.setDescription(description3); + database.pushElement(explorationData3); + + assertEquals(description3, database.findElement(uuid1, majorVersion1, + minorVersion3).getDescription()); } - public final void testFindElementsById() { - fail("Not yet implemented"); // TODO + public final void testGetElementLatestVersion() throws Exception { + String description1 = UUID.randomUUID().toString(); + String uuid1 = UUID.randomUUID().toString(); + Integer majorVersion1 = 5; + Integer minorVersion1 = 12; + ExplorationData explorationData1 = new ExplorationData(); + explorationData1.setUuid(uuid1); + explorationData1.setMajorVersion(majorVersion1); + explorationData1.setMinorVersion(minorVersion1); + explorationData1.setDescription(description1); + database.pushElement(explorationData1); + + String description2 = UUID.randomUUID().toString(); + Integer majorVersion2 = 5; + Integer minorVersion2 = minorVersion1 + 1; + ExplorationData explorationData2 = new ExplorationData(); + explorationData2.setUuid(uuid1); + explorationData2.setMajorVersion(majorVersion2); + explorationData2.setMinorVersion(minorVersion2); + explorationData2.setDescription(description2); + database.pushElement(explorationData2); + + assertEquals(description2, database.getElementLatestVersion(uuid1).getDescription()); + + String description3 = UUID.randomUUID().toString(); + Integer majorVersion3 = majorVersion1 + 1; + Integer minorVersion3 = 0; + ExplorationData explorationData3 = new ExplorationData(); + explorationData3.setUuid(uuid1); + explorationData3.setMajorVersion(majorVersion3); + explorationData3.setMinorVersion(minorVersion3); + explorationData3.setDescription(description3); + database.pushElement(explorationData3); + + assertEquals(description3, database.getElementLatestVersion(uuid1).getDescription()); } - public final void testFindElementsByPropertiesMapOfStringString() { - fail("Not yet implemented"); // TODO + public final void testFindElementsById() throws Exception { + String description1 = UUID.randomUUID().toString(); + String uuid1 = UUID.randomUUID().toString(); + Integer majorVersion1 = 5; + Integer minorVersion1 = 12; + ExplorationData explorationData1 = new ExplorationData(); + explorationData1.setUuid(uuid1); + explorationData1.setMajorVersion(majorVersion1); + explorationData1.setMinorVersion(minorVersion1); + explorationData1.setDescription(description1); + database.pushElement(explorationData1); + + String description2 = UUID.randomUUID().toString(); + Integer majorVersion2 = 5; + Integer minorVersion2 = minorVersion1 + 1; + ExplorationData explorationData2 = new ExplorationData(); + explorationData2.setUuid(uuid1); + explorationData2.setMajorVersion(majorVersion2); + explorationData2.setMinorVersion(minorVersion2); + explorationData2.setDescription(description2); + database.pushElement(explorationData2); + + String description3 = UUID.randomUUID().toString(); + Integer majorVersion3 = majorVersion1 + 1; + Integer minorVersion3 = 0; + ExplorationData explorationData3 = new ExplorationData(); + explorationData3.setUuid(uuid1); + explorationData3.setMajorVersion(majorVersion3); + explorationData3.setMinorVersion(minorVersion3); + explorationData3.setDescription(description3); + database.pushElement(explorationData3); + + Set<LoggableElement> elements = database.findElementsById(uuid1); + assertEquals(3, elements.size()); + } - public final void testFindElementsByPropertiesMapOfStringStringClass() { - fail("Not yet implemented"); // TODO + public final void testFindElementsByPropertiesMapOfStringString() throws Exception { + + String description1 = UUID.randomUUID().toString(); + String uuid1 = UUID.randomUUID().toString(); + Integer majorVersion1 = 5; + Integer minorVersion1 = 12; + ExplorationData explorationData1 = new ExplorationData(); + explorationData1.setUuid(uuid1); + explorationData1.setMajorVersion(majorVersion1); + explorationData1.setMinorVersion(minorVersion1); + explorationData1.setDescription(description1); + database.pushElement(explorationData1); + + String description2 = UUID.randomUUID().toString(); + Integer majorVersion2 = 5; + Integer minorVersion2 = minorVersion1 + 1; + ExplorationData explorationData2 = new ExplorationData(); + explorationData2.setUuid(uuid1); + explorationData2.setMajorVersion(majorVersion2); + explorationData2.setMinorVersion(minorVersion2); + explorationData2.setDescription(description2); + database.pushElement(explorationData2); + + String description3 = UUID.randomUUID().toString(); + Integer majorVersion3 = majorVersion1 + 1; + Integer minorVersion3 = 0; + ExplorationData explorationData3 = new ExplorationData(); + explorationData3.setUuid(uuid1); + explorationData3.setMajorVersion(majorVersion3); + explorationData3.setMinorVersion(minorVersion3); + explorationData3.setDescription(description3); + database.pushElement(explorationData3); + + // TODO add some other classes in db + + Map<String, String> properties = new HashMap<String, String>(); + properties.put(DatabaseConstants.KEY_UUID, uuid1); + properties.put(DatabaseConstants.KEY_MAJORVERSION, "5"); + + Set<LoggableElement> elements = database.findElementsByProperties(properties); + assertEquals(2, elements.size()); + } - public final void testDeleteElementString() { - fail("Not yet implemented"); // TODO + public final void testFindElementsByPropertiesMapOfStringStringClass() throws Exception { + + String description1 = UUID.randomUUID().toString(); + String uuid1 = UUID.randomUUID().toString(); + Integer majorVersion1 = 5; + Integer minorVersion1 = 12; + ExplorationData explorationData1 = new ExplorationData(); + explorationData1.setUuid(uuid1); + explorationData1.setMajorVersion(majorVersion1); + explorationData1.setMinorVersion(minorVersion1); + explorationData1.setDescription(description1); + database.pushElement(explorationData1); + + String description2 = UUID.randomUUID().toString(); + Integer majorVersion2 = 5; + Integer minorVersion2 = minorVersion1 + 1; + ExplorationData explorationData2 = new ExplorationData(); + explorationData2.setUuid(uuid1); + explorationData2.setMajorVersion(majorVersion2); + explorationData2.setMinorVersion(minorVersion2); + explorationData2.setDescription(description2); + database.pushElement(explorationData2); + + String description3 = UUID.randomUUID().toString(); + Integer majorVersion3 = majorVersion1 + 1; + Integer minorVersion3 = 0; + ExplorationData explorationData3 = new ExplorationData(); + explorationData3.setUuid(uuid1); + explorationData3.setMajorVersion(majorVersion3); + explorationData3.setMinorVersion(minorVersion3); + explorationData3.setDescription(description3); + database.pushElement(explorationData3); + + Map<String, String> properties = new HashMap<String, String>(); + properties.put(DatabaseConstants.KEY_UUID, uuid1); + properties.put(DatabaseConstants.KEY_MAJORVERSION, "5"); + + Set<LoggableElement> elements = database.findElementsByProperties(properties, ExplorationData.class); + assertEquals(2, elements.size()); + } - public final void testDeleteElementStringIntegerInteger() { - fail("Not yet implemented"); // TODO + public final void testDeleteElement() throws Exception { + + String description1 = UUID.randomUUID().toString(); + String uuid1 = UUID.randomUUID().toString(); + Integer majorVersion1 = 5; + Integer minorVersion1 = 12; + ExplorationData explorationData1 = new ExplorationData(); + explorationData1.setUuid(uuid1); + explorationData1.setMajorVersion(majorVersion1); + explorationData1.setMinorVersion(minorVersion1); + explorationData1.setDescription(description1); + database.pushElement(explorationData1); + + database.deleteElement(explorationData1); + assertNull(database.findElement(uuid1, majorVersion1, minorVersion1)); + } - public final void testLuceneDatabase() { - try { - LuceneDatabase database = new LuceneDatabase(); - } catch (Throwable e) { - fail(e.toString()); - } - + public final void testDeleteElements() throws Exception { + + String description1 = UUID.randomUUID().toString(); + String uuid1 = UUID.randomUUID().toString(); + Integer majorVersion1 = 5; + Integer minorVersion1 = 12; + ExplorationData explorationData1 = new ExplorationData(); + explorationData1.setUuid(uuid1); + explorationData1.setMajorVersion(majorVersion1); + explorationData1.setMinorVersion(minorVersion1); + explorationData1.setDescription(description1); + database.pushElement(explorationData1); + + String description2 = UUID.randomUUID().toString(); + Integer majorVersion2 = 5; + Integer minorVersion2 = minorVersion1 + 1; + ExplorationData explorationData2 = new ExplorationData(); + explorationData2.setUuid(uuid1); + explorationData2.setMajorVersion(majorVersion2); + explorationData2.setMinorVersion(minorVersion2); + explorationData2.setDescription(description2); + database.pushElement(explorationData2); + + String description3 = UUID.randomUUID().toString(); + Integer majorVersion3 = majorVersion1 + 1; + Integer minorVersion3 = 0; + ExplorationData explorationData3 = new ExplorationData(); + explorationData3.setUuid(uuid1); + explorationData3.setMajorVersion(majorVersion3); + explorationData3.setMinorVersion(minorVersion3); + explorationData3.setDescription(description3); + database.pushElement(explorationData3); + + database.deleteElements(uuid1); + + assertEquals(0, database.findElementsById(uuid1).size()); + } }