package de.srsoftware.widerhall.data; import de.srsoftware.widerhall.Configuration; import junit.framework.TestCase; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import java.sql.SQLException; public class DatabaseTest extends TestCase { private static final Logger LOG = LoggerFactory.getLogger(DatabaseTest.class); public void setUp() throws Exception { super.setUp(); File dbTemp = File.createTempFile("Widerhall",".sqlite"); Configuration.instance().dbFile(dbTemp); } public void tearDown() { Configuration.instance().dbFile().delete(); } public void testOpen() throws SQLException { Database db = Database.open(); assertTrue(db.isOpen()); assertTrue(db.tableExists(User.TABLE_NAME)); assertTrue(db.tableExists(MailingList.TABLE_NAME)); assertTrue(db.tableExists(ListMember.TABLE_NAME)); } public void testDeleteFrom(){ assertEquals("DELETE FROM Test ",Database.open().deleteFrom("Test").sql()); } public void testInsertInto(){ assertEquals("INSERT INTO Test ",Database.open().insertInto("Test").sql()); } public void testQuery() { assertEquals("Test", Database.open().query(new StringBuilder("Test")).sql()); } public void testSelect(){ assertEquals("SELECT * FROM Test",Database.open().select("Test").sql()); assertEquals("SELECT * FROM Test",Database.open().select("Test","*").sql()); assertEquals("SELECT Field FROM Test",Database.open().select("Test","Field").sql()); assertEquals("SELECT Field1, Field2, Field3 FROM Test",Database.open().select("Test","Field1","Field2","Field3").sql()); } public void testUpdate(){ assertEquals("UPDATE Test",Database.open().update("Test").compile().toString()); assertEquals("UPDATE Test SET x = 5",Database.open().update("Test").set("x",5).compile().toString()); assertEquals("UPDATE Test SET x = 5, y = 6",Database.open().update("Test").set("x",5).set("y",6).compile().toString()); } }