From da28dc6306831d8ddbd19062e27fd8adaf3c2786 Mon Sep 17 00:00:00 2001 From: Tom Page Date: Mon, 20 Jul 2020 13:57:57 +0100 Subject: [PATCH 01/57] MNT-21132 Create extra secondary contains association for items in hold. --- .../org_alfresco_module_rm/hold/HoldServiceImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java index 74491189f0..8c54c80c26 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImpl.java @@ -28,6 +28,7 @@ package org.alfresco.module.org_alfresco_module_rm.hold; import static org.alfresco.model.ContentModel.ASPECT_LOCKABLE; +import static org.alfresco.model.ContentModel.ASSOC_CONTAINS; import static org.alfresco.model.ContentModel.PROP_NAME; import java.io.Serializable; @@ -312,7 +313,7 @@ public class HoldServiceImpl extends ServiceBaseImpl if (holdContainer != null) { // get the children of the root hold container - List holdsAssocs = nodeService.getChildAssocs(holdContainer, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); + List holdsAssocs = nodeService.getChildAssocs(holdContainer, ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); for (ChildAssociationRef holdAssoc : holdsAssocs) { NodeRef hold = holdAssoc.getChildRef(); @@ -405,7 +406,7 @@ public class HoldServiceImpl extends ServiceBaseImpl NodeRef holdContainer = filePlanService.getHoldContainer(filePlan); // get the hold by name - NodeRef hold = nodeService.getChildByName(holdContainer, ContentModel.ASSOC_CONTAINS, name); + NodeRef hold = nodeService.getChildByName(holdContainer, ASSOC_CONTAINS, name); if (hold != null && !isHold(hold)) { throw new AlfrescoRuntimeException("Can not get hold, because the named node reference isn't a hold."); @@ -468,7 +469,7 @@ public class HoldServiceImpl extends ServiceBaseImpl QName assocName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, name); // create hold - ChildAssociationRef childAssocRef = nodeService.createNode(holdContainer, ContentModel.ASSOC_CONTAINS, assocName, TYPE_HOLD, properties); + ChildAssociationRef childAssocRef = nodeService.createNode(holdContainer, ASSOC_CONTAINS, assocName, TYPE_HOLD, properties); NodeRef holdNodeRef = childAssocRef.getChildRef(); @@ -658,6 +659,9 @@ public class HoldServiceImpl extends ServiceBaseImpl //set in transaction cache in order not to trigger update policy when adding the association transactionalResourceHelper.getSet("frozen").add(nodeRef); nodeService.addChild(hold, nodeRef, ASSOC_FROZEN_CONTENT, ASSOC_FROZEN_CONTENT); + // get the documents primary parent assoc + ChildAssociationRef parentAssoc = nodeService.getPrimaryParent(nodeRef); + nodeService.addChild(hold, nodeRef, ASSOC_CONTAINS, parentAssoc.getQName()); // Mark all the folders contents as frozen if (isRecordFolder(nodeRef)) From 31769d50956c687ba652f23f9369429686af70a0 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 26 Oct 2020 16:53:27 +0200 Subject: [PATCH 02/57] add the tests to run on my sql [execute tests on MySQL] --- .travis.yml | 15 +++++++++++++-- scripts/my_sql_travis.sql | 7 +++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 scripts/my_sql_travis.sql diff --git a/.travis.yml b/.travis.yml index e1d2c83088..fc68178163 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,13 +63,24 @@ jobs: - travis_retry travis_wait 35 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-benchmark/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - name: "Community Integrations Tests on MySQL" + services: mysql stage: Tests + if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - mysql -u root --password="" < scripts/my_sql_travis.sql script: - - echo "Community Integrations Tests on MySQL" + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - name: "Enterprise Integrations Tests on MySQL" + services: mysql stage: Tests + if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - mysql -u root --password="" < scripts/my_sql_travis.sql + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn script: - - echo "Enterprise Integrations Tests on MySQL" + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - name: "Community Rest API Tests" stage: Tests diff --git a/scripts/my_sql_travis.sql b/scripts/my_sql_travis.sql new file mode 100644 index 0000000000..2c55a1a3d3 --- /dev/null +++ b/scripts/my_sql_travis.sql @@ -0,0 +1,7 @@ +# Create alfresco +CREATE USER 'alfresco' IDENTIFIED BY 'alfresco'; +GRANT ALL on alfresco.* to 'alfresco'@'%' identified by 'alfresco' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +# Create DB +CREATE DATABASE IF NOT EXISTS `alfresco` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; \ No newline at end of file From cf8e32bfff49d98e7f415563e9328d2587a5a20d Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Wed, 28 Oct 2020 17:11:05 +0200 Subject: [PATCH 03/57] use the same approach to start mysql as in bamboo [execute tests on MySQL] --- .travis.yml | 5 ++--- scripts/mysql/common.sh | 18 +++++++++++++++++ scripts/mysql/start.sh | 44 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh diff --git a/.travis.yml b/.travis.yml index fc68178163..56d3523566 100644 --- a/.travis.yml +++ b/.travis.yml @@ -72,11 +72,10 @@ jobs: - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - name: "Enterprise Integrations Tests on MySQL" - services: mysql + services: docker stage: Tests if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: - - mysql -u root --password="" < scripts/my_sql_travis.sql + before_install: source scripts/mysql/start.sh mysql:5.6.26 install: - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn script: diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100644 index 0000000000..d10c45f3e7 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 + +usage () { + echo "Usage: $0 " +} + +if [[ $# -ne 1 ]]; then + usage + exit 1 +fi \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..14b4e0f8e8 --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -e + +. $(dirname $0)/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e +MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file From 552b763a6c91a4ea6e629ea02ca6783462ca17ed Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Wed, 28 Oct 2020 20:25:06 +0200 Subject: [PATCH 04/57] fix the path for common script [execute tests on MySQL] --- scripts/mysql/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index 14b4e0f8e8..e28461999a 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -. $(dirname $0)/common.sh +./common.sh echo "============================================" echo "Generate custom config file" From 86b48a9a0ccb24c482b4a0908ceae6f1d2b8b019 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Thu, 29 Oct 2020 08:28:45 +0200 Subject: [PATCH 05/57] attempt to fix the path for common script [execute tests on MySQL] --- scripts/mysql/start.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index e28461999a..8a4fcfb71a 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -1,7 +1,8 @@ #!/bin/bash set -e - -./common.sh +DIRECTORY=`dirname $0` +echo $DIRECTORY +. $(dirname $0)/common.sh echo "============================================" echo "Generate custom config file" @@ -35,8 +36,7 @@ FLUSH PRIVILEGES; echo "============================================" echo "Pulling and Running $1" echo "============================================" -sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e -MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" sleep 120 From ce0094216aecfc384e66d71b77729a0cbdc2d79d Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Thu, 29 Oct 2020 14:35:43 +0200 Subject: [PATCH 06/57] attempt to fix common path [execute tests on MySQL] --- scripts/mysql/common.sh | 12 ++---------- scripts/mysql/start.sh | 2 +- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh index d10c45f3e7..a9cafd07e6 100644 --- a/scripts/mysql/common.sh +++ b/scripts/mysql/common.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -xe CONTAINER_NAME=alfresco-db-mysql MYSQL_USER=alfresco @@ -6,13 +7,4 @@ MYSQL_ROOT_PASSWORD=alfresco MYSQL_DATABASE=alfresco MYSQL_HOST=127.0.0.1 -MYSQL_PORT=3306 - -usage () { - echo "Usage: $0 " -} - -if [[ $# -ne 1 ]]; then - usage - exit 1 -fi \ No newline at end of file +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index 8a4fcfb71a..fcb8934aa2 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -2,7 +2,7 @@ set -e DIRECTORY=`dirname $0` echo $DIRECTORY -. $(dirname $0)/common.sh + $(dirname "${BASH_SOURCE[0]}")/common.sh echo "============================================" echo "Generate custom config file" From 781108594a113e6a44988a6768600ddfaf121d35 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Thu, 29 Oct 2020 20:57:11 +0200 Subject: [PATCH 07/57] Make common.sh executable [execute tests on MySQL] --- scripts/mysql/common.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/mysql/common.sh diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh old mode 100644 new mode 100755 From beede537931bfe4026de288fb638d74874344e5a Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 30 Oct 2020 08:00:58 +0200 Subject: [PATCH 08/57] attempt to debug the docker command --- scripts/mysql/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index fcb8934aa2..09c7ff1dad 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -e +set -xe DIRECTORY=`dirname $0` echo $DIRECTORY $(dirname "${BASH_SOURCE[0]}")/common.sh From 0a01fe2c0c8a0574887cc3d6f061b4c64f74bc19 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 30 Oct 2020 12:57:10 +0200 Subject: [PATCH 09/57] fix setting the variables [execute tests on MySQL] --- scripts/mysql/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index 09c7ff1dad..38a705febd 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -2,7 +2,7 @@ set -xe DIRECTORY=`dirname $0` echo $DIRECTORY - $(dirname "${BASH_SOURCE[0]}")/common.sh +. $(dirname "${BASH_SOURCE[0]}")/common.sh echo "============================================" echo "Generate custom config file" From e0ae436c49fadabfd16c832951ce49624126f2ef Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 30 Oct 2020 16:18:47 +0200 Subject: [PATCH 10/57] some refactoring [execute tests on MySQL] --- .travis.yml | 23 +++---------------- scripts/my_sql_travis.sql | 7 ------ scripts/mysql/common.sh | 2 +- scripts/mysql/start.sh | 5 ++-- .../travis-env-vars.yml | 0 travis/travis_integration_test_MySQL.yml | 23 +++++++++++++++++++ 6 files changed, 29 insertions(+), 31 deletions(-) delete mode 100644 scripts/my_sql_travis.sql rename travis-env-vars.yml => travis/travis-env-vars.yml (100%) create mode 100644 travis/travis_integration_test_MySQL.yml diff --git a/.travis.yml b/.travis.yml index 56d3523566..654183c30e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ import: - - source: travis-env-vars.yml + - source: travis/travis-env-vars.yml + - source: travis/travis_integration_test_MySQL.yml + os: linux dist: xenial language: java @@ -62,25 +64,6 @@ jobs: script: - travis_retry travis_wait 35 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-benchmark/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - name: "Community Integrations Tests on MySQL" - services: mysql - stage: Tests - if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: - - mysql -u root --password="" < scripts/my_sql_travis.sql - script: - - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - - name: "Enterprise Integrations Tests on MySQL" - services: docker - stage: Tests - if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: source scripts/mysql/start.sh mysql:5.6.26 - install: - - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - script: - - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - name: "Community Rest API Tests" stage: Tests before_install: diff --git a/scripts/my_sql_travis.sql b/scripts/my_sql_travis.sql deleted file mode 100644 index 2c55a1a3d3..0000000000 --- a/scripts/my_sql_travis.sql +++ /dev/null @@ -1,7 +0,0 @@ -# Create alfresco -CREATE USER 'alfresco' IDENTIFIED BY 'alfresco'; -GRANT ALL on alfresco.* to 'alfresco'@'%' identified by 'alfresco' with grant option; -FLUSH HOSTS; -FLUSH PRIVILEGES; -# Create DB -CREATE DATABASE IF NOT EXISTS `alfresco` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; \ No newline at end of file diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh index a9cafd07e6..f6ed525df9 100755 --- a/scripts/mysql/common.sh +++ b/scripts/mysql/common.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -xe +set -e CONTAINER_NAME=alfresco-db-mysql MYSQL_USER=alfresco diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh index 38a705febd..155572ff0e 100644 --- a/scripts/mysql/start.sh +++ b/scripts/mysql/start.sh @@ -1,7 +1,6 @@ #!/bin/bash -set -xe -DIRECTORY=`dirname $0` -echo $DIRECTORY +set -e + . $(dirname "${BASH_SOURCE[0]}")/common.sh echo "============================================" diff --git a/travis-env-vars.yml b/travis/travis-env-vars.yml similarity index 100% rename from travis-env-vars.yml rename to travis/travis-env-vars.yml diff --git a/travis/travis_integration_test_MySQL.yml b/travis/travis_integration_test_MySQL.yml new file mode 100644 index 0000000000..60bb68dd92 --- /dev/null +++ b/travis/travis_integration_test_MySQL.yml @@ -0,0 +1,23 @@ +###Running the Integration tests on MySQL +## - stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: mysql + stage: Tests + if: branch =~ /release\/.*/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: source ./scripts/mysql/start.sh mysql:5.6.26 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + services: docker + stage: Tests + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 5251b8702e37fb37eecc4569c49d124e906f43e4 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 30 Oct 2020 17:05:46 +0200 Subject: [PATCH 11/57] fix community failure[execute tests on MySQL] --- travis/travis_integration_test_MySQL.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/travis/travis_integration_test_MySQL.yml b/travis/travis_integration_test_MySQL.yml index 60bb68dd92..8a9a5e75ed 100644 --- a/travis/travis_integration_test_MySQL.yml +++ b/travis/travis_integration_test_MySQL.yml @@ -1,14 +1,14 @@ -###Running the Integration tests on MySQL -## - stable branch +### Integration tests on MySQL are running: +## - on stable branch ## - on demand with commit message [execute tests on MySQL] jobs: include: - &integration_test_on_MYSQL name: "Community Integrations Tests on MySQL" - services: mysql + services: docker stage: Tests - if: branch =~ /release\/.*/ OR commit_message =~ /\[execute tests on MySQL\]/ + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ before_install: source ./scripts/mysql/start.sh mysql:5.6.26 script: - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 67165ad23a37eaaf1c0542df5f131c7e887cb586 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Sun, 1 Nov 2020 20:56:19 +0200 Subject: [PATCH 12/57] code review changes [execute tests on MySQL] --- travis/travis_integration_test_MySQL.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/travis/travis_integration_test_MySQL.yml b/travis/travis_integration_test_MySQL.yml index 8a9a5e75ed..9f20b1660b 100644 --- a/travis/travis_integration_test_MySQL.yml +++ b/travis/travis_integration_test_MySQL.yml @@ -15,8 +15,6 @@ jobs: - <<: *integration_test_on_MYSQL name: "Enterprise Integrations Tests on MySQL" - services: docker - stage: Tests install: - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn script: From 8d7701f05c3324f034420dfd4174d89328216f07 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 26 Oct 2020 16:53:27 +0200 Subject: [PATCH 13/57] add the tests to run on my sql [execute tests on MySQL] --- .travis.yml | 15 +++++++++++++-- scripts/my_sql_travis.sql | 7 +++++++ 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 scripts/my_sql_travis.sql diff --git a/.travis.yml b/.travis.yml index 1ba277c630..634ae1d153 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,13 +64,24 @@ jobs: - travis_retry travis_wait 35 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-benchmark/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - name: "Community Integrations Tests on MySQL" + services: mysql stage: Tests + if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - mysql -u root --password="" < scripts/my_sql_travis.sql script: - - echo "Community Integrations Tests on MySQL" + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - name: "Enterprise Integrations Tests on MySQL" + services: mysql stage: Tests + if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - mysql -u root --password="" < scripts/my_sql_travis.sql + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn script: - - echo "Enterprise Integrations Tests on MySQL" + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - name: "Community Rest API Tests" stage: Tests diff --git a/scripts/my_sql_travis.sql b/scripts/my_sql_travis.sql new file mode 100644 index 0000000000..2c55a1a3d3 --- /dev/null +++ b/scripts/my_sql_travis.sql @@ -0,0 +1,7 @@ +# Create alfresco +CREATE USER 'alfresco' IDENTIFIED BY 'alfresco'; +GRANT ALL on alfresco.* to 'alfresco'@'%' identified by 'alfresco' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +# Create DB +CREATE DATABASE IF NOT EXISTS `alfresco` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; \ No newline at end of file From c92db58106194179d3b12956ab4fa71758e45eb8 Mon Sep 17 00:00:00 2001 From: Rodica Sutu Date: Mon, 2 Nov 2020 07:56:35 +0200 Subject: [PATCH 14/57] Merge pull request #1265 from Alfresco/feature-2.7/APPS-234_IntegrationTestsOnMySQL Feature 2.7/apps 234 integration tests on my sql # Conflicts: # .travis.yml --- .travis.yml | 24 ++--------- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../travis-env-vars.yml | 0 travis/travis_integration_test_MySQL.yml | 21 +++++++++ 5 files changed, 77 insertions(+), 21 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename travis-env-vars.yml => travis/travis-env-vars.yml (100%) create mode 100644 travis/travis_integration_test_MySQL.yml diff --git a/.travis.yml b/.travis.yml index 634ae1d153..0aae63c89a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ import: - - source: travis-env-vars.yml + - source: travis/travis-env-vars.yml + - source: travis/travis_integration_test_MySQL.yml + os: linux dist: xenial language: java @@ -63,26 +65,6 @@ jobs: script: - travis_retry travis_wait 35 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-benchmark/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - name: "Community Integrations Tests on MySQL" - services: mysql - stage: Tests - if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: - - mysql -u root --password="" < scripts/my_sql_travis.sql - script: - - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - - name: "Enterprise Integrations Tests on MySQL" - services: mysql - stage: Tests - if: branch IN (release\/V2.7.*, hotfix-2.7\/.*) OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: - - mysql -u root --password="" < scripts/my_sql_travis.sql - install: - - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - script: - - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - name: "Community Rest API Tests" stage: Tests before_install: diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/travis-env-vars.yml b/travis/travis-env-vars.yml similarity index 100% rename from travis-env-vars.yml rename to travis/travis-env-vars.yml diff --git a/travis/travis_integration_test_MySQL.yml b/travis/travis_integration_test_MySQL.yml new file mode 100644 index 0000000000..9f20b1660b --- /dev/null +++ b/travis/travis_integration_test_MySQL.yml @@ -0,0 +1,21 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: source ./scripts/mysql/start.sh mysql:5.6.26 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 0f514959cb5873982859abceaae9cc5139264bbc Mon Sep 17 00:00:00 2001 From: Rodica Sutu Date: Mon, 2 Nov 2020 07:56:35 +0200 Subject: [PATCH 15/57] Merge pull request #1265 from Alfresco/feature-2.7/APPS-234_IntegrationTestsOnMySQL [execute tests on MySQL] Feature 2.7/apps 234 integration tests on my sql # Conflicts: # .travis.yml # Conflicts: # .travis.yml --- .travis.yml | 21 +++------ scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../travis-env-vars.yml | 0 travis/travis_integration_test_MySQL.yml | 21 +++++++++ 5 files changed, 81 insertions(+), 14 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename travis-env-vars.yml => travis/travis-env-vars.yml (100%) create mode 100644 travis/travis_integration_test_MySQL.yml diff --git a/.travis.yml b/.travis.yml index 86eeac0a9f..fa8ba16e3b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ import: - - source: travis-env-vars.yml + - source: travis/travis-env-vars.yml + - source: travis/travis_integration_test_MySQL.yml + os: linux dist: xenial language: java @@ -62,20 +64,11 @@ jobs: script: - travis_retry travis_wait 35 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-benchmark/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_COMMUNITY_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $S3_COMMUNITY_INSTALLER_PATH $AUTOMATION_COMMUNITY_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_COMMUNITY_PATH/pom.xml script: - travis_wait 60 mvn -B install -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_COMMUNITY_PATH/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn @@ -84,7 +77,7 @@ jobs: stage: Tests before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_ENTERPRISE_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $S3_ENTERPRISE_INSTALLER_PATH $AUTOMATION_ENTERPRISE_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_ENTERPRISE_PATH/pom.xml script: - travis_wait 60 mvn -B install -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_ENTERPRISE_PATH/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn @@ -102,7 +95,7 @@ jobs: target_paths: $TRAVIS_BUILD_NUMBER before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $S3_COMMUNITY_INSTALLER_PATH $AUTOMATION_UI_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_UI_PATH/pom.xml script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_UI_PATH/pom.xml -DsuiteXmlFile=communitySmokeRecords.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} @@ -130,7 +123,7 @@ jobs: target_paths: $TRAVIS_BUILD_NUMBER before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $S3_ENTERPRISE_INSTALLER_PATH $AUTOMATION_UI_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_UI_PATH/pom.xml script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_UI_PATH/pom.xml -DsuiteXmlFile=enterpriseLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/travis-env-vars.yml b/travis/travis-env-vars.yml similarity index 100% rename from travis-env-vars.yml rename to travis/travis-env-vars.yml diff --git a/travis/travis_integration_test_MySQL.yml b/travis/travis_integration_test_MySQL.yml new file mode 100644 index 0000000000..9f20b1660b --- /dev/null +++ b/travis/travis_integration_test_MySQL.yml @@ -0,0 +1,21 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: source ./scripts/mysql/start.sh mysql:5.6.26 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From b7ebd96238552c5e45caaae77263621af4819523 Mon Sep 17 00:00:00 2001 From: Rodica Sutu Date: Mon, 2 Nov 2020 07:56:35 +0200 Subject: [PATCH 16/57] Merge pull request #1265 from Alfresco/feature-2.7/APPS-234_IntegrationTestsOnMySQL [execute tests on MySQL] Feature 2.7/apps 234 integration tests on my sql # Conflicts: # .travis.yml # Conflicts: # .travis.yml --- .travis.yml | 21 +++------ scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../travis-env-vars.yml | 0 travis/travis_integration_test_MySQL.yml | 21 +++++++++ 5 files changed, 81 insertions(+), 14 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename travis-env-vars.yml => travis/travis-env-vars.yml (100%) create mode 100644 travis/travis_integration_test_MySQL.yml diff --git a/.travis.yml b/.travis.yml index 86eeac0a9f..fa8ba16e3b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ import: - - source: travis-env-vars.yml + - source: travis/travis-env-vars.yml + - source: travis/travis_integration_test_MySQL.yml + os: linux dist: xenial language: java @@ -62,20 +64,11 @@ jobs: script: - travis_retry travis_wait 35 mvn -B -q clean ${MAVEN_PHASE} -Dskip.integrationtests=false -f rm-benchmark/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_COMMUNITY_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $S3_COMMUNITY_INSTALLER_PATH $AUTOMATION_COMMUNITY_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_COMMUNITY_PATH/pom.xml script: - travis_wait 60 mvn -B install -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_COMMUNITY_PATH/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn @@ -84,7 +77,7 @@ jobs: stage: Tests before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_ENTERPRISE_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $S3_ENTERPRISE_INSTALLER_PATH $AUTOMATION_ENTERPRISE_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_ENTERPRISE_PATH/pom.xml script: - travis_wait 60 mvn -B install -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_ENTERPRISE_PATH/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn @@ -102,7 +95,7 @@ jobs: target_paths: $TRAVIS_BUILD_NUMBER before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $S3_COMMUNITY_INSTALLER_PATH $AUTOMATION_UI_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_UI_PATH/pom.xml script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_UI_PATH/pom.xml -DsuiteXmlFile=communitySmokeRecords.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} @@ -130,7 +123,7 @@ jobs: target_paths: $TRAVIS_BUILD_NUMBER before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $S3_ENTERPRISE_INSTALLER_PATH $AUTOMATION_UI_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_UI_PATH/pom.xml script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_UI_PATH/pom.xml -DsuiteXmlFile=enterpriseLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/travis-env-vars.yml b/travis/travis-env-vars.yml similarity index 100% rename from travis-env-vars.yml rename to travis/travis-env-vars.yml diff --git a/travis/travis_integration_test_MySQL.yml b/travis/travis_integration_test_MySQL.yml new file mode 100644 index 0000000000..9f20b1660b --- /dev/null +++ b/travis/travis_integration_test_MySQL.yml @@ -0,0 +1,21 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: source ./scripts/mysql/start.sh mysql:5.6.26 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 94b4a2bd03b8a5baca16ce4b7f91ca03f5d5b581 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 15:11:31 +0200 Subject: [PATCH 17/57] revert unwanted changes --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index fa8ba16e3b..c1bf5571d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -68,7 +68,7 @@ jobs: stage: Tests before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $S3_COMMUNITY_INSTALLER_PATH $AUTOMATION_COMMUNITY_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_COMMUNITY_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_COMMUNITY_PATH/pom.xml script: - travis_wait 60 mvn -B install -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_COMMUNITY_PATH/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn @@ -77,7 +77,7 @@ jobs: stage: Tests before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $S3_ENTERPRISE_INSTALLER_PATH $AUTOMATION_ENTERPRISE_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_ENTERPRISE_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_ENTERPRISE_PATH/pom.xml script: - travis_wait 60 mvn -B install -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_ENTERPRISE_PATH/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn @@ -95,7 +95,7 @@ jobs: target_paths: $TRAVIS_BUILD_NUMBER before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $S3_COMMUNITY_INSTALLER_PATH $AUTOMATION_UI_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_UI_PATH/pom.xml script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_UI_PATH/pom.xml -DsuiteXmlFile=communitySmokeRecords.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} @@ -123,7 +123,7 @@ jobs: target_paths: $TRAVIS_BUILD_NUMBER before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $S3_ENTERPRISE_INSTALLER_PATH $AUTOMATION_UI_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_UI_PATH/pom.xml script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_UI_PATH/pom.xml -DsuiteXmlFile=enterpriseLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} From af17226bc5824f3fe890cef7fe4ac7ae78ee2dc4 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 15:11:31 +0200 Subject: [PATCH 18/57] revert unwanted changes --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index fa8ba16e3b..c1bf5571d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -68,7 +68,7 @@ jobs: stage: Tests before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $S3_COMMUNITY_INSTALLER_PATH $AUTOMATION_COMMUNITY_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_COMMUNITY_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_COMMUNITY_PATH/pom.xml script: - travis_wait 60 mvn -B install -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_COMMUNITY_PATH/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn @@ -77,7 +77,7 @@ jobs: stage: Tests before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $S3_ENTERPRISE_INSTALLER_PATH $AUTOMATION_ENTERPRISE_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_ENTERPRISE_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_ENTERPRISE_PATH/pom.xml script: - travis_wait 60 mvn -B install -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_ENTERPRISE_PATH/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn @@ -95,7 +95,7 @@ jobs: target_paths: $TRAVIS_BUILD_NUMBER before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $S3_COMMUNITY_INSTALLER_PATH $AUTOMATION_UI_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-community -q -f $AUTOMATION_UI_PATH/pom.xml script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_UI_PATH/pom.xml -DsuiteXmlFile=communitySmokeRecords.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} @@ -123,7 +123,7 @@ jobs: target_paths: $TRAVIS_BUILD_NUMBER before_install: - travis_retry travis_wait 90 mvn -B install -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests -q - - travis_wait 5 bash scripts/downloadInstaller.sh $S3_ENTERPRISE_INSTALLER_PATH $AUTOMATION_UI_PATH/target + - travis_wait 5 bash scripts/downloadInstaller.sh $AUTOMATION_UI_PATH/target install: travis_wait 20 mvn -B install -PinstallAlfresco,apply-rm-enterprise -q -f $AUTOMATION_UI_PATH/pom.xml script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -Prun-alfresco -Dskip.automationtests=false -f $AUTOMATION_UI_PATH/pom.xml -DsuiteXmlFile=enterpriseLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} From e8db40be263bd0569aaef2d5f3ff0cc71fd7b348 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 15:35:30 +0200 Subject: [PATCH 19/57] fix travis import [execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0535bcf841..3eb352e4e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis_integration_tests_MySQL.yml + - source: travis/.travis-integration-tests-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From 706a7efd9b1f35217d776500e5c94e938e9cdc78 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 16:16:47 +0200 Subject: [PATCH 20/57] fix typo[execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3eb352e4e8..36aa6949bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-tests-MySQL.yml + - source: travis/.travis-integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From a191ebded5690fa552f30707cb5625e3fa134e99 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 17:42:25 +0200 Subject: [PATCH 21/57] fix import of travis file [execute tests on MySQL] --- .travis.yml | 2 +- travis/{.travis-env-vars.yml => .travis.env-vars.yml} | 0 ...ration-test-MySQL.yml => .travis.integration-test-MySQL.yml} | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename travis/{.travis-env-vars.yml => .travis.env-vars.yml} (100%) rename travis/{.travis-integration-test-MySQL.yml => .travis.integration-test-MySQL.yml} (100%) diff --git a/.travis.yml b/.travis.yml index 36aa6949bb..ea33c47959 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-test-MySQL.yml + - source: travis/.travis.integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial diff --git a/travis/.travis-env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from travis/.travis-env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis-integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml similarity index 100% rename from travis/.travis-integration-test-MySQL.yml rename to travis/.travis.integration-test-MySQL.yml From 07c6a50ff2a97fa6ba208bba241c16ffd5e44aed Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 20:18:44 +0200 Subject: [PATCH 22/57] remo the stages that are duplicated [execute tests on MySQL] --- travis/.travis.tests-stage.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/travis/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml index 7a20d80d9a..8edc813953 100644 --- a/travis/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests install: From bd5c7664b13f9276ea437299f55073da0c794b6d Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 09:00:46 +0200 Subject: [PATCH 23/57] Merge remote-tracking branch 'remotes/origin/release/V2.7' into feature-3.0/APPS-234_IntegrationTestsOnMySQL_no [execute tests on MySQL] # Conflicts: # .travis.env-vars.yml # .travis.yml # travis-env-vars.yml # travis/travis-env-vars.yml --- .travis.yml | 9 ++-- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../.travis-env-vars.yml | 0 travis/.travis-integration-test-MySQL.yml | 21 +++++++++ .../.travis.publish-stage.yml | 0 .../.travis.release-stage.yml | 0 .../.travis.tests-stage.yml | 0 8 files changed, 79 insertions(+), 4 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename .travis.env-vars.yml => travis/.travis-env-vars.yml (100%) create mode 100644 travis/.travis-integration-test-MySQL.yml rename .travis.publish-stage.yml => travis/.travis.publish-stage.yml (100%) rename .travis.release-stage.yml => travis/.travis.release-stage.yml (100%) rename .travis.tests-stage.yml => travis/.travis.tests-stage.yml (100%) diff --git a/.travis.yml b/.travis.yml index b21ccbc3f3..ca460ce2b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ import: - - source: .travis.env-vars.yml - - source: .travis.tests-stage.yml - - source: .travis.release-stage.yml - - source: .travis.publish-stage.yml + - source: travis/.travis.env-vars.yml + - source: travis/.travis.tests-stage.yml + - source: travis/.travis_integration_tests_MySQL.yml + - source: travis/.travis.release-stage.yml + - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/.travis.env-vars.yml b/travis/.travis-env-vars.yml similarity index 100% rename from .travis.env-vars.yml rename to travis/.travis-env-vars.yml diff --git a/travis/.travis-integration-test-MySQL.yml b/travis/.travis-integration-test-MySQL.yml new file mode 100644 index 0000000000..9f20b1660b --- /dev/null +++ b/travis/.travis-integration-test-MySQL.yml @@ -0,0 +1,21 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: source ./scripts/mysql/start.sh mysql:5.6.26 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/.travis.publish-stage.yml b/travis/.travis.publish-stage.yml similarity index 100% rename from .travis.publish-stage.yml rename to travis/.travis.publish-stage.yml diff --git a/.travis.release-stage.yml b/travis/.travis.release-stage.yml similarity index 100% rename from .travis.release-stage.yml rename to travis/.travis.release-stage.yml diff --git a/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml similarity index 100% rename from .travis.tests-stage.yml rename to travis/.travis.tests-stage.yml From e9be924ca094a3653a0e04a82347989a513eba28 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 15:35:30 +0200 Subject: [PATCH 24/57] fix travis import [execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ca460ce2b7..8870bd344d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis_integration_tests_MySQL.yml + - source: travis/.travis-integration-tests-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From 07d2c9f0b528375ddf0872bc97218427dd3eb648 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 16:16:47 +0200 Subject: [PATCH 25/57] fix typo[execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8870bd344d..ca244ac488 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-tests-MySQL.yml + - source: travis/.travis-integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From f249ca243ba968e9e4e7ce90ccd90480588586c9 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 17:42:25 +0200 Subject: [PATCH 26/57] fix import of travis file [execute tests on MySQL] --- .travis.yml | 2 +- travis/{.travis-env-vars.yml => .travis.env-vars.yml} | 0 ...ration-test-MySQL.yml => .travis.integration-test-MySQL.yml} | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename travis/{.travis-env-vars.yml => .travis.env-vars.yml} (100%) rename travis/{.travis-integration-test-MySQL.yml => .travis.integration-test-MySQL.yml} (100%) diff --git a/.travis.yml b/.travis.yml index ca244ac488..66c2efeba5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-test-MySQL.yml + - source: travis/.travis.integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial diff --git a/travis/.travis-env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from travis/.travis-env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis-integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml similarity index 100% rename from travis/.travis-integration-test-MySQL.yml rename to travis/.travis.integration-test-MySQL.yml From d264daddaec96f7ec2040c2fec75fb1cb683b2fb Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 20:18:44 +0200 Subject: [PATCH 27/57] remo the stages that are duplicated [execute tests on MySQL] --- travis/.travis.tests-stage.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/travis/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml index 7a20d80d9a..8edc813953 100644 --- a/travis/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests install: From 0fe387c8c65b456f1025adf3eb18d7eb2a3ff52f Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 09:00:46 +0200 Subject: [PATCH 28/57] Merge remote-tracking branch 'remotes/origin/release/V2.7' into feature-3.0/APPS-234_IntegrationTestsOnMySQL_no [execute tests on MySQL] # Conflicts: # .travis.env-vars.yml # .travis.yml # travis-env-vars.yml # travis/travis-env-vars.yml --- .travis.yml | 9 ++-- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../.travis-env-vars.yml | 0 travis/.travis-integration-test-MySQL.yml | 21 +++++++++ .../.travis.publish-stage.yml | 0 .../.travis.release-stage.yml | 0 .../.travis.tests-stage.yml | 0 8 files changed, 79 insertions(+), 4 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename .travis.env-vars.yml => travis/.travis-env-vars.yml (100%) create mode 100644 travis/.travis-integration-test-MySQL.yml rename .travis.publish-stage.yml => travis/.travis.publish-stage.yml (100%) rename .travis.release-stage.yml => travis/.travis.release-stage.yml (100%) rename .travis.tests-stage.yml => travis/.travis.tests-stage.yml (100%) diff --git a/.travis.yml b/.travis.yml index b21ccbc3f3..ca460ce2b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ import: - - source: .travis.env-vars.yml - - source: .travis.tests-stage.yml - - source: .travis.release-stage.yml - - source: .travis.publish-stage.yml + - source: travis/.travis.env-vars.yml + - source: travis/.travis.tests-stage.yml + - source: travis/.travis_integration_tests_MySQL.yml + - source: travis/.travis.release-stage.yml + - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/.travis.env-vars.yml b/travis/.travis-env-vars.yml similarity index 100% rename from .travis.env-vars.yml rename to travis/.travis-env-vars.yml diff --git a/travis/.travis-integration-test-MySQL.yml b/travis/.travis-integration-test-MySQL.yml new file mode 100644 index 0000000000..9f20b1660b --- /dev/null +++ b/travis/.travis-integration-test-MySQL.yml @@ -0,0 +1,21 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: source ./scripts/mysql/start.sh mysql:5.6.26 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/.travis.publish-stage.yml b/travis/.travis.publish-stage.yml similarity index 100% rename from .travis.publish-stage.yml rename to travis/.travis.publish-stage.yml diff --git a/.travis.release-stage.yml b/travis/.travis.release-stage.yml similarity index 100% rename from .travis.release-stage.yml rename to travis/.travis.release-stage.yml diff --git a/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml similarity index 100% rename from .travis.tests-stage.yml rename to travis/.travis.tests-stage.yml From e2c932c5ea26c212a3ce16a97124d42e422f97bd Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 15:35:30 +0200 Subject: [PATCH 29/57] fix travis import [execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ca460ce2b7..8870bd344d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis_integration_tests_MySQL.yml + - source: travis/.travis-integration-tests-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From afb0ef46d4365a7d819a1c18a047887783b112bf Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 16:16:47 +0200 Subject: [PATCH 30/57] fix typo[execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8870bd344d..ca244ac488 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-tests-MySQL.yml + - source: travis/.travis-integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From 7381ba9cc9c529f2128d12a77ada40436373a2bd Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 17:42:25 +0200 Subject: [PATCH 31/57] fix import of travis file [execute tests on MySQL] --- .travis.yml | 2 +- travis/{.travis-env-vars.yml => .travis.env-vars.yml} | 0 ...ration-test-MySQL.yml => .travis.integration-test-MySQL.yml} | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename travis/{.travis-env-vars.yml => .travis.env-vars.yml} (100%) rename travis/{.travis-integration-test-MySQL.yml => .travis.integration-test-MySQL.yml} (100%) diff --git a/.travis.yml b/.travis.yml index ca244ac488..66c2efeba5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-test-MySQL.yml + - source: travis/.travis.integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial diff --git a/travis/.travis-env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from travis/.travis-env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis-integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml similarity index 100% rename from travis/.travis-integration-test-MySQL.yml rename to travis/.travis.integration-test-MySQL.yml From 16d5ac0be8a1350c198579043b4f01264eb2eb5b Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 20:18:44 +0200 Subject: [PATCH 32/57] remo the stages that are duplicated [execute tests on MySQL] --- travis/.travis.tests-stage.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/travis/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml index 7a20d80d9a..8edc813953 100644 --- a/travis/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests install: From 606e2cce31363ba21c4d4e163b88dcab4b946442 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 09:00:46 +0200 Subject: [PATCH 33/57] Merge remote-tracking branch 'remotes/origin/release/V2.7' into feature-3.0/APPS-234_IntegrationTestsOnMySQL_no [execute tests on MySQL] # Conflicts: # .travis.env-vars.yml # .travis.yml # travis-env-vars.yml # travis/travis-env-vars.yml --- .travis.yml | 9 ++-- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../.travis-env-vars.yml | 0 travis/.travis-integration-test-MySQL.yml | 21 +++++++++ .../.travis.publish-stage.yml | 0 .../.travis.release-stage.yml | 0 .../.travis.tests-stage.yml | 0 8 files changed, 79 insertions(+), 4 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename .travis.env-vars.yml => travis/.travis-env-vars.yml (100%) create mode 100644 travis/.travis-integration-test-MySQL.yml rename .travis.publish-stage.yml => travis/.travis.publish-stage.yml (100%) rename .travis.release-stage.yml => travis/.travis.release-stage.yml (100%) rename .travis.tests-stage.yml => travis/.travis.tests-stage.yml (100%) diff --git a/.travis.yml b/.travis.yml index 91b1a7704f..0535bcf841 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ import: - - source: .travis.env-vars.yml - - source: .travis.tests-stage.yml - - source: .travis.release-stage.yml - - source: .travis.publish-stage.yml + - source: travis/.travis.env-vars.yml + - source: travis/.travis.tests-stage.yml + - source: travis/.travis_integration_tests_MySQL.yml + - source: travis/.travis.release-stage.yml + - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/.travis.env-vars.yml b/travis/.travis-env-vars.yml similarity index 100% rename from .travis.env-vars.yml rename to travis/.travis-env-vars.yml diff --git a/travis/.travis-integration-test-MySQL.yml b/travis/.travis-integration-test-MySQL.yml new file mode 100644 index 0000000000..9f20b1660b --- /dev/null +++ b/travis/.travis-integration-test-MySQL.yml @@ -0,0 +1,21 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: source ./scripts/mysql/start.sh mysql:5.6.26 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/.travis.publish-stage.yml b/travis/.travis.publish-stage.yml similarity index 100% rename from .travis.publish-stage.yml rename to travis/.travis.publish-stage.yml diff --git a/.travis.release-stage.yml b/travis/.travis.release-stage.yml similarity index 100% rename from .travis.release-stage.yml rename to travis/.travis.release-stage.yml diff --git a/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml similarity index 100% rename from .travis.tests-stage.yml rename to travis/.travis.tests-stage.yml From 1225ddc30cb9592b103ccbf10599c019d3414fa7 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 15:35:30 +0200 Subject: [PATCH 34/57] fix travis import [execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0535bcf841..3eb352e4e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis_integration_tests_MySQL.yml + - source: travis/.travis-integration-tests-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From bb3bdfa4830f814e05dfc591ce9d762ad641cf64 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 16:16:47 +0200 Subject: [PATCH 35/57] fix typo[execute tests on MySQL] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3eb352e4e8..36aa6949bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-tests-MySQL.yml + - source: travis/.travis-integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial From 0b8807aace03f1c5fb78acbcf3e9cda1e4609742 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 17:42:25 +0200 Subject: [PATCH 36/57] fix import of travis file [execute tests on MySQL] --- .travis.yml | 2 +- travis/{.travis-env-vars.yml => .travis.env-vars.yml} | 0 ...ration-test-MySQL.yml => .travis.integration-test-MySQL.yml} | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename travis/{.travis-env-vars.yml => .travis.env-vars.yml} (100%) rename travis/{.travis-integration-test-MySQL.yml => .travis.integration-test-MySQL.yml} (100%) diff --git a/.travis.yml b/.travis.yml index 36aa6949bb..ea33c47959 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ import: - source: travis/.travis.env-vars.yml - source: travis/.travis.tests-stage.yml - - source: travis/.travis-integration-test-MySQL.yml + - source: travis/.travis.integration-test-MySQL.yml - source: travis/.travis.release-stage.yml - source: travis/.travis.publish-stage.yml dist: xenial diff --git a/travis/.travis-env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from travis/.travis-env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis-integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml similarity index 100% rename from travis/.travis-integration-test-MySQL.yml rename to travis/.travis.integration-test-MySQL.yml From 8d681ccd45c1a9b821863fd15ca7dd9b4009a937 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 2 Nov 2020 20:18:44 +0200 Subject: [PATCH 37/57] remo the stages that are duplicated [execute tests on MySQL] --- travis/.travis.tests-stage.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/travis/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml index 7a20d80d9a..8edc813953 100644 --- a/travis/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests install: From 03c80dc821e5cb0c4b1ab3c879a15a692d3b887a Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Tue, 3 Nov 2020 08:59:49 +0200 Subject: [PATCH 38/57] add ActiveMQ [execute tests on MySQL] --- travis/.travis.integration-test-MySQL.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml index 9f20b1660b..ace98067f3 100644 --- a/travis/.travis.integration-test-MySQL.yml +++ b/travis/.travis.integration-test-MySQL.yml @@ -9,7 +9,9 @@ jobs: services: docker stage: Tests if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: source ./scripts/mysql/start.sh mysql:5.6.26 + before_install: + - source ./scripts/mysql/start.sh mysql:5.7.23 + - docker run -d -p 61616:61616 alfresco/alfresco-activemq:5.15.8 script: - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 04994e5036509590f2a4bea88af7420ac3864f15 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Wed, 4 Nov 2020 08:22:15 +0200 Subject: [PATCH 39/57] revert the change of mysql version [execute tests on MySQL] --- travis/.travis.integration-test-MySQL.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml index ace98067f3..d6b4dff914 100644 --- a/travis/.travis.integration-test-MySQL.yml +++ b/travis/.travis.integration-test-MySQL.yml @@ -10,7 +10,7 @@ jobs: stage: Tests if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ before_install: - - source ./scripts/mysql/start.sh mysql:5.7.23 + - source ./scripts/mysql/start.sh mysql:5.6.26 - docker run -d -p 61616:61616 alfresco/alfresco-activemq:5.15.8 script: - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 1f2d20e45f1a3f5baea1f0b8d49427297b86aec7 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Wed, 4 Nov 2020 09:41:48 +0200 Subject: [PATCH 40/57] fix port issue for activemq [execute tests on MySQL] --- travis/.travis.integration-test-MySQL.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml index d6b4dff914..acbdd3a307 100644 --- a/travis/.travis.integration-test-MySQL.yml +++ b/travis/.travis.integration-test-MySQL.yml @@ -11,7 +11,7 @@ jobs: if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ before_install: - source ./scripts/mysql/start.sh mysql:5.6.26 - - docker run -d -p 61616:61616 alfresco/alfresco-activemq:5.15.8 + - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 script: - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 18c22f3e518cfa81be79875442a9db01e514f299 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Wed, 4 Nov 2020 14:29:03 +0200 Subject: [PATCH 41/57] code review [execute tests on MySQL] --- travis/.travis.integration-test-MySQL.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml index acbdd3a307..233c5eaeb7 100644 --- a/travis/.travis.integration-test-MySQL.yml +++ b/travis/.travis.integration-test-MySQL.yml @@ -18,6 +18,6 @@ jobs: - <<: *integration_test_on_MYSQL name: "Enterprise Integrations Tests on MySQL" install: - - travis_retry travis_wait 60 mvn -B -q clean install -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn script: - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 59747df3f42b9469ccdf08984361df64d7dab3a6 Mon Sep 17 00:00:00 2001 From: Rodica Sutu Date: Thu, 5 Nov 2020 09:22:28 +0200 Subject: [PATCH 42/57] Merge pull request #1269 from Alfresco/merge-3.1/APPS-234_IntegrationTestsOnMySQL_3.1_no Merge 3.1/apps 234 integration tests on my sql 3.1 no --- .travis.yml | 9 ++-- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../.travis.env-vars.yml | 0 travis/.travis.integration-test-MySQL.yml | 23 ++++++++++ .../.travis.publish-stage.yml | 0 .../.travis.release-stage.yml | 0 .../.travis.tests-stage.yml | 9 ---- 8 files changed, 81 insertions(+), 13 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename .travis.env-vars.yml => travis/.travis.env-vars.yml (100%) create mode 100644 travis/.travis.integration-test-MySQL.yml rename .travis.publish-stage.yml => travis/.travis.publish-stage.yml (100%) rename .travis.release-stage.yml => travis/.travis.release-stage.yml (100%) rename .travis.tests-stage.yml => travis/.travis.tests-stage.yml (96%) diff --git a/.travis.yml b/.travis.yml index 1a9212f0a7..2f5e967fdc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ import: - - source: .travis.env-vars.yml - - source: .travis.tests-stage.yml - - source: .travis.release-stage.yml - - source: .travis.publish-stage.yml + - source: travis/.travis.env-vars.yml + - source: travis/.travis.tests-stage.yml + - source: travis/.travis.integration-test-MySQL.yml + - source: travis/.travis.release-stage.yml + - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/.travis.env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from .travis.env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml new file mode 100644 index 0000000000..233c5eaeb7 --- /dev/null +++ b/travis/.travis.integration-test-MySQL.yml @@ -0,0 +1,23 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - source ./scripts/mysql/start.sh mysql:5.6.26 + - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/.travis.publish-stage.yml b/travis/.travis.publish-stage.yml similarity index 100% rename from .travis.publish-stage.yml rename to travis/.travis.publish-stage.yml diff --git a/.travis.release-stage.yml b/travis/.travis.release-stage.yml similarity index 100% rename from .travis.release-stage.yml rename to travis/.travis.release-stage.yml diff --git a/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml similarity index 96% rename from .travis.tests-stage.yml rename to travis/.travis.tests-stage.yml index b893fb6332..71df7a10b8 100644 --- a/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests install: From 5f741b37879717b125392bf08b78fb2902cb91e1 Mon Sep 17 00:00:00 2001 From: Rodica Sutu Date: Thu, 5 Nov 2020 09:22:28 +0200 Subject: [PATCH 43/57] Merge pull request #1269 from Alfresco/merge-3.1/APPS-234_IntegrationTestsOnMySQL_3.1_no Merge 3.1/apps 234 integration tests on my sql 3.1 no --- .travis.yml | 9 ++-- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../.travis.env-vars.yml | 0 travis/.travis.integration-test-MySQL.yml | 23 ++++++++++ .../.travis.publish-stage.yml | 0 .../.travis.release-stage.yml | 0 .../.travis.tests-stage.yml | 9 ---- 8 files changed, 81 insertions(+), 13 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename .travis.env-vars.yml => travis/.travis.env-vars.yml (100%) create mode 100644 travis/.travis.integration-test-MySQL.yml rename .travis.publish-stage.yml => travis/.travis.publish-stage.yml (100%) rename .travis.release-stage.yml => travis/.travis.release-stage.yml (100%) rename .travis.tests-stage.yml => travis/.travis.tests-stage.yml (96%) diff --git a/.travis.yml b/.travis.yml index 96bbcf2161..a61a87d351 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ import: - - source: .travis.env-vars.yml - - source: .travis.tests-stage.yml - - source: .travis.release-stage.yml - - source: .travis.publish-stage.yml + - source: travis/.travis.env-vars.yml + - source: travis/.travis.tests-stage.yml + - source: travis/.travis.integration-test-MySQL.yml + - source: travis/.travis.release-stage.yml + - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/.travis.env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from .travis.env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml new file mode 100644 index 0000000000..233c5eaeb7 --- /dev/null +++ b/travis/.travis.integration-test-MySQL.yml @@ -0,0 +1,23 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - source ./scripts/mysql/start.sh mysql:5.6.26 + - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/.travis.publish-stage.yml b/travis/.travis.publish-stage.yml similarity index 100% rename from .travis.publish-stage.yml rename to travis/.travis.publish-stage.yml diff --git a/.travis.release-stage.yml b/travis/.travis.release-stage.yml similarity index 100% rename from .travis.release-stage.yml rename to travis/.travis.release-stage.yml diff --git a/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml similarity index 96% rename from .travis.tests-stage.yml rename to travis/.travis.tests-stage.yml index b368d33bec..396c05a930 100644 --- a/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests install: From b0f23d8d3a1cc6f6e68d47e900270a2c0568cdec Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 9 Nov 2020 09:12:42 +0200 Subject: [PATCH 44/57] Merge remote-tracking branch 'remotes/origin/release/V3.2' into merge-3.3/APPS-234_IntegrationTestsOnMySQL_3.3_no --- .travis.yml | 9 ++-- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../.travis.env-vars.yml | 0 travis/.travis.integration-test-MySQL.yml | 23 ++++++++++ .../.travis.publish-stage.yml | 0 .../.travis.release-stage.yml | 0 .../.travis.tests-stage.yml | 9 ---- 8 files changed, 81 insertions(+), 13 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename .travis.env-vars.yml => travis/.travis.env-vars.yml (100%) create mode 100644 travis/.travis.integration-test-MySQL.yml rename .travis.publish-stage.yml => travis/.travis.publish-stage.yml (100%) rename .travis.release-stage.yml => travis/.travis.release-stage.yml (100%) rename .travis.tests-stage.yml => travis/.travis.tests-stage.yml (96%) diff --git a/.travis.yml b/.travis.yml index 646834929f..646ae944ae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ import: - - source: .travis.env-vars.yml - - source: .travis.tests-stage.yml - - source: .travis.release-stage.yml - - source: .travis.publish-stage.yml + - source: travis/.travis.env-vars.yml + - source: travis/.travis.tests-stage.yml + - source: travis/.travis.integration-test-MySQL.yml + - source: travis/.travis.release-stage.yml + - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/.travis.env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from .travis.env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml new file mode 100644 index 0000000000..233c5eaeb7 --- /dev/null +++ b/travis/.travis.integration-test-MySQL.yml @@ -0,0 +1,23 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - source ./scripts/mysql/start.sh mysql:5.6.26 + - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/.travis.publish-stage.yml b/travis/.travis.publish-stage.yml similarity index 100% rename from .travis.publish-stage.yml rename to travis/.travis.publish-stage.yml diff --git a/.travis.release-stage.yml b/travis/.travis.release-stage.yml similarity index 100% rename from .travis.release-stage.yml rename to travis/.travis.release-stage.yml diff --git a/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml similarity index 96% rename from .travis.tests-stage.yml rename to travis/.travis.tests-stage.yml index b368d33bec..396c05a930 100644 --- a/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests install: From 184b567862debfc984e04c55a8eccc4408afe255 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 9 Nov 2020 09:12:42 +0200 Subject: [PATCH 45/57] Merge remote-tracking branch 'remotes/origin/release/V3.2' into merge-3.3/APPS-234_IntegrationTestsOnMySQL_3.3_no --- .travis.yml | 9 ++-- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../.travis.env-vars.yml | 0 travis/.travis.integration-test-MySQL.yml | 23 ++++++++++ .../.travis.publish-stage.yml | 0 .../.travis.release-stage.yml | 0 .../.travis.tests-stage.yml | 9 ---- 8 files changed, 81 insertions(+), 13 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename .travis.env-vars.yml => travis/.travis.env-vars.yml (100%) create mode 100644 travis/.travis.integration-test-MySQL.yml rename .travis.publish-stage.yml => travis/.travis.publish-stage.yml (100%) rename .travis.release-stage.yml => travis/.travis.release-stage.yml (100%) rename .travis.tests-stage.yml => travis/.travis.tests-stage.yml (96%) diff --git a/.travis.yml b/.travis.yml index 646834929f..646ae944ae 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ import: - - source: .travis.env-vars.yml - - source: .travis.tests-stage.yml - - source: .travis.release-stage.yml - - source: .travis.publish-stage.yml + - source: travis/.travis.env-vars.yml + - source: travis/.travis.tests-stage.yml + - source: travis/.travis.integration-test-MySQL.yml + - source: travis/.travis.release-stage.yml + - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/.travis.env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from .travis.env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml new file mode 100644 index 0000000000..233c5eaeb7 --- /dev/null +++ b/travis/.travis.integration-test-MySQL.yml @@ -0,0 +1,23 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - source ./scripts/mysql/start.sh mysql:5.6.26 + - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/.travis.publish-stage.yml b/travis/.travis.publish-stage.yml similarity index 100% rename from .travis.publish-stage.yml rename to travis/.travis.publish-stage.yml diff --git a/.travis.release-stage.yml b/travis/.travis.release-stage.yml similarity index 100% rename from .travis.release-stage.yml rename to travis/.travis.release-stage.yml diff --git a/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml similarity index 96% rename from .travis.tests-stage.yml rename to travis/.travis.tests-stage.yml index b368d33bec..396c05a930 100644 --- a/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests install: From 58ae3e800ee055ecaf663bd960b47d01f2f08639 Mon Sep 17 00:00:00 2001 From: estan Date: Tue, 10 Nov 2020 13:21:10 +0200 Subject: [PATCH 46/57] MNT-21132 : Search Result points to incorrect link to Folder on Hold --- .../rest/rm/community/audit/AuditAddToHoldTests.java | 7 +++++-- .../rm/community/audit/AuditDeleteHoldTests.java | 2 +- .../rm/community/audit/AuditRemoveFromHoldTests.java | 12 ++++++++---- .../files/DeclareAndFileDocumentAsRecordTests.java | 5 +++-- .../rm/community/files/FileVersionAsRecordTests.java | 5 +++-- .../rest/rm/community/hold/AddToHoldsTests.java | 2 +- .../hold/PreventActionsOnFrozenContentTests.java | 2 +- .../rest/rm/community/hold/RemoveFromHoldsTests.java | 7 ++++--- .../hold/HoldServiceImplUnitTest.java | 6 ++++++ 9 files changed, 32 insertions(+), 16 deletions(-) diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java index b6be5b3c9d..e5303dd90a 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java @@ -41,6 +41,7 @@ import static org.apache.commons.httpclient.HttpStatus.SC_INTERNAL_SERVER_ERROR; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertTrue; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -94,6 +95,7 @@ public class AuditAddToHoldTests extends BaseRMRestTest private RecordCategoryChild recordFolder; private List auditEntries; private List holdsList = asList(HOLD1, HOLD2); + private List holdsListRef = new ArrayList<>(); private String hold1NodeRef; @BeforeClass (alwaysRun = true) @@ -102,7 +104,8 @@ public class AuditAddToHoldTests extends BaseRMRestTest STEP("Create 2 holds."); hold1NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD1, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); + String hold2NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); + holdsListRef = asList(hold1NodeRef, hold2NodeRef); STEP("Create a new record category with a record folder."); recordCategory = createRootCategory(getRandomName("recordCategory")); @@ -302,7 +305,7 @@ public class AuditAddToHoldTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAuditAddToHoldTests() { - holdsList.forEach(hold -> holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), hold)); + holdsListRef.forEach(hold -> holdsAPI.deleteHold(getAdminUser(), hold)); dataSite.usingAdmin().deleteSite(privateSite); asList(rmAdmin, rmManagerNoReadOnHold, rmManagerNoReadOnNode).forEach(user -> getDataUser().usingAdmin().deleteUser(user)); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordCategory.getId()); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditDeleteHoldTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditDeleteHoldTests.java index 9af4732fce..bfa791e677 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditDeleteHoldTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditDeleteHoldTests.java @@ -133,7 +133,7 @@ public class AuditDeleteHoldTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAuditDeleteHoldTests() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); asList(rmAdmin, rmManager).forEach(user -> getDataUser().usingAdmin().deleteUser(user)); } } diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java index 743ca7387d..53962228d7 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java @@ -41,6 +41,8 @@ import static org.apache.commons.httpclient.HttpStatus.SC_INTERNAL_SERVER_ERROR; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertTrue; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -97,6 +99,7 @@ public class AuditRemoveFromHoldTests extends BaseRMRestTest private Record heldRecord; private List auditEntries; private List holdsList = asList(HOLD1, HOLD2, HOLD3); + private List holdsListRef = new ArrayList<>(); private FileModel heldContent; private String hold1NodeRef; @@ -112,9 +115,10 @@ public class AuditRemoveFromHoldTests extends BaseRMRestTest STEP("Create new holds."); hold1NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD1, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD3, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), DELETED_HOLD, HOLD_REASON, HOLD_DESCRIPTION); + String hold2NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); + String hold3NodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD3, HOLD_REASON, HOLD_DESCRIPTION); + String deleteNodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), DELETED_HOLD, HOLD_REASON, HOLD_DESCRIPTION); + holdsListRef = asList(hold1NodeRef, hold2NodeRef, hold3NodeRef); STEP("Create a new record category with a record folder."); recordCategory = createRootCategory(getRandomName("recordCategory")); @@ -317,7 +321,7 @@ public class AuditRemoveFromHoldTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAuditRemoveFromHoldTests() { - holdsList.forEach(hold -> holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), hold)); + holdsListRef.forEach(hold -> holdsAPI.deleteHold(getAdminUser(), hold)); dataSite.usingAdmin().deleteSite(privateSite); asList(rmAdmin, rmManagerNoReadOnHold, rmManagerNoReadOnNode).forEach(user -> getDataUser().usingAdmin().deleteUser(user)); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordCategory.getId()); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareAndFileDocumentAsRecordTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareAndFileDocumentAsRecordTests.java index 61e91f4517..b9bf38e61d 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareAndFileDocumentAsRecordTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/DeclareAndFileDocumentAsRecordTests.java @@ -97,6 +97,7 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest private RecordCategory recordCategory; private RecordCategoryChild recordFolder, subcategoryRecordFolder, subCategory, closedRecordFolder, recordFolderWithSpacesInName; private UnfiledContainerChild unfiledContainerFolder; + private String holdNodeRef; @Autowired private DockerHelper dockerHelper; @@ -406,7 +407,7 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest public void declareAndFileToHeldRecordFolderUsingFilesAPI() throws Exception { RecordCategoryChild heldRecordFolder = createFolder(recordCategory.getId(), getRandomName("heldRecordFolder")); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); + holdNodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); holdsAPI.addItemToHold(getAdminUser().getUsername(), getAdminUser().getPassword(), heldRecordFolder.getId(), HOLD_NAME); @@ -457,7 +458,7 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest public void declareAndFileDocumentAsRecordCleanup() { //delete rm items - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); deleteRecordCategory(recordCategory.getId()); getRestAPIFactory().getUnfiledRecordFoldersAPI().deleteUnfiledRecordFolder(unfiledContainerFolder.getId()); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/FileVersionAsRecordTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/FileVersionAsRecordTests.java index dd6d0e453c..630be5e72e 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/FileVersionAsRecordTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/files/FileVersionAsRecordTests.java @@ -89,6 +89,7 @@ public class FileVersionAsRecordTests extends BaseRMRestTest private RecordCategory recordCategory; private RecordCategoryChild recordFolder, closedRecordFolder, heldRecordFolder; private UnfiledContainerChild unfiledContainerFolder; + private String holdNodeRef; @Autowired private RoleService roleService; @@ -114,7 +115,7 @@ public class FileVersionAsRecordTests extends BaseRMRestTest unfiledContainerFolder = createUnfiledContainerChild(UNFILED_RECORDS_CONTAINER_ALIAS, "Unfiled Folder " + getRandomAlphanumeric(), UNFILED_RECORD_FOLDER_TYPE); heldRecordFolder = createFolder(recordCategory.getId(), getRandomName("heldRecordFolder")); - holdsAPI.createHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); + holdNodeRef = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); holdsAPI.addItemToHold(getAdminUser().getUsername(), getAdminUser().getPassword(), heldRecordFolder.getId(), HOLD_NAME); @@ -284,7 +285,7 @@ public class FileVersionAsRecordTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void declareAndFileVersionAsRecordCleanUp() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_NAME); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); deleteRecordCategory(recordCategory.getId()); //delete created collaboration site diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/AddToHoldsTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/AddToHoldsTests.java index 20fb9fa802..97c4157fa0 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/AddToHoldsTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/AddToHoldsTests.java @@ -357,7 +357,7 @@ public class AddToHoldsTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAddContentToHold() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); dataSite.usingAdmin().deleteSite(testSite); users.forEach(user -> getDataUser().usingAdmin().deleteUser(user)); nodesToBeClean.forEach( category -> getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(category)); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/PreventActionsOnFrozenContentTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/PreventActionsOnFrozenContentTests.java index b2082940dc..903771257c 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/PreventActionsOnFrozenContentTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/PreventActionsOnFrozenContentTests.java @@ -324,7 +324,7 @@ public class PreventActionsOnFrozenContentTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpPreventActionsOnFrozenContent() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_ONE); + holdsAPI.deleteHold(getAdminUser(), holdNodeRef); dataSite.usingAdmin().deleteSite(testSite); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordFolder.getParentId()); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(categoryWithRS.getId()); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/RemoveFromHoldsTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/RemoveFromHoldsTests.java index 66cbd3f480..49621f0bd0 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/RemoveFromHoldsTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/hold/RemoveFromHoldsTests.java @@ -86,6 +86,7 @@ public class RemoveFromHoldsTests extends BaseRMRestTest private SiteModel testSite, privateSite; private String holdNodeRefOne; + private String holdNodeRefTwo; private FileModel contentHeld, contentAddToManyHolds; private Set usersToBeClean = new HashSet<>(); private Set nodesToBeClean = new HashSet<>(); @@ -100,7 +101,7 @@ public class RemoveFromHoldsTests extends BaseRMRestTest STEP("Create two holds."); holdNodeRefOne = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser().getUsername(), HOLD_ONE, HOLD_REASON, HOLD_DESCRIPTION); - holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser() + holdNodeRefTwo = holdsAPI.createHoldAndGetNodeRef(getAdminUser().getUsername(), getAdminUser() .getUsername(), HOLD_TWO, HOLD_REASON, HOLD_DESCRIPTION); STEP("Create test files."); @@ -326,8 +327,8 @@ public class RemoveFromHoldsTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpRemoveContentFromHold() { - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_ONE); - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), HOLD_TWO); + holdsAPI.deleteHold(getAdminUser(), holdNodeRefOne); + holdsAPI.deleteHold(getAdminUser(), holdNodeRefTwo); dataSite.usingAdmin().deleteSite(testSite); dataSite.usingAdmin().deleteSite(privateSite); usersToBeClean.forEach(user -> getDataUser().usingAdmin().deleteUser(user)); diff --git a/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImplUnitTest.java b/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImplUnitTest.java index b2f1314a3d..f4d1246027 100644 --- a/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImplUnitTest.java +++ b/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/hold/HoldServiceImplUnitTest.java @@ -98,6 +98,9 @@ public class HoldServiceImplUnitTest extends BaseUnitTest @Mock private CapabilityService mockedCapabilityService; + @Mock + private ChildAssociationRef mockChildAssociationRef; + @Spy @InjectMocks HoldServiceImpl holdService; @Before @@ -120,7 +123,9 @@ public class HoldServiceImplUnitTest extends BaseUnitTest QName contentSubtype = QName.createQName("contentSubtype", "contentSubtype"); when(mockedNodeService.getType(activeContent)).thenReturn(contentSubtype); when(mockedNodeTypeUtility.instanceOf(contentSubtype, ContentModel.TYPE_CONTENT)).thenReturn(true); + when(mockedNodeService.getPrimaryParent(activeContent)).thenReturn(mockChildAssociationRef); + when(mockedNodeService.getPrimaryParent(recordFolder)).thenReturn(mockChildAssociationRef); // setup interactions doReturn(holdContainer).when(mockedFilePlanService).getHoldContainer(filePlan); } @@ -353,6 +358,7 @@ public class HoldServiceImplUnitTest extends BaseUnitTest public void addToHoldNotInHold() { mockPoliciesForAddToHold(); + when(mockedNodeService.getPrimaryParent(record)).thenReturn(mockChildAssociationRef); holdService.addToHold(hold, recordFolder); From de0d649058ecf5c2258f50bb243b1a9523b01464 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Tue, 10 Nov 2020 17:07:07 +0200 Subject: [PATCH 47/57] Merge remote-tracking branch 'remotes/origin/release/V3.3' into merge-3.4/APPS-234_IntegrationTestsOnMySQL_3.4_no --- .travis.yml | 9 ++-- scripts/mysql/common.sh | 10 +++++ scripts/mysql/start.sh | 43 +++++++++++++++++++ .../.travis.env-vars.yml | 0 travis/.travis.integration-test-MySQL.yml | 23 ++++++++++ .../.travis.publish-stage.yml | 0 .../.travis.release-stage.yml | 0 .../.travis.tests-stage.yml | 9 ---- 8 files changed, 81 insertions(+), 13 deletions(-) create mode 100755 scripts/mysql/common.sh create mode 100644 scripts/mysql/start.sh rename .travis.env-vars.yml => travis/.travis.env-vars.yml (100%) create mode 100644 travis/.travis.integration-test-MySQL.yml rename .travis.publish-stage.yml => travis/.travis.publish-stage.yml (100%) rename .travis.release-stage.yml => travis/.travis.release-stage.yml (100%) rename .travis.tests-stage.yml => travis/.travis.tests-stage.yml (97%) diff --git a/.travis.yml b/.travis.yml index 30bb77c9e1..419ef99e0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,10 @@ --- import: - - source: .travis.env-vars.yml - - source: .travis.tests-stage.yml - - source: .travis.release-stage.yml - - source: .travis.publish-stage.yml + - source: travis/.travis.env-vars.yml + - source: travis/.travis.tests-stage.yml + - source: travis/.travis.integration-test-MySQL.yml + - source: travis/.travis.release-stage.yml + - source: travis/.travis.publish-stage.yml dist: xenial sudo: required language: java diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh new file mode 100755 index 0000000000..f6ed525df9 --- /dev/null +++ b/scripts/mysql/common.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -e +CONTAINER_NAME=alfresco-db-mysql + +MYSQL_USER=alfresco +MYSQL_ROOT_PASSWORD=alfresco +MYSQL_DATABASE=alfresco + +MYSQL_HOST=127.0.0.1 +MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh new file mode 100644 index 0000000000..155572ff0e --- /dev/null +++ b/scripts/mysql/start.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +. $(dirname "${BASH_SOURCE[0]}")/common.sh + +echo "============================================" +echo "Generate custom config file" +echo "============================================" +rm -rf /tmp/Docker +mkdir -p /tmp/Docker + +echo " +[mysqld] +collation-server = utf8_unicode_ci +character-set-server = utf8 +innodb_locks_unsafe_for_binlog = 1 +default_storage_engine = InnoDB +max_connections = 275 +lock_wait_timeout = 5 +innodb_buffer_pool_size = 1G +innodb_additional_mem_pool_size = 16M +innodb_log_file_size = 256M +innodb_log_buffer_size = 16M +innodb_data_file_path = ibdata1:64M:autoextend +innodb_autoextend_increment = 64 +init_file=/etc/mysql/conf.d/init-file.sql +" > /tmp/Docker/config-file.cnf + +echo " +GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; +FLUSH HOSTS; +FLUSH PRIVILEGES; +" > /tmp/Docker/init-file.sql + +echo "============================================" +echo "Pulling and Running $1" +echo "============================================" +sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" + +sleep 120 + +# The init_file option should be enough, but some old version of MariaDB do not honor it... +docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file diff --git a/.travis.env-vars.yml b/travis/.travis.env-vars.yml similarity index 100% rename from .travis.env-vars.yml rename to travis/.travis.env-vars.yml diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml new file mode 100644 index 0000000000..233c5eaeb7 --- /dev/null +++ b/travis/.travis.integration-test-MySQL.yml @@ -0,0 +1,23 @@ +### Integration tests on MySQL are running: +## - on stable branch +## - on demand with commit message [execute tests on MySQL] + +jobs: + include: + - &integration_test_on_MYSQL + name: "Community Integrations Tests on MySQL" + services: docker + stage: Tests + if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ + before_install: + - source ./scripts/mysql/start.sh mysql:5.6.26 + - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + + - <<: *integration_test_on_MYSQL + name: "Enterprise Integrations Tests on MySQL" + install: + - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn diff --git a/.travis.publish-stage.yml b/travis/.travis.publish-stage.yml similarity index 100% rename from .travis.publish-stage.yml rename to travis/.travis.publish-stage.yml diff --git a/.travis.release-stage.yml b/travis/.travis.release-stage.yml similarity index 100% rename from .travis.release-stage.yml rename to travis/.travis.release-stage.yml diff --git a/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml similarity index 97% rename from .travis.tests-stage.yml rename to travis/.travis.tests-stage.yml index 5f231e5ce2..b4c08fb5ea 100644 --- a/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -1,14 +1,5 @@ jobs: include: - - name: "Community Integrations Tests on MySQL" - stage: Tests - script: - - echo "Community Integrations Tests on MySQL" - - name: "Enterprise Integrations Tests on MySQL" - stage: Tests - script: - - echo "Enterprise Integrations Tests on MySQL" - - name: "Community Rest API Tests" stage: Tests install: From a565485f30e905199c44368e42131d582bb87e32 Mon Sep 17 00:00:00 2001 From: estan Date: Fri, 13 Nov 2020 09:45:14 +0200 Subject: [PATCH 48/57] MNT-21132 : Search Result points to incorrect link to Folder on Hold - fixed integration tests --- .../model/rma/aspect/RecordAspect.java | 2 +- .../test/integration/report/HoldReportTest.java | 5 ++--- .../legacy/capabilities/DeclarativeCapabilityTest.java | 9 ++------- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspect.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspect.java index 9b144b016e..25d03ad145 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspect.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordAspect.java @@ -435,7 +435,7 @@ public class RecordAspect extends AbstractDisposableItem { if (contentBefore != null && !contentBefore.equals(contentAfter)) { - throw new IntegrityException(MSG_WORM_RECORD_LOCKED, null); + throw new IntegrityException(I18NUtil.getMessage(MSG_WORM_RECORD_LOCKED), null); } } if (contentAfter != null) diff --git a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/report/HoldReportTest.java b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/report/HoldReportTest.java index b0332bdac2..6f18e5af82 100644 --- a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/report/HoldReportTest.java +++ b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/report/HoldReportTest.java @@ -126,7 +126,7 @@ public class HoldReportTest extends BaseRMTestCase implements ReportModel { // crate a hold hold = holdService.createHold(filePlan, HOLD_NAME, HOLD_REASON, HOLD_DESCRIPTION); - + // add some items to the hold folder1 = recordFolderService.createRecordFolder(rmContainer, FOLDER1_NAME); holdService.addToHold(hold, folder1); @@ -168,8 +168,7 @@ public class HoldReportTest extends BaseRMTestCase implements ReportModel public void after() { holdService.deleteHold(hold); - nodeService.deleteNode(folder1); } - }); + }); } } diff --git a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/capabilities/DeclarativeCapabilityTest.java b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/capabilities/DeclarativeCapabilityTest.java index 36d690d3b2..4b66fb6b80 100644 --- a/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/capabilities/DeclarativeCapabilityTest.java +++ b/rm-community/rm-community-repo/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/capabilities/DeclarativeCapabilityTest.java @@ -131,14 +131,9 @@ public class DeclarativeCapabilityTest extends BaseRMTestCase } @Override - protected void tearDownImpl() + protected void tearDown() throws Exception { - // Unfreeze stuff so it can be deleted - holdService.removeFromHold(hold, frozenRecord); - holdService.removeFromHold(hold, frozenRecordFolder); - holdService.removeFromHold(hold, frozenRecord2); - - super.tearDownImpl(); + super.tearDown(); } @Override From 722c218053fdf35308e1a3e314cdbe4b8d509222 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 13 Nov 2020 10:02:45 +0200 Subject: [PATCH 49/57] attemp to figure out what is wrong with enterprise integration tests [execute tests on MySQL] --- travis/.travis.integration-test-MySQL.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml index 233c5eaeb7..e001d856b7 100644 --- a/travis/.travis.integration-test-MySQL.yml +++ b/travis/.travis.integration-test-MySQL.yml @@ -10,14 +10,13 @@ jobs: stage: Tests if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ before_install: - - source ./scripts/mysql/start.sh mysql:5.6.26 + - source ./scripts/mysql/start.sh mysql:5.7.23 - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 script: - - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - <<: *integration_test_on_MYSQL name: "Enterprise Integrations Tests on MySQL" install: - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - script: - - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 52f311dbe571223d4c2a83da04fb1dab0d5d03d6 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 13 Nov 2020 11:51:19 +0200 Subject: [PATCH 50/57] change MySQL version and how it starts [execute tests on MySQL] --- travis/.travis.integration-test-MySQL.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml index e001d856b7..b4a144350b 100644 --- a/travis/.travis.integration-test-MySQL.yml +++ b/travis/.travis.integration-test-MySQL.yml @@ -10,13 +10,13 @@ jobs: stage: Tests if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ before_install: - - source ./scripts/mysql/start.sh mysql:5.7.23 + - docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mysql:5.7.23 --transaction-isolation='READ-COMMITTED' - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 script: - - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -Dcommunity -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - <<: *integration_test_on_MYSQL name: "Enterprise Integrations Tests on MySQL" install: - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - script: travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3306 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 8fd4377b21cdae90314109ee0bfed1232584b959 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 13 Nov 2020 14:34:56 +0200 Subject: [PATCH 51/57] attempt to fix unauthorized when getting dependencies issue [execute tests on MySQL] --- travis/.travis.integration-test-MySQL.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml index b4a144350b..508c4ed158 100644 --- a/travis/.travis.integration-test-MySQL.yml +++ b/travis/.travis.integration-test-MySQL.yml @@ -18,5 +18,5 @@ jobs: - <<: *integration_test_on_MYSQL name: "Enterprise Integrations Tests on MySQL" install: - - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - script: travis_retry travis_wait 80 mvn -B -q clean install -Puse-mysql -DskipTests -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -am + script: travis_retry travis_wait 80 mvn -B -q clean install ${MVN_SKIP} -Puse-mysql -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 9b1f0831846b8909d3f32bb34d7871597fb6bf5b Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 13 Nov 2020 16:22:16 +0200 Subject: [PATCH 52/57] attempt (2) to fix unauthorized when getting dependencies issue [execute tests on MySQL] --- travis/.travis.integration-test-MySQL.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml index 508c4ed158..ebd7579264 100644 --- a/travis/.travis.integration-test-MySQL.yml +++ b/travis/.travis.integration-test-MySQL.yml @@ -19,4 +19,4 @@ jobs: name: "Enterprise Integrations Tests on MySQL" install: - travis_retry travis_wait 60 mvn -B -q clean install ${MVN_SKIP} -f rm-community/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -am - script: travis_retry travis_wait 80 mvn -B -q clean install ${MVN_SKIP} -Puse-mysql -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + script: travis_retry travis_wait 80 mvn -B -q clean install ${MVN_SKIP} -Puse-mysql -Dskip.integrationtests=false -Dmy.db.name=alfresco -Dmy.db.port=3307 -f rm-enterprise/pom.xml -amd -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn From 14b561f618f55813ff65d2ebabc291eaa97bce8a Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Fri, 13 Nov 2020 17:24:20 +0200 Subject: [PATCH 53/57] attempt (3) to fix unauthorized when getting dependencies issue [execute tests on MySQL] --- travis/.travis.integration-test-MySQL.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/travis/.travis.integration-test-MySQL.yml b/travis/.travis.integration-test-MySQL.yml index ebd7579264..05934be796 100644 --- a/travis/.travis.integration-test-MySQL.yml +++ b/travis/.travis.integration-test-MySQL.yml @@ -9,7 +9,7 @@ jobs: services: docker stage: Tests if: branch =~ /(release\/.*$|master)/ OR commit_message =~ /\[execute tests on MySQL\]/ - before_install: + install: - docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=alfresco -e MYSQL_USER=alfresco -e MYSQL_DATABASE=alfresco -e MYSQL_PASSWORD=alfresco mysql:5.7.23 --transaction-isolation='READ-COMMITTED' - docker run -d -p 61617:61617 -p 5673:5673 alfresco/alfresco-activemq:5.15.8 script: From a26a4439a6b4afdcafa2aeb4fbb74fbc37710fe4 Mon Sep 17 00:00:00 2001 From: Claudia Agache Date: Sat, 14 Nov 2020 12:43:51 +0200 Subject: [PATCH 54/57] update jackson-databind to 2.7.9.1 --- .../rm-automation-community-rest-api/pom.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rm-automation/rm-automation-community-rest-api/pom.xml b/rm-automation/rm-automation-community-rest-api/pom.xml index 1207eddf86..5c8fb293e6 100644 --- a/rm-automation/rm-automation-community-rest-api/pom.xml +++ b/rm-automation/rm-automation-community-rest-api/pom.xml @@ -17,7 +17,7 @@ alfresco-governance-services-community-repo 1.38 2.0.0 - 2.7.7 + 2.7.9.1 @@ -90,10 +90,10 @@ docker-java 3.0.14 - - com.fasterxml.jackson.core - jackson-databind - ${jackson.databind.version} - + + com.fasterxml.jackson.core + jackson-databind + ${jackson.databind.version} + From 2002300803bfa60757e8b02a0d279942e001a847 Mon Sep 17 00:00:00 2001 From: Claudia Agache Date: Fri, 13 Nov 2020 10:52:16 +0200 Subject: [PATCH 55/57] get logs for UI builds --- scripts/getLogs.sh | 12 ++++++++++++ travis/.travis.tests-stage.yml | 11 +++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 scripts/getLogs.sh diff --git a/scripts/getLogs.sh b/scripts/getLogs.sh new file mode 100644 index 0000000000..930440b4cb --- /dev/null +++ b/scripts/getLogs.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -x + +alfrescoContainerId=$(docker ps -a | grep '_alfresco_' | awk '{print $1}') +shareContainerId=$(docker ps -a | grep '_share_' | awk '{print $1}') +solrContainerId=$(docker ps -a | grep '_search_' | awk '{print $1}') + +docker logs $alfrescoContainerId > alfresco.log +if [ -n "$shareContainerId" ]; then + docker logs $shareContainerId > share.log +fi +docker logs $solrContainerId > solr.log diff --git a/travis/.travis.tests-stage.yml b/travis/.travis.tests-stage.yml index b4c08fb5ea..b33840846a 100644 --- a/travis/.travis.tests-stage.yml +++ b/travis/.travis.tests-stage.yml @@ -58,6 +58,9 @@ jobs: - ./rm-automation/rm-automation-ui/target/surefire-reports - ./rm-automation/rm-automation-ui/target/reports - ./rm-automation/rm-automation-ui/target/screenshots + - alfresco.log + - solr.log + - share.log target_paths: $TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER install: - | @@ -75,6 +78,7 @@ jobs: - travis_retry travis_wait 30 mvn -B -U -q clean install ${MVN_SKIP} -pl :alfresco-governance-services-automation-ui -am script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communitySmokeRecords.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} + after_failure: bash scripts/getLogs.sh - <<: *community_shared_UI_configuration name: "Community Smoke UI Tests for actions in RM site" @@ -85,7 +89,7 @@ jobs: name: "Community Level 2: Disposition Schedules, Holds, Records UI Tests" script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communityLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} - + - <<: *community_shared_UI_configuration name: "Community Level 2: Audit, Rules, User Dashboard and Node Browser UI Tests" script: @@ -102,6 +106,9 @@ jobs: - ./rm-automation/rm-automation-ui/target/surefire-reports - ./rm-automation/rm-automation-ui/target/reports - ./rm-automation/rm-automation-ui/target/screenshots + - alfresco.log + - solr.log + - share.log target_paths: $TRAVIS_BUILD_NUMBER/$TRAVIS_JOB_NUMBER install: - travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-governance-services-enterprise-repo,:alfresco-governance-services-enterprise-share -am @@ -112,6 +119,7 @@ jobs: - sudo free -m -t script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} + after_failure: bash scripts/getLogs.sh - <<: *enterprise_shared_UI_configuration name: "Enterprise Classification Level 2 UI Tests" @@ -155,4 +163,3 @@ jobs: script: - travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-governance-services-automation-ui -DsuiteXmlFile=wormTestSuite.xml -Dskip.automationtests=false -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS} after_script: bash scripts/cleanup.sh - after_failure: docker ps -a | grep '_alfresco_1' | awk '{print $1}' | xargs docker logs | tail -5000 From 5fa0e5911b5a0bd539aa57f62eb0a211d23a3742 Mon Sep 17 00:00:00 2001 From: rodicasutu Date: Mon, 16 Nov 2020 08:27:11 +0200 Subject: [PATCH 56/57] remove the scripts for MySQL [execute tests on MySQL] --- scripts/mysql/common.sh | 10 ---------- scripts/mysql/start.sh | 43 ----------------------------------------- 2 files changed, 53 deletions(-) delete mode 100755 scripts/mysql/common.sh delete mode 100644 scripts/mysql/start.sh diff --git a/scripts/mysql/common.sh b/scripts/mysql/common.sh deleted file mode 100755 index f6ed525df9..0000000000 --- a/scripts/mysql/common.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -set -e -CONTAINER_NAME=alfresco-db-mysql - -MYSQL_USER=alfresco -MYSQL_ROOT_PASSWORD=alfresco -MYSQL_DATABASE=alfresco - -MYSQL_HOST=127.0.0.1 -MYSQL_PORT=3306 \ No newline at end of file diff --git a/scripts/mysql/start.sh b/scripts/mysql/start.sh deleted file mode 100644 index 155572ff0e..0000000000 --- a/scripts/mysql/start.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -set -e - -. $(dirname "${BASH_SOURCE[0]}")/common.sh - -echo "============================================" -echo "Generate custom config file" -echo "============================================" -rm -rf /tmp/Docker -mkdir -p /tmp/Docker - -echo " -[mysqld] -collation-server = utf8_unicode_ci -character-set-server = utf8 -innodb_locks_unsafe_for_binlog = 1 -default_storage_engine = InnoDB -max_connections = 275 -lock_wait_timeout = 5 -innodb_buffer_pool_size = 1G -innodb_additional_mem_pool_size = 16M -innodb_log_file_size = 256M -innodb_log_buffer_size = 16M -innodb_data_file_path = ibdata1:64M:autoextend -innodb_autoextend_increment = 64 -init_file=/etc/mysql/conf.d/init-file.sql -" > /tmp/Docker/config-file.cnf - -echo " -GRANT ALL on $MYSQL_USER.* to '$MYSQL_DATABASE'@'%' identified by '$MYSQL_ROOT_PASSWORD' with grant option; -FLUSH HOSTS; -FLUSH PRIVILEGES; -" > /tmp/Docker/init-file.sql - -echo "============================================" -echo "Pulling and Running $1" -echo "============================================" -sg docker "docker run -p $MYSQL_PORT:3306 -v /tmp/Docker:/etc/mysql/conf.d --name $CONTAINER_NAME -e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD -e MYSQL_USER=$MYSQL_USER -e MYSQL_DATABASE=$MYSQL_DATABASE -d $1" - -sleep 120 - -# The init_file option should be enough, but some old version of MariaDB do not honor it... -docker exec -t $CONTAINER_NAME mysql -v -h $MYSQL_HOST --port=$MYSQL_PORT -u root --password=$MYSQL_ROOT_PASSWORD -e "source /etc/mysql/conf.d/init-file.sql" \ No newline at end of file From 2177e0dfde8a5d437e45b0cbdcb6127603b3a26e Mon Sep 17 00:00:00 2001 From: estan Date: Mon, 16 Nov 2020 09:20:46 +0200 Subject: [PATCH 57/57] MNT-21132 : Search Result points to incorrect link to Folder on Hold --another tests fixed --- .../community/audit/AuditAddToHoldTests.java | 2 +- .../community/audit/AuditCreateHoldTests.java | 18 +++++++++++------- .../audit/AuditRemoveFromHoldTests.java | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java index e5303dd90a..7d454ec3d4 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditAddToHoldTests.java @@ -305,7 +305,7 @@ public class AuditAddToHoldTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAuditAddToHoldTests() { - holdsListRef.forEach(hold -> holdsAPI.deleteHold(getAdminUser(), hold)); + holdsListRef.forEach(holdRef -> holdsAPI.deleteHold(getAdminUser(), holdRef)); dataSite.usingAdmin().deleteSite(privateSite); asList(rmAdmin, rmManagerNoReadOnHold, rmManagerNoReadOnNode).forEach(user -> getDataUser().usingAdmin().deleteUser(user)); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordCategory.getId()); diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditCreateHoldTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditCreateHoldTests.java index d349de3bce..cf3654d816 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditCreateHoldTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditCreateHoldTests.java @@ -37,6 +37,7 @@ import static org.apache.commons.httpclient.HttpStatus.SC_INTERNAL_SERVER_ERROR; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertTrue; +import java.util.ArrayList; import java.util.List; import com.google.common.collect.ImmutableMap; @@ -67,6 +68,7 @@ public class AuditCreateHoldTests extends BaseRMRestTest private final String HOLD1 = PREFIX + "createHold"; private final String HOLD2 = PREFIX + "createHold2"; private final String HOLD3 = PREFIX + "createHold3"; + private List holdsListRef = new ArrayList<>(); @Autowired private RMAuditService rmAuditService; @@ -100,8 +102,9 @@ public class AuditCreateHoldTests extends BaseRMRestTest rmAuditService.clearAuditLog(); STEP("Create a new hold."); - holdsAPI.createHold(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD1, HOLD_REASON, HOLD_DESCRIPTION); - + String hold1NodeRef = holdsAPI.createHoldAndGetNodeRef(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD1, + HOLD_REASON, HOLD_DESCRIPTION); + holdsListRef.add(hold1NodeRef); STEP("Check the audit log contains the entry for the created hold with the hold details."); rmAuditService.checkAuditLogForEvent(getAdminUser(), CREATE_HOLD, rmAdmin, HOLD1, asList(ImmutableMap.of("new", HOLD_REASON, "previous", "", "name", "Hold Reason"), @@ -117,8 +120,8 @@ public class AuditCreateHoldTests extends BaseRMRestTest public void createHoldEventIsNotAuditedForExistingHold() { STEP("Create a new hold."); - holdsAPI.createHold(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); - + String hold2NodeRef = holdsAPI.createHoldAndGetNodeRef(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD2, HOLD_REASON, HOLD_DESCRIPTION); + holdsListRef.add(hold2NodeRef); rmAuditService.clearAuditLog(); STEP("Try to create again the same hold and expect action to fail."); @@ -168,7 +171,9 @@ public class AuditCreateHoldTests extends BaseRMRestTest rmAuditService.clearAuditLog(); STEP("Create a new hold."); - holdsAPI.createHold(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD3, HOLD_REASON, HOLD_DESCRIPTION); + String hold3NodeRef = holdsAPI.createHoldAndGetNodeRef(rmAdmin.getUsername(), rmAdmin.getPassword(), HOLD3, + HOLD_REASON, HOLD_DESCRIPTION); + holdsListRef.add(hold3NodeRef); STEP("Check that an user with no Read permissions over the hold can't see the entry for the create hold event"); assertTrue("The list of events should not contain Create Hold entry ", @@ -178,8 +183,7 @@ public class AuditCreateHoldTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAuditCreateHoldTests() { - asList(HOLD1, HOLD2, HOLD3).forEach(hold -> - holdsAPI.deleteHold(getAdminUser().getUsername(), getAdminUser().getPassword(), hold)); + holdsListRef.forEach(holdRef -> holdsAPI.deleteHold(getAdminUser(), holdRef)); asList(rmAdmin, rmManager).forEach(user -> getDataUser().usingAdmin().deleteUser(user)); } } diff --git a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java index 53962228d7..18f56f8925 100644 --- a/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java +++ b/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/audit/AuditRemoveFromHoldTests.java @@ -321,7 +321,7 @@ public class AuditRemoveFromHoldTests extends BaseRMRestTest @AfterClass (alwaysRun = true) public void cleanUpAuditRemoveFromHoldTests() { - holdsListRef.forEach(hold -> holdsAPI.deleteHold(getAdminUser(), hold)); + holdsListRef.forEach(holdRef -> holdsAPI.deleteHold(getAdminUser(), holdRef)); dataSite.usingAdmin().deleteSite(privateSite); asList(rmAdmin, rmManagerNoReadOnHold, rmManagerNoReadOnNode).forEach(user -> getDataUser().usingAdmin().deleteUser(user)); getRestAPIFactory().getRecordCategoryAPI().deleteRecordCategory(recordCategory.getId());