package sushi.esper.queries; import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.Arrays; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; import sushi.persistence.Persistor; import sushi.query.SushiQuery; import sushi.query.SushiQueryTypeEnum; @FixMethodOrder(MethodSorters.JVM) public class SushiQueryPersistenceTest { @Before public void setup(){ Persistor.useTestEnviroment(); } @Test public void testSaveQueries(){ SushiQuery q1 = new SushiQuery("testquery", "select * from stuff", SushiQueryTypeEnum.ONDEMAND); q1 = q1.save(); assertTrue(q1 != null); } @Test public void testRemoveQueries(){ SushiQuery q1 = new SushiQuery("testquery", "select * from stuff", SushiQueryTypeEnum.ONDEMAND); q1 = q1.save(); q1.remove(); assertTrue(SushiQuery.findQueryByTitle("testquery") == null); SushiQuery q2 = new SushiQuery("testquery2", "select * from stuff2", SushiQueryTypeEnum.ONDEMAND); q2 = q2.save(); SushiQuery q3 = new SushiQuery("testquery3", "select * from stuff3", SushiQueryTypeEnum.ONDEMAND); q3 = q3.save(); SushiQuery.removeAll(); assertTrue(SushiQuery.findQueryByTitle("testquery2") == null); assertTrue(SushiQuery.findQueryByTitle("testquery3") == null); } @Test public void testRemoveQueryWithTitle(){ SushiQuery q1 = new SushiQuery("testquery", "select * from stuff", SushiQueryTypeEnum.ONDEMAND); q1 = q1.save(); SushiQuery.removeQueryWithTitle("testquery"); assertTrue(SushiQuery.findQueryByTitle("testquery") == null); } @Test public void testGetAllTitlesOfQueries(){ SushiQuery q1 = new SushiQuery("testquery", "select * from stuff", SushiQueryTypeEnum.ONDEMAND); q1 = q1.save(); SushiQuery q2 = new SushiQuery("testquery2", "select * from stuff2", SushiQueryTypeEnum.ONDEMAND); q2 = q2.save(); SushiQuery q3 = new SushiQuery("testquery3", "select * from stuff3", SushiQueryTypeEnum.ONDEMAND); q3 = q3.save(); System.out.println(SushiQuery.getAllTitlesOfOnDemandQueries()); ArrayList<String> names = new ArrayList<String>(Arrays.asList("testquery", "testquery2", "testquery3")); assertTrue(SushiQuery.getAllTitlesOfQueries().containsAll(names)); assertTrue(SushiQuery.getAllTitlesOfOnDemandQueries().containsAll(names)); } @Test public void testGetQueryByTitle(){ SushiQuery q1 = new SushiQuery("testquery", "select * from stuff", SushiQueryTypeEnum.ONDEMAND); q1 = q1.save(); assertTrue("should find query in db, but did not", SushiQuery.findQueryByTitle("testquery")==q1); } }