From 3550cead33a2b1f55fb6e2bcc1579cb38be18177 Mon Sep 17 00:00:00 2001 From: pkupczyk <pkupczyk> Date: Tue, 14 Aug 2012 11:38:44 +0000 Subject: [PATCH] SP-159 / BIS-93: YeastLab: Implement a way to download template files as part of the Custom Import functionality: - added unique constraint on project.perm_id - added some junits SVN: 26365 --- openbis/source/sql/generic/117/schema-117.sql | 1 + .../postgresql/migration/migration-116-117.sql | 1 + .../server/dataaccess/db/ProjectDAOTest.java | 15 +++++++++++++++ .../sourceTest/sql/postgresql/117/finish-117.sql | 2 ++ 4 files changed, 19 insertions(+) diff --git a/openbis/source/sql/generic/117/schema-117.sql b/openbis/source/sql/generic/117/schema-117.sql index 9a0433cb598..8255a7a00f8 100644 --- a/openbis/source/sql/generic/117/schema-117.sql +++ b/openbis/source/sql/generic/117/schema-117.sql @@ -366,6 +366,7 @@ ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ADD CONSTRAINT MTPT_BK_UK UNIQUE(MATY_I ALTER TABLE DATA_SET_TYPES ADD CONSTRAINT DSTY_BK_UK UNIQUE(CODE,DBIN_ID); ALTER TABLE PERSONS ADD CONSTRAINT PERS_BK_UK UNIQUE(DBIN_ID,USER_ID); ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_BK_UK UNIQUE(CODE,SPACE_ID); +ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_PI_UK UNIQUE(PERM_ID); ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_BK_UK UNIQUE(CODE,IS_INTERNAL_NAMESPACE,DBIN_ID); ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_PE_SPACE_BK_UK UNIQUE(PERS_ID_GRANTEE,ROLE_CODE,SPACE_ID); ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_PE_INSTANCE_BK_UK UNIQUE(PERS_ID_GRANTEE,ROLE_CODE,DBIN_ID); diff --git a/openbis/source/sql/postgresql/migration/migration-116-117.sql b/openbis/source/sql/postgresql/migration/migration-116-117.sql index 956aaa296b3..fba263e510d 100644 --- a/openbis/source/sql/postgresql/migration/migration-116-117.sql +++ b/openbis/source/sql/postgresql/migration/migration-116-117.sql @@ -22,3 +22,4 @@ DROP function GENERATE_PROJECT_PERM_IDS(); -- change perm id column to not null ALTER TABLE projects ALTER COLUMN perm_id SET NOT NULL; +ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_PI_UK UNIQUE(PERM_ID); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ProjectDAOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ProjectDAOTest.java index 834ffce8231..0469e9e2cd0 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ProjectDAOTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/ProjectDAOTest.java @@ -111,6 +111,7 @@ public class ProjectDAOTest extends AbstractDAOTest final List<ProjectPE> allProjects = daoFactory.getProjectDAO().listProjects(); Collections.sort(allProjects); final ProjectPE templateProject = allProjects.get(4); + assertEquals(templateProject.getCode(), TESTPROJ); ProjectPE found = @@ -143,6 +144,20 @@ public class ProjectDAOTest extends AbstractDAOTest templateProject.getSpace().getCode(), templateProject.getCode())); } + @Test + public void testTryGetByPermID() throws Exception + { + ProjectPE found = daoFactory.getProjectDAO().tryGetByPermID("20120814110011738-105"); + assertEquals(TEST_PROJECT, found.getCode()); + } + + @Test + public void testTryGetByPermIDNonexistent() throws Exception + { + ProjectPE found = daoFactory.getProjectDAO().tryGetByPermID("UNKNOWN-PERM-ID"); + assertNull(found); + } + @Test public void testCreateProject() throws Exception { diff --git a/openbis/sourceTest/sql/postgresql/117/finish-117.sql b/openbis/sourceTest/sql/postgresql/117/finish-117.sql index b2c13baf4d4..e553c4ff4e6 100644 --- a/openbis/sourceTest/sql/postgresql/117/finish-117.sql +++ b/openbis/sourceTest/sql/postgresql/117/finish-117.sql @@ -148,6 +148,8 @@ ALTER TABLE ONLY post_registration_dataset_queue ADD CONSTRAINT prdq_pk PRIMARY KEY (id); ALTER TABLE ONLY projects ADD CONSTRAINT proj_bk_uk UNIQUE (code, space_id); +ALTER TABLE ONLY projects + ADD CONSTRAINT proj_pi_uk UNIQUE (perm_id); ALTER TABLE ONLY projects ADD CONSTRAINT proj_pk PRIMARY KEY (id); ALTER TABLE ONLY project_relationships_history -- GitLab