diff --git a/functional-test/src/test/java/org/zanata/feature/glossary/GlossaryPushTest.java b/functional-test/src/test/java/org/zanata/feature/glossary/GlossaryPushTest.java index 6e95c61620..a82924756f 100644 --- a/functional-test/src/test/java/org/zanata/feature/glossary/GlossaryPushTest.java +++ b/functional-test/src/test/java/org/zanata/feature/glossary/GlossaryPushTest.java @@ -9,13 +9,10 @@ import org.concordion.integration.junit4.ConcordionRunner; import org.junit.runner.RunWith; import org.zanata.concordion.CustomResourceExtension; -import org.zanata.page.projects.ProjectPage; -import org.zanata.page.webtrans.DocumentsViewPage; import org.zanata.page.webtrans.EditorPage; import org.zanata.workflow.BasicWorkFlow; import org.zanata.workflow.ClientPushWorkFlow; import org.zanata.workflow.LoginWorkFlow; - import com.google.common.base.Joiner; import lombok.extern.slf4j.Slf4j; @@ -36,7 +33,7 @@ public class GlossaryPushTest public String getUserConfigPath() { - return ClientPushWorkFlow.getUserConfigPath("admin"); + return ClientPushWorkFlow.getUserConfigPath("glossarist"); } public String getProjectLocation(String project) diff --git a/functional-test/src/test/java/org/zanata/util/DatabaseHelper.java b/functional-test/src/test/java/org/zanata/util/DatabaseHelper.java index b3fa5a878c..43b90ad0e9 100644 --- a/functional-test/src/test/java/org/zanata/util/DatabaseHelper.java +++ b/functional-test/src/test/java/org/zanata/util/DatabaseHelper.java @@ -138,44 +138,37 @@ public void execute() throws Exception public void addAdminUser() { - wrapInTryCatch(new Command() - { - @Override - public void execute() throws Exception - { - ResultSet resultSet = statement.executeQuery("select count(*) from HAccount where username = 'admin'"); - resultSet.next(); - int adminUser = resultSet.getInt(1); - if (adminUser == 1) - { - log.info("user [admin] already exists. ignored."); - } - else - { - runScript("create_admin_user.sql"); - } - } - }); + addUserIfNotExist("admin"); } public void addTranslatorUser() + { + addUserIfNotExist("translator"); + } + + public void addGlossaristUser() + { + addUserIfNotExist("glossarist"); + } + + private void addUserIfNotExist(final String user) { wrapInTryCatch(new Command() { - @Override public void execute() throws Exception { - ResultSet resultSet = statement.executeQuery("select count(*) from HAccount where username = 'translator'"); + + ResultSet resultSet = statement.executeQuery("select count(*) from HAccount where username = '" + user + "'"); resultSet.next(); - int translator = resultSet.getInt(1); - if (translator == 1) + int adminUser = resultSet.getInt(1); + if (adminUser == 1) { - log.info("user [translator] already exists. ignored."); + log.info("user already exists. ignored."); } else { - runScript("create_translator_user.sql"); + runScript("create_" + user + "_user.sql"); } } }); diff --git a/functional-test/src/test/java/org/zanata/util/ResetDatabaseRule.java b/functional-test/src/test/java/org/zanata/util/ResetDatabaseRule.java index 34f98a4846..b5cac6677c 100644 --- a/functional-test/src/test/java/org/zanata/util/ResetDatabaseRule.java +++ b/functional-test/src/test/java/org/zanata/util/ResetDatabaseRule.java @@ -38,6 +38,7 @@ protected void before() throws Throwable DatabaseHelper.database().resetData(); DatabaseHelper.database().addAdminUser(); DatabaseHelper.database().addTranslatorUser(); + DatabaseHelper.database().addGlossaristUser(); } } diff --git a/functional-test/src/test/resources/concordion/org/zanata/feature/glossary/GlossaryPush.html b/functional-test/src/test/resources/concordion/org/zanata/feature/glossary/GlossaryPush.html index 0f1b7d4f92..80d2fa83f4 100644 --- a/functional-test/src/test/resources/concordion/org/zanata/feature/glossary/GlossaryPush.html +++ b/functional-test/src/test/resources/concordion/org/zanata/feature/glossary/GlossaryPush.html @@ -8,7 +8,7 @@ sample project glossary.

- As an admin user (TODO glossarist will be more appropriate), + As a user with glossarist role, given that I have user config at .

diff --git a/functional-test/src/test/resources/concordion/org/zanata/feature/zanata_with_data.sql b/functional-test/src/test/resources/concordion/org/zanata/feature/zanata_with_data.sql index 4b89128565..1891598214 100644 --- a/functional-test/src/test/resources/concordion/org/zanata/feature/zanata_with_data.sql +++ b/functional-test/src/test/resources/concordion/org/zanata/feature/zanata_with_data.sql @@ -53,22 +53,22 @@ CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_BC68D000_36BD_46A0_A17C_3DA9C3259527 STAR CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_9CF6B1FC_4DD5_4C01_A0FE_7ABDFC4EC9B6 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_BBB37388_F5A2_4CEA_A2A7_B35443A44A4B START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_63A04B08_CEFC_4031_A7C2_132598EA144D START WITH 1 BELONGS_TO_TABLE; -CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_50231309_6061_4BBE_BCF4_FBFA62B5395A START WITH 3 BELONGS_TO_TABLE; -CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_2859F01D_3D5A_4B75_B09B_1EA847883279 START WITH 3 BELONGS_TO_TABLE; +CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_50231309_6061_4BBE_BCF4_FBFA62B5395A START WITH 4 BELONGS_TO_TABLE; +CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_2859F01D_3D5A_4B75_B09B_1EA847883279 START WITH 4 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_CABC6C67_570F_4ED0_B44B_3B742AA1AAEC START WITH 6 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_4476349D_CEA3_4CB2_B750_65A31A471046 START WITH 2 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_EA725082_6ECC_4D7E_BF87_903C38282725 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_22FD7714_6107_4A7D_9727_145CA5CFA196 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_BA183351_98A7_4661_8F21_67F11853E409 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_F12E281E_B9F3_4A3F_83AF_E148A99F882C START WITH 1 BELONGS_TO_TABLE; -CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_047C9444_782F_437D_8E7F_3C9574C59E37 START WITH 5 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_E586F775_482B_4C56_85C3_E444F5B8ACA5 START WITH 39 BELONGS_TO_TABLE; -CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_435770F8_300C_4DBA_BB72_232B96E46942 START WITH 1 BELONGS_TO_TABLE; +CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_047C9444_782F_437D_8E7F_3C9574C59E37 START WITH 5 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_79179848_56F7_4E3D_B30B_97780C5EF1D9 START WITH 1 BELONGS_TO_TABLE; +CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_435770F8_300C_4DBA_BB72_232B96E46942 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_D2605C38_87CB_4B62_BBF4_606092B88E99 START WITH 39 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_194DC8F8_3EFE_45BC_AAFF_4E15D769D59F START WITH 1 BELONGS_TO_TABLE; -CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_32C3B4DF_E36D_43C5_8D7A_A813086234A9 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_ECA62EAF_3B88_41D5_8207_CDCAFF596FAE START WITH 1 BELONGS_TO_TABLE; +CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_32C3B4DF_E36D_43C5_8D7A_A813086234A9 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_6043B321_A8F8_4C45_A6B4_1EF6F9CF166A START WITH 5 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_A5745DF6_79D4_4803_922C_9A94CDE2125F START WITH 2 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_237D196E_0F89_425D_8EC6_235AB3EAAC6F START WITH 43 BELONGS_TO_TABLE; @@ -77,9 +77,9 @@ CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_1AAF14F4_E938_44FA_8DAE_3901615B003F STAR CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_5353524A_FF38_4137_B9A1_237693B880D7 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_5A6A6C5B_91E8_4369_A0E4_2C9BEE15F730 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_CC5CDC49_B24D_4DC6_B29B_40253688B07E START WITH 1 BELONGS_TO_TABLE; -CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_C1BE3B1C_73A3_47E6_B6C4_EB11664C9991 START WITH 5 BELONGS_TO_TABLE; -CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_397EA988_B34A_4EF4_B7C5_B83F4C043D71 START WITH 1 BELONGS_TO_TABLE; CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_D3718621_6075_4F69_9890_C5013A61A5A0 START WITH 1 BELONGS_TO_TABLE; +CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_397EA988_B34A_4EF4_B7C5_B83F4C043D71 START WITH 1 BELONGS_TO_TABLE; +CREATE SEQUENCE PUBLIC.SYSTEM_SEQUENCE_C1BE3B1C_73A3_47E6_B6C4_EB11664C9991 START WITH 5 BELONGS_TO_TABLE; CREATE CACHED TABLE PUBLIC.DATABASECHANGELOGLOCK( ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, @@ -235,12 +235,13 @@ CREATE CACHED TABLE PUBLIC.HACCOUNTMEMBERSHIP( MEMBEROF INTEGER NOT NULL ); ALTER TABLE PUBLIC.HACCOUNTMEMBERSHIP ADD CONSTRAINT PUBLIC.CONSTRAINT_3 PRIMARY KEY(ACCOUNTID, MEMBEROF); --- 4 +/- SELECT COUNT(*) FROM PUBLIC.HACCOUNTMEMBERSHIP; +-- 5 +/- SELECT COUNT(*) FROM PUBLIC.HACCOUNTMEMBERSHIP; INSERT INTO PUBLIC.HACCOUNTMEMBERSHIP(ACCOUNTID, MEMBEROF) VALUES (1, 1), (1, 4), (2, 1), -(2, 5); +(2, 5), +(3, 2); CREATE CACHED TABLE PUBLIC.HACCOUNTRESETPASSWORDKEY( KEYHASH VARCHAR(32) NOT NULL, ACCOUNTID BIGINT NOT NULL @@ -354,10 +355,11 @@ CREATE CACHED TABLE PUBLIC.HPERSON( ACCOUNTID BIGINT ); ALTER TABLE PUBLIC.HPERSON ADD CONSTRAINT PUBLIC.CONSTRAINT_6D PRIMARY KEY(ID); --- 2 +/- SELECT COUNT(*) FROM PUBLIC.HPERSON; +-- 3 +/- SELECT COUNT(*) FROM PUBLIC.HPERSON; INSERT INTO PUBLIC.HPERSON(ID, CREATIONDATE, LASTCHANGED, VERSIONNUM, EMAIL, NAME, ACCOUNTID) VALUES (1, TIMESTAMP '2012-04-03 15:06:28.0', TIMESTAMP '2012-04-03 15:06:28.0', 0, 'pahuang@redhat.com', 'Administrator', 1), -(2, TIMESTAMP '2012-04-03 15:06:28.0', TIMESTAMP '2012-04-03 15:06:28.0', 0, 'translator@redhat.com', 'translator', 2); +(2, TIMESTAMP '2012-04-03 15:06:28.0', TIMESTAMP '2012-04-03 15:06:28.0', 0, 'translator@redhat.com', 'translator', 2), +(3, TIMESTAMP '2013-06-24 15:41:33.0', TIMESTAMP '2013-06-24 15:41:33.0', 0, 'glossarist@example.com', 'glossarist', 3); CREATE CACHED TABLE PUBLIC.HPOHEADER( ID BIGINT DEFAULT (NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_047C9444_782F_437D_8E7F_3C9574C59E37) NOT NULL NULL_TO_DEFAULT SEQUENCE PUBLIC.SYSTEM_SEQUENCE_047C9444_782F_437D_8E7F_3C9574C59E37, CREATIONDATE TIMESTAMP NOT NULL, @@ -601,10 +603,11 @@ CREATE CACHED TABLE PUBLIC.HACCOUNT( MERGEDINTO BIGINT ); ALTER TABLE PUBLIC.HACCOUNT ADD CONSTRAINT PUBLIC.CONSTRAINT_1 PRIMARY KEY(ID); --- 2 +/- SELECT COUNT(*) FROM PUBLIC.HACCOUNT; +-- 3 +/- SELECT COUNT(*) FROM PUBLIC.HACCOUNT; INSERT INTO PUBLIC.HACCOUNT(ID, CREATIONDATE, LASTCHANGED, VERSIONNUM, APIKEY, ENABLED, PASSWORDHASH, USERNAME, MERGEDINTO) VALUES (1, TIMESTAMP '2012-04-03 15:06:28.0', TIMESTAMP '2012-04-03 15:06:28.0', 1, 'b6d7044e9ee3b2447c28fb7c50d86d98', TRUE, 'Eyox7xbNQ09MkIfRyH+rjg==', 'admin', NULL), -(2, TIMESTAMP '2012-04-03 15:06:28.0', TIMESTAMP '2012-04-03 15:06:28.0', 1, 'd83882201764f7d339e97c4b087f0806', TRUE, 'Fr5JHlcaEqKLSHjnBm4gXg==', 'translator', NULL); +(2, TIMESTAMP '2012-04-03 15:06:28.0', TIMESTAMP '2012-04-03 15:06:28.0', 1, 'd83882201764f7d339e97c4b087f0806', TRUE, 'Fr5JHlcaEqKLSHjnBm4gXg==', 'translator', NULL), +(3, TIMESTAMP '2013-06-24 15:41:33.0', TIMESTAMP '2013-06-24 16:02:38.292', 2, 'b1e3daa18e41c0ce79829e87ce66b201', TRUE, 'fRIeiPDPlSMtHbBNoqDjNQ==', 'glossarist', NULL); CREATE CACHED TABLE PUBLIC.HACCOUNTROLE( ID INTEGER DEFAULT (NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_CABC6C67_570F_4ED0_B44B_3B742AA1AAEC) NOT NULL NULL_TO_DEFAULT SEQUENCE PUBLIC.SYSTEM_SEQUENCE_CABC6C67_570F_4ED0_B44B_3B742AA1AAEC, CONDITIONAL BIT NOT NULL, @@ -842,8 +845,8 @@ ALTER TABLE PUBLIC.HDOCUMENT ADD CONSTRAINT PUBLIC.CONSTRAINT_154 UNIQUE(DOCID, ALTER TABLE PUBLIC.HPERSONEMAILVALIDATIONKEY ADD CONSTRAINT PUBLIC.CONSTRAINT_7F91 UNIQUE(KEYHASH); ALTER TABLE PUBLIC.HTEXTFLOW ADD CONSTRAINT PUBLIC.UKRESIDDOCUMENT_ID UNIQUE(RESID, DOCUMENT_ID); ALTER TABLE PUBLIC.HGLOSSARYTERM ADD CONSTRAINT PUBLIC.UKGLOSSARYENTRYID_LOCALEID UNIQUE(GLOSSARYENTRYID, LOCALEID); -ALTER TABLE PUBLIC.HITERATIONGROUP ADD CONSTRAINT PUBLIC.CONSTRAINT_DD9 UNIQUE(SLUG); ALTER TABLE PUBLIC.HPROJECT ADD CONSTRAINT PUBLIC.CONSTRAINT_4FB UNIQUE(SLUG); +ALTER TABLE PUBLIC.HITERATIONGROUP ADD CONSTRAINT PUBLIC.CONSTRAINT_DD9 UNIQUE(SLUG); ALTER TABLE PUBLIC.HTEXTFLOWHISTORY ADD CONSTRAINT PUBLIC.CONSTRAINT_FE2 UNIQUE(REVISION, TF_ID); ALTER TABLE PUBLIC.HLOCALE ADD CONSTRAINT PUBLIC.CONSTRAINT_66E UNIQUE(LOCALEID); ALTER TABLE PUBLIC.HPERSONEMAILVALIDATIONKEY ADD CONSTRAINT PUBLIC.CONSTRAINT_7F9 UNIQUE(PERSONID); @@ -852,8 +855,8 @@ ALTER TABLE PUBLIC.HTEXTFLOWTARGET ADD CONSTRAINT PUBLIC.CONSTRAINT_981 UNIQUE(L ALTER TABLE PUBLIC.HPOTENTRYDATA ADD CONSTRAINT PUBLIC.CONSTRAINT_2096 UNIQUE(TF_ID); ALTER TABLE PUBLIC.HPOTARGETHEADER ADD CONSTRAINT PUBLIC.CONSTRAINT_254 UNIQUE(DOCUMENT_ID, TARGETLANGUAGE); ALTER TABLE PUBLIC.HACCOUNTACTIVATIONKEY ADD CONSTRAINT PUBLIC.CONSTRAINT_AE UNIQUE(ACCOUNTID); -ALTER TABLE PUBLIC.HACCOUNT ADD CONSTRAINT PUBLIC.CONSTRAINT_1B UNIQUE(USERNAME); ALTER TABLE PUBLIC.HPROJECTITERATION ADD CONSTRAINT PUBLIC.CONSTRAINT_FCE UNIQUE(SLUG, PROJECT_ID); +ALTER TABLE PUBLIC.HACCOUNT ADD CONSTRAINT PUBLIC.CONSTRAINT_1B UNIQUE(USERNAME); ALTER TABLE PUBLIC.HITERATIONGROUP_MAINTAINER ADD CONSTRAINT PUBLIC.FKITERATIONGROUPMAINTAINER_PERSONID FOREIGN KEY(PERSONID) REFERENCES PUBLIC.HPERSON(ID) NOCHECK; ALTER TABLE PUBLIC.HDOCUMENT_RAWDOCUMENT ADD CONSTRAINT PUBLIC.FK_HDOCUMENTRAWDOCUMENT_RAWDOCUMENT FOREIGN KEY(RAWDOCUMENTID) REFERENCES PUBLIC.HRAWDOCUMENT(ID) NOCHECK; ALTER TABLE PUBLIC.HITERATIONGROUP_PROJECTITERATION ADD CONSTRAINT PUBLIC.FKITERATIONGROUP_PROJECTITERATION_PROJECTITERATIONID FOREIGN KEY(PROJECTITERATIONID) REFERENCES PUBLIC.HPROJECTITERATION(ID) NOCHECK; @@ -861,8 +864,8 @@ ALTER TABLE PUBLIC.HPROJECT_LOCALE ADD CONSTRAINT PUBLIC.FKHPROJECTLOCALELOC FOR ALTER TABLE PUBLIC.HACCOUNTOPTION ADD CONSTRAINT PUBLIC.FK_HACCOUNTOPTION_HACCOUNT FOREIGN KEY(ACCOUNT_ID) REFERENCES PUBLIC.HACCOUNT(ID) NOCHECK; ALTER TABLE PUBLIC.HTEXTFLOW ADD CONSTRAINT PUBLIC.FK7B40F863B7A40DF2 FOREIGN KEY(COMMENT_ID) REFERENCES PUBLIC.HSIMPLECOMMENT(ID) NOCHECK; ALTER TABLE PUBLIC.HPROJECTITERATION_VALIDATION ADD CONSTRAINT PUBLIC.FK_HPROJECTITERATION_VALIDATION_HPROJECTITERATION FOREIGN KEY(PROJECTITERATIONID) REFERENCES PUBLIC.HPROJECTITERATION(ID) NOCHECK; -ALTER TABLE PUBLIC.HPOTARGETHEADER ADD CONSTRAINT PUBLIC.FK1BC719855383E2F0 FOREIGN KEY(DOCUMENT_ID) REFERENCES PUBLIC.HDOCUMENT(ID) NOCHECK; ALTER TABLE PUBLIC.HTEXTFLOWTARGET ADD CONSTRAINT PUBLIC.FK1E933FD4CCAD9D19 FOREIGN KEY(TF_ID) REFERENCES PUBLIC.HTEXTFLOW(ID) NOCHECK; +ALTER TABLE PUBLIC.HPOTARGETHEADER ADD CONSTRAINT PUBLIC.FK1BC719855383E2F0 FOREIGN KEY(DOCUMENT_ID) REFERENCES PUBLIC.HDOCUMENT(ID) NOCHECK; ALTER TABLE PUBLIC.HITERATIONGROUP_MAINTAINER ADD CONSTRAINT PUBLIC.FKITERATIONGROUPMAINTAINER_ITERATIONGROUPID FOREIGN KEY(ITERATIONGROUPID) REFERENCES PUBLIC.HITERATIONGROUP(ID) NOCHECK; ALTER TABLE PUBLIC.HPROJECT_ALLOWEDROLE ADD CONSTRAINT PUBLIC.FK_HPROJECTALLOWEDROLE_PROJECT FOREIGN KEY(PROJECTID) REFERENCES PUBLIC.HPROJECT(ID) NOCHECK; ALTER TABLE PUBLIC.HDOCUMENT ADD CONSTRAINT PUBLIC.FKEA766D83136CC025 FOREIGN KEY(POHEADER_ID) REFERENCES PUBLIC.HPOHEADER(ID) NOCHECK; @@ -881,10 +884,10 @@ ALTER TABLE PUBLIC.HTEXTFLOWTARGETHISTORY ADD CONSTRAINT PUBLIC.FKF10986206C9BAD ALTER TABLE PUBLIC.HDOCUMENT_RAWDOCUMENT ADD CONSTRAINT PUBLIC.FK_HDOCUMENTRAWDOCUMENT_DOCUMENT FOREIGN KEY(DOCUMENTID) REFERENCES PUBLIC.HDOCUMENT(ID) NOCHECK; ALTER TABLE PUBLIC.HTEXTFLOWTARGETHISTORY ADD CONSTRAINT PUBLIC.FKF109862080727E8B FOREIGN KEY(TARGET_ID) REFERENCES PUBLIC.HTEXTFLOWTARGET(ID) NOCHECK; ALTER TABLE PUBLIC.HDOCUMENTUPLOADPART ADD CONSTRAINT PUBLIC.FK_HDOCUMENTUPLOADPART_DOCUMENTUPLOAD FOREIGN KEY(DOCUMENTUPLOADID) REFERENCES PUBLIC.HDOCUMENTUPLOAD(ID) NOCHECK; -ALTER TABLE PUBLIC.HDOCUMENT ADD CONSTRAINT PUBLIC.FKEA766D8351ED6DFD FOREIGN KEY(PROJECT_ITERATION_ID) REFERENCES PUBLIC.HPROJECTITERATION(ID) NOCHECK; ALTER TABLE PUBLIC.HDOCUMENTUPLOAD ADD CONSTRAINT PUBLIC.FK_HDOCUMENTUPLOAD_PROJECTITERATION FOREIGN KEY(PROJECTITERATIONID) REFERENCES PUBLIC.HPROJECTITERATION(ID) NOCHECK; -ALTER TABLE PUBLIC.HTEXTFLOWCONTENTHISTORY ADD CONSTRAINT PUBLIC.FKCONTENT_TEXT_FLOW_HISTORY FOREIGN KEY(TEXT_FLOW_HISTORY_ID) REFERENCES PUBLIC.HTEXTFLOWHISTORY(ID) NOCHECK; +ALTER TABLE PUBLIC.HDOCUMENT ADD CONSTRAINT PUBLIC.FKEA766D8351ED6DFD FOREIGN KEY(PROJECT_ITERATION_ID) REFERENCES PUBLIC.HPROJECTITERATION(ID) NOCHECK; ALTER TABLE PUBLIC.HTEXTFLOWTARGET ADD CONSTRAINT PUBLIC.FK1E933FD4B7A40DF2 FOREIGN KEY(COMMENT_ID) REFERENCES PUBLIC.HSIMPLECOMMENT(ID) NOCHECK; +ALTER TABLE PUBLIC.HTEXTFLOWCONTENTHISTORY ADD CONSTRAINT PUBLIC.FKCONTENT_TEXT_FLOW_HISTORY FOREIGN KEY(TEXT_FLOW_HISTORY_ID) REFERENCES PUBLIC.HTEXTFLOWHISTORY(ID) NOCHECK; ALTER TABLE PUBLIC.HDOCUMENT ADD CONSTRAINT PUBLIC.FKEA766D83FEA3B54A FOREIGN KEY(LOCALE) REFERENCES PUBLIC.HLOCALE(ID) NOCHECK; ALTER TABLE PUBLIC.HTEXTFLOWTARGET ADD CONSTRAINT PUBLIC.FK1E933FD46C9BADC1 FOREIGN KEY(LAST_MODIFIED_BY_ID) REFERENCES PUBLIC.HPERSON(ID) NOCHECK; ALTER TABLE PUBLIC.HACCOUNTMEMBERSHIP ADD CONSTRAINT PUBLIC.FK9D5DB27BFA68C45F FOREIGN KEY(ACCOUNTID) REFERENCES PUBLIC.HACCOUNT(ID) NOCHECK; @@ -896,8 +899,8 @@ ALTER TABLE PUBLIC.HPROJECT ADD CONSTRAINT PUBLIC.FK_HPROJECT_HCOPYTRANSOPTS FOR ALTER TABLE PUBLIC.HPOTARGETHEADER ADD CONSTRAINT PUBLIC.FK1BC71985B7A40DF2 FOREIGN KEY(COMMENT_ID) REFERENCES PUBLIC.HSIMPLECOMMENT(ID) NOCHECK; ALTER TABLE PUBLIC.HTEXTFLOWHISTORY ADD CONSTRAINT PUBLIC.FK46C4DEB1CCAD9D19 FOREIGN KEY(TF_ID) REFERENCES PUBLIC.HTEXTFLOW(ID) NOCHECK; ALTER TABLE PUBLIC.HROLEASSIGNMENTRULE ADD CONSTRAINT PUBLIC.FK_HROLEASSIGNMENTRULE_HACCOUNTROLE FOREIGN KEY(ROLE_TO_ASSIGN_ID) REFERENCES PUBLIC.HACCOUNTROLE(ID) NOCHECK; -ALTER TABLE PUBLIC.HACCOUNT ADD CONSTRAINT PUBLIC.FK_HACCOUNT_MERGEDINTOACCOUNT FOREIGN KEY(MERGEDINTO) REFERENCES PUBLIC.HACCOUNT(ID) NOCHECK; ALTER TABLE PUBLIC.HPROJECT_MAINTAINER ADD CONSTRAINT PUBLIC.FK1491F2E665B5BB37 FOREIGN KEY(PROJECTID) REFERENCES PUBLIC.HPROJECT(ID) NOCHECK; +ALTER TABLE PUBLIC.HACCOUNT ADD CONSTRAINT PUBLIC.FK_HACCOUNT_MERGEDINTOACCOUNT FOREIGN KEY(MERGEDINTO) REFERENCES PUBLIC.HACCOUNT(ID) NOCHECK; ALTER TABLE PUBLIC.HTEXTFLOW ADD CONSTRAINT PUBLIC.FK7B40F8635383E2F0 FOREIGN KEY(DOCUMENT_ID) REFERENCES PUBLIC.HDOCUMENT(ID) NOCHECK; ALTER TABLE PUBLIC.HPOTENTRYDATA ADD CONSTRAINT PUBLIC.FK17A648CFCCAD9D19 FOREIGN KEY(TF_ID) REFERENCES PUBLIC.HTEXTFLOW(ID) NOCHECK; ALTER TABLE PUBLIC.HPOTARGETHEADER ADD CONSTRAINT PUBLIC.FK1BC719857D208AD9 FOREIGN KEY(TARGETLANGUAGE) REFERENCES PUBLIC.HLOCALE(ID) NOCHECK; @@ -912,9 +915,9 @@ ALTER TABLE PUBLIC.HPROJECTITERATION_LOCALE ADD CONSTRAINT PUBLIC.FKHPROJECTITEL ALTER TABLE PUBLIC.HPROJECTITERATION_LOCALE ADD CONSTRAINT PUBLIC.FKHPROJECTITELOCPRO FOREIGN KEY(PROJECTITERATIONID) REFERENCES PUBLIC.HPROJECTITERATION(ID) NOCHECK; ALTER TABLE PUBLIC.HACCOUNTROLEGROUP ADD CONSTRAINT PUBLIC.FK3321CC642DF53D7E FOREIGN KEY(ROLEID) REFERENCES PUBLIC.HACCOUNTROLE(ID) NOCHECK; ALTER TABLE PUBLIC.HACCOUNTRESETPASSWORDKEY ADD CONSTRAINT PUBLIC.FK85C9EFDAFA68C45F FOREIGN KEY(ACCOUNTID) REFERENCES PUBLIC.HACCOUNT(ID) NOCHECK; -ALTER TABLE PUBLIC.HDOCUMENT ADD CONSTRAINT PUBLIC.FKEA766D836C9BADC1 FOREIGN KEY(LAST_MODIFIED_BY_ID) REFERENCES PUBLIC.HPERSON(ID) NOCHECK; ALTER TABLE PUBLIC.HPERSONEMAILVALIDATIONKEY ADD CONSTRAINT PUBLIC.FK_HPERSONEMAILVALIDATIONKEY_HPERSON FOREIGN KEY(PERSONID) REFERENCES PUBLIC.HPERSON(ID) NOCHECK; +ALTER TABLE PUBLIC.HDOCUMENT ADD CONSTRAINT PUBLIC.FKEA766D836C9BADC1 FOREIGN KEY(LAST_MODIFIED_BY_ID) REFERENCES PUBLIC.HPERSON(ID) NOCHECK; ALTER TABLE PUBLIC.HDOCUMENTUPLOAD ADD CONSTRAINT PUBLIC.FK_HDOCUMENTUPLOAD_LOCALE FOREIGN KEY(LOCALEID) REFERENCES PUBLIC.HLOCALE(ID) NOCHECK; -ALTER TABLE PUBLIC.HACCOUNTMEMBERSHIP ADD CONSTRAINT PUBLIC.FK9D5DB27B3E684F5E FOREIGN KEY(MEMBEROF) REFERENCES PUBLIC.HACCOUNTROLE(ID) NOCHECK; ALTER TABLE PUBLIC.HTEXTFLOWTARGETCONTENTHISTORY ADD CONSTRAINT PUBLIC.FKCONTENT_TEXT_FLOW_TARGET_HISTORY FOREIGN KEY(TEXT_FLOW_TARGET_HISTORY_ID) REFERENCES PUBLIC.HTEXTFLOWTARGETHISTORY(ID) NOCHECK; +ALTER TABLE PUBLIC.HACCOUNTMEMBERSHIP ADD CONSTRAINT PUBLIC.FK9D5DB27B3E684F5E FOREIGN KEY(MEMBEROF) REFERENCES PUBLIC.HACCOUNTROLE(ID) NOCHECK; CREATE FORCE TRIGGER PUBLIC.HDOCUMENT_UPDATE AFTER UPDATE ON PUBLIC.HDOCUMENT FOR EACH ROW QUEUE 1024 CALL "org.zanata.H2DocumentHistoryTrigger"; diff --git a/functional-test/src/test/resources/create_glossarist_user.sql b/functional-test/src/test/resources/create_glossarist_user.sql new file mode 100644 index 0000000000..c2f8091b66 --- /dev/null +++ b/functional-test/src/test/resources/create_glossarist_user.sql @@ -0,0 +1,6 @@ +INSERT INTO HAccount (ID,CREATIONDATE,LASTCHANGED,VERSIONNUM,APIKEY,ENABLED,PASSWORDHASH,USERNAME,MERGEDINTO) VALUES (3,{ts '2013-06-24 15:41:33'},{ts '2013-06-24 15:43:10'},0,'b1e3daa18e41c0ce79829e87ce66b201','true','fRIeiPDPlSMtHbBNoqDjNQ==','glossarist',null); + +INSERT INTO HPerson (ID,CREATIONDATE,LASTCHANGED,VERSIONNUM,EMAIL,NAME,ACCOUNTID) VALUES (3,{ts '2013-06-24 15:41:33'},{ts '2013-06-24 15:41:33'},0,'glossarist@example.com','glossarist',3); + +-- glossarist role +INSERT INTO HAccountMembership (accountId,memberOf) VALUES (3,2); \ No newline at end of file diff --git a/functional-test/src/test/resources/zanata-user-config/zanata-glossarist.ini b/functional-test/src/test/resources/zanata-user-config/zanata-glossarist.ini new file mode 100644 index 0000000000..51e94d44a0 --- /dev/null +++ b/functional-test/src/test/resources/zanata-user-config/zanata-glossarist.ini @@ -0,0 +1,4 @@ +[servers] +localhost.url=${zanata.instance.url} +localhost.username=glossarist +localhost.key=b1e3daa18e41c0ce79829e87ce66b201 \ No newline at end of file