diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/AbstractDAOWithoutContextTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/AbstractDAOWithoutContextTest.java index a41f6c00ac411d0b7b52cff7f06d2f50d527ad45..a7873c18b9348611b6bd02648efcd586018d2ecd 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/AbstractDAOWithoutContextTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/AbstractDAOWithoutContextTest.java @@ -16,6 +16,7 @@ package ch.systemsx.cisd.openbis.generic.server.dataaccess.db; +import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertNull; import static org.testng.AssertJUnit.assertTrue; @@ -237,6 +238,12 @@ public abstract class AbstractDAOWithoutContextTest extends { final ScriptPE result = createScriptPE(scriptType, name, script, description, kind); daoFactory.getScriptDAO().createOrUpdate(result); + assertEquals(scriptType, result.getScriptType()); + assertEquals(daoFactory.getHomeDatabaseInstance(), result.getDatabaseInstance()); + assertEquals(script, result.getScript()); + assertEquals(description, result.getDescription()); + assertEquals(name, result.getName()); + assertEquals(kind, result.getEntityKind()); return result; } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ScriptDAOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ScriptDAOTest.java index e4b27f7aee5a6e1b659dd8d4f63283bc93eb4806..90abde70bd0e82045843314337a857725e1b6f20 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ScriptDAOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ScriptDAOTest.java @@ -23,6 +23,7 @@ import static org.testng.AssertJUnit.assertNull; import java.util.List; import org.testng.AssertJUnit; +import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import ch.rinn.restrictions.Friend; @@ -63,26 +64,38 @@ public final class ScriptDAOTest extends AbstractDAOTest return NAME + i; } - @Test - public void testCreateScript() + @SuppressWarnings("unused") + @DataProvider + private final static Object[][] scriptTypes() + { + return new Object[][] + { + { ScriptType.DYNAMIC_PROPERTY }, + { ScriptType.MANAGED_PROPERTY } + + }; + } + + @Test(dataProvider = "scriptTypes") + public void testCreateScript(ScriptType scriptType) { String name = NAME; AssertJUnit.assertNull(daoFactory.getScriptDAO().tryFindByName(name)); String scriptText = SCRIPT; String description = DESCRIPTION; - final ScriptPE script = - createScriptInDB(ScriptType.DYNAMIC_PROPERTY, name, scriptText, description, null); + final ScriptPE script = createScriptInDB(scriptType, name, scriptText, description, null); final ScriptPE retrievedScript = daoFactory.getScriptDAO().tryFindByName(name); AssertJUnit.assertNotNull(retrievedScript); + assertEquals(script.getScriptType(), retrievedScript.getScriptType()); assertEquals(script.getRegistrator(), retrievedScript.getRegistrator()); - assertEquals(script.getDatabaseInstance(), daoFactory.getHomeDatabaseInstance()); - assertEquals(script.getScript(), scriptText); - assertEquals(script.getDescription(), description); - assertEquals(script.getName(), name); + assertEquals(script.getDatabaseInstance(), retrievedScript.getDatabaseInstance()); + assertEquals(script.getScript(), retrievedScript.getScript()); + assertEquals(script.getDescription(), retrievedScript.getDescription()); + assertEquals(script.getName(), retrievedScript.getName()); } - @Test - public void testCreateSampleScript() + @Test(dataProvider = "scriptTypes") + public void testCreateSampleScript(ScriptType scriptType) { String name = NAME; AssertJUnit.assertNull(daoFactory.getScriptDAO().tryFindByName(name)); @@ -90,51 +103,57 @@ public final class ScriptDAOTest extends AbstractDAOTest String description = DESCRIPTION; EntityKind entityKind = EntityKind.SAMPLE; final ScriptPE script = - createScriptInDB(ScriptType.DYNAMIC_PROPERTY, name, scriptText, description, - entityKind); + createScriptInDB(scriptType, name, scriptText, description, entityKind); final ScriptPE retrievedScript = daoFactory.getScriptDAO().tryFindByName(name); AssertJUnit.assertNotNull(retrievedScript); + assertEquals(script.getScriptType(), retrievedScript.getScriptType()); assertEquals(script.getRegistrator(), retrievedScript.getRegistrator()); - assertEquals(script.getDatabaseInstance(), daoFactory.getHomeDatabaseInstance()); - assertEquals(script.getScript(), scriptText); - assertEquals(script.getDescription(), description); - assertEquals(script.getName(), name); - assertEquals(script.getEntityKind(), entityKind); + assertEquals(script.getDatabaseInstance(), retrievedScript.getDatabaseInstance()); + assertEquals(script.getScript(), retrievedScript.getScript()); + assertEquals(script.getDescription(), retrievedScript.getDescription()); + assertEquals(script.getName(), retrievedScript.getName()); + assertEquals(script.getEntityKind(), retrievedScript.getEntityKind()); } - @Test - public void testListScripts() + @Test(dataProvider = "scriptTypes") + public void testListScripts(ScriptType scriptType) { int initialNumberOfScripts = daoFactory.getScriptDAO().listAllEntities().size(); int scriptNumber = 1; - createScriptInDB(ScriptType.DYNAMIC_PROPERTY, createScriptName(scriptNumber), - createScriptText(scriptNumber), createScriptDescription(scriptNumber), null); + + String scriptName = createScriptName(scriptNumber); + String scriptText = createScriptText(scriptNumber); + String scriptDescription = createScriptDescription(scriptNumber); + final ScriptPE script = + createScriptInDB(scriptType, scriptName, scriptText, scriptDescription, null); final List<ScriptPE> scripts = daoFactory.getScriptDAO().listAllEntities(); assertEquals(1 + initialNumberOfScripts, scripts.size()); ScriptPE registered = null; for (ScriptPE s : scripts) { - if (s.getName().equals(createScriptName(scriptNumber))) + if (s.getName().equals(scriptName)) { registered = s; } } assertNotNull(registered); assert registered != null;// for Eclipse - assertEquals(daoFactory.getHomeDatabaseInstance(), registered.getDatabaseInstance()); - assertEquals(createScriptName(scriptNumber), registered.getName()); - assertEquals(createScriptText(scriptNumber), registered.getScript()); - assertEquals(createScriptDescription(scriptNumber), registered.getDescription()); + assertEquals(script.getScriptType(), registered.getScriptType()); + assertEquals(script.getDatabaseInstance(), registered.getDatabaseInstance()); + assertEquals(script.getScript(), registered.getScript()); + assertEquals(script.getDescription(), registered.getDescription()); + assertEquals(script.getName(), registered.getName()); + assertEquals(script.getEntityKind(), registered.getEntityKind()); } - @Test - public void testListSampleCompatibleScripts() + @Test(dataProvider = "scriptTypes") + public void testListSampleCompatibleScripts(ScriptType scriptType) { EntityKind entityKind = EntityKind.SAMPLE; int initialNumberOfScripts = daoFactory.getScriptDAO().listEntities(null, entityKind).size(); int scriptNumber = 1; - createScriptInDB(ScriptType.DYNAMIC_PROPERTY, createScriptName(scriptNumber), + createScriptInDB(scriptType, createScriptName(scriptNumber), createScriptText(scriptNumber), createScriptDescription(scriptNumber), entityKind); final List<ScriptPE> scripts = daoFactory.getScriptDAO().listAllEntities(); assertEquals(1 + initialNumberOfScripts, scripts.size()); @@ -144,12 +163,11 @@ public final class ScriptDAOTest extends AbstractDAOTest } } - @Test - public final void testDelete() + @Test(dataProvider = "scriptTypes") + public final void testDelete(ScriptType scriptType) { assertNull(daoFactory.getScriptDAO().tryFindByName(NAME)); - ScriptPE script = - createScriptInDB(ScriptType.DYNAMIC_PROPERTY, NAME, SCRIPT, DESCRIPTION, null); + ScriptPE script = createScriptInDB(scriptType, NAME, SCRIPT, DESCRIPTION, null); assertNotNull(daoFactory.getScriptDAO().tryFindByName(NAME)); daoFactory.getScriptDAO().delete(script); assertNull(daoFactory.getScriptDAO().tryFindByName(NAME)); diff --git a/openbis/sourceTest/sql/postgresql/064/044=scripts.tsv b/openbis/sourceTest/sql/postgresql/064/044=scripts.tsv index 5be6ee5ac0fb7b5eb70ae8a9bf678db149fc108a..be90009327dc2a86a40e6fc952830246930b2735 100644 --- a/openbis/sourceTest/sql/postgresql/064/044=scripts.tsv +++ b/openbis/sourceTest/sql/postgresql/064/044=scripts.tsv @@ -1,3 +1,4 @@ 1 1 properties number of properties str(entity.properties().size()) + ' properties' 2010-10-27 15:16:48.994831+02 2 \N DYNAMIC_PROPERTY 2 1 code \N entity.code() 2010-10-27 15:16:48.994831+02 2 \N DYNAMIC_PROPERTY 3 1 date \N str(currentDate().getTime()) 2010-10-27 15:16:48.994831+02 2 \N DYNAMIC_PROPERTY +4 1 managed list \N fake script 2010-10-27 15:16:48.994831+02 2 \N MANAGED_PROPERTY \ No newline at end of file