From 967329a7e34c7c74351dd53c51896ac52fc585a2 Mon Sep 17 00:00:00 2001 From: Lauren Schaefer Date: Wed, 18 Apr 2018 16:18:21 -0400 Subject: [PATCH 1/3] Fixes #28: Add Postman tests to the build --- .travis.yml | 26 +-- README.md | 182 ++++++++++++++---- data/ProfessorM_PostmanEnvironment.json | 33 ++++ images/jenkinspostmanfailed.png | Bin 0 -> 28433 bytes images/jenkinspostmansuccess.png | Bin 0 -> 28599 bytes images/travispostmanfailure.png | Bin 0 -> 30283 bytes images/travispostmansuccess.png | Bin 0 -> 29645 bytes scripts/GetCopyOfSugar.sh | 6 +- scripts/InstallSugarAndProfM.sh | 35 +++- scripts/PrepareJenkinsDockerContainer.sh | 1 + scripts/RunPostmanTests.sh | 93 +++++++++ ...PHPUnitTests.sh => SetupEnvAndRunTests.sh} | 10 +- scripts/config_si.php | 2 +- 13 files changed, 330 insertions(+), 58 deletions(-) create mode 100644 data/ProfessorM_PostmanEnvironment.json create mode 100644 images/jenkinspostmanfailed.png create mode 100644 images/jenkinspostmansuccess.png create mode 100644 images/travispostmanfailure.png create mode 100644 images/travispostmansuccess.png create mode 100755 scripts/RunPostmanTests.sh rename scripts/{SetupEnvAndRunPHPUnitTests.sh => SetupEnvAndRunTests.sh} (89%) diff --git a/.travis.yml b/.travis.yml index 8d4b8d03..1dd668a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ stages: - name: Test PackageGenerator -- name: Run PHPUnit +- name: Run Tests - name: Build & Post on GitHub if: branch = master jobs: @@ -23,7 +23,7 @@ jobs: - yarn global add grunt-cli script: - grunt test-js - - stage: Run PHPUnit + - stage: Run Tests sudo: required language: php php: '7.1' @@ -38,8 +38,8 @@ jobs: - cd ../scripts - sudo service mysql stop script: - - ./SetupEnvAndRunPHPUnitTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker - - stage: Run PHPUnit + - ./SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker + - stage: Run Tests sudo: required language: php php: '7.1' @@ -54,8 +54,8 @@ jobs: - cd ../scripts - sudo service mysql stop script: - - ./SetupEnvAndRunPHPUnitTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker - - stage: Run PHPUnit + - ./SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker + - stage: Run Tests sudo: required language: php php: '7.1' @@ -70,8 +70,8 @@ jobs: - cd ../scripts - sudo service mysql stop script: - - ./SetupEnvAndRunPHPUnitTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker - - stage: Run PHPUnit + - ./SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker + - stage: Run Tests sudo: required language: php php: '7.1' @@ -86,8 +86,8 @@ jobs: - cd ../scripts - sudo service mysql stop script: - - ./SetupEnvAndRunPHPUnitTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker - - stage: Run PHPUnit + - ./SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker + - stage: Run Tests sudo: required language: php php: '7.1' @@ -102,8 +102,8 @@ jobs: - cd ../scripts - sudo service mysql stop script: - - ./SetupEnvAndRunPHPUnitTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker - - stage: Run PHPUnit + - ./SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker + - stage: Run Tests sudo: required language: php php: '7.1' @@ -118,7 +118,7 @@ jobs: - cd ../scripts - sudo service mysql stop script: - - ./SetupEnvAndRunPHPUnitTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker + - ./SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker - stage: Build & Post on GitHub language: php php: '7.1' diff --git a/README.md b/README.md index 5dd4f8b4..2f6c9680 100755 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ Store](https://store.sugarcrm.com/download) The build is configured in [.travis.yml](.travis.yml). Currently, the build has three stages: - Test PackageGenerator -- Run PHPUnit +- Run Tests - Build & Post on GitHub All of the jobs in each stage must pass before the jobs in the following stage will begin. @@ -222,10 +222,10 @@ The Test PackageGenerator stage is run first and has two jobs: The PackageGenerator is responsible for creating the Professor M Module Loadable Package. This stage ensures that the PackageGenerator is functioning as we expect that it would. This stage does NOT test the Module Loadable Package. -The next stage to run is the Run PHPUnit stage. Each job in this stage deploys Sugar, installs the Professor M Module -Loadable Package, runs the setup for the PHPUnit tests that Sugar provides, and runs the PHPUnit tests written -specifically for our Professor M Module Loadable Package. Each job in this stage is run against a different combination -of Sugar versions and editions. See +The next stage to run is the Run Tests stage. Each job in this stage deploys Sugar, installs the Professor M Module +Loadable Package, runs the setup for the PHPUnit tests that Sugar provides, runs the PHPUnit tests written +specifically for our Professor M Module Loadable Package, and runs the Postman tests. Each job in this stage is run +against a different combination of Sugar versions and editions. See [PHPUnit tests for the Professor M Module Loadable Package](#phpunit-tests-for-the-professor-m-module-loadable-package) for details. @@ -267,7 +267,8 @@ installed. [PrepareJenkinsDockerContainer.sh](scripts/PrepareJenkinsDockerContai both for you. If you use [PrepareJenkinsDockerContainer.sh](scripts/PrepareJenkinsDockerContainer.sh), you should be able to access Jenkins at [http://localhost:8080](http://localhost:8080). -We recommend installing the Jenkins suggested plugins. +We recommend installing the Jenkins suggested plugins. You will also need to install the +[EnvInject Plugin](https://wiki.jenkins.io/display/JENKINS/EnvInject+Plugin). ### Storing Credentials in Jenkins @@ -297,17 +298,12 @@ Credentials Binding Plugin.) 1. Password: your SugarCRM password 1. ID: SUGARCRM_ACCOUNT 1. Description: SugarCRM Account -1. Create a new global secret for the path to where Sugar Docker will be stored on your host machine (not the path on -Jenkins). +1. Create a new global secret for the Sugar license key. 1. Kind: **Secret text** 1. Scope: **Global** - 1. Secret: The path to where Sugar Docker will be stored on your host machine. For example, if your Jenkins - home directory is `/Users/lschaefer/jenkins`, your Jenkins project (you'll create this in the next section) is named - `ProfessorM`, and your Sugar Docker will be stored in the `scripts/workspace` directory as we describe in the section - below, your secret would be `/Users/lschaefer/jenkins/workspace/ProfessorM/scripts/workspace/sugardocker`. - This secret is used by [StartDockerStack.sh](scripts/StartDockerStack.sh). - 1. ID: PATH_TO_SUGAR_DOCKER_ON_HOST - 1. Description: The path to Sugar Docker on the host machine + 1. Secret: Your Sugar license key. This secret is used by [InstallSugarAndProfM.sh](scripts/InstallSugarAndProfM.sh). + 1. ID: SUGAR_LICENSE_KEY + 1. Description: The Sugar license key ### Creating a Jenkins project @@ -335,9 +331,23 @@ text(s) or file(s)** option. 1. Credentials: **Specific credentials** 1. Select the SUGARCRM_ACCOUNT credentials. 1. In the **Bindings** section, select **Add** > **Secret text**. Then input the following: - 1. Variable: `PATH_TO_SUGAR_DOCKER_ON_HOST` + 1. Variable: `SUGAR_LICENSE_KEY` 1. Credentials: **Specific credentials** - 1. Select the PATH_TO_SUGAR_DOCKER_ON_HOST secret text. + 1. Select the SUGAR_LICENSE_KEY secret text. +1. In the **Bindings** section, select the **Inject environment variables to the build process** checkbox. If you do not +see this checkbox, you may need to install the +[EnvInject Plugin](https://wiki.jenkins.io/display/JENKINS/EnvInject+Plugin). Then... + 1. In the **Properties Content** input box, add a line for the WORKSPACE_PATH variable. This path represents the path + to the workspace for your Jenkins job on the *host* machine. For example, if your Jenkins home directory is + `/Users/lschaefer/jenkins` and your Jenkins project is named ProfessorM, you would input the following: + `WORKSPACE_PATH=/Users/lschaefer/jenkins/workspace/ProfessorM` + 1. In the **Properties Content** input box, add a line for the PATH_TO_SUGAR_DOCKER_ON_HOST variable. This variable + represents the path to Sugar Docker on the *host* machine. If you want to use the default location, input the + following: + `PATH_TO_SUGAR_DOCKER_ON_HOST=$WORKSPACE_PATH/scripts/workspace/sugardocker` + If you want to customize where Sugar Docker is stored, you can update this variable to reflect that. + + 1. In the **Build** section, click **Add build step** and select **Execute shell**. 1. In the **Command** box that appears, input the following: ``` @@ -347,9 +357,6 @@ text(s) or file(s)** option. # The Sugar Edition you want to test. Options: Pro, Ent, and Ult SUGAR_EDITION="Ent" - # Path to your Sugar Workspace directory. For example: /Users/lschaefer/jenkins/workspace/ProfessorM - SUGAR_WORKSPACE_PATH="FILL THIS IN!" - # Path to where the Sugar Docker directory should be stored. If you do not have a preference, leave this as is. SUGAR_DOCKER_DIRECTORY="workspace/sugardocker" @@ -363,7 +370,7 @@ text(s) or file(s)** option. bash -ex RunPackUnitTestsAndBuildProfMPackage.sh $SUGAR_WORKSPACE_PATH - bash SetupEnvAndRunPHPUnitTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD $SUGAR_DOCKER_DIRECTORY $SUGAR_SOURCE_ZIPS_DIRECTORY + bash SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD $SUGAR_DOCKER_DIRECTORY $SUGAR_SOURCE_ZIPS_DIRECTORY ``` Be sure to update the variables appropriately. 1. In the **Post-build Actions** section, click **Add post-build action** and select **Archive the artifacts**. @@ -403,6 +410,10 @@ PHPUnit results for the Professor M Module Loadable Package: ![PHPUnit results](images/phpunitprofm.png) +Postman test results: + +![Postman results](images/jenkinspostmansuccess.png) + Professor M package results: ![ProfM zip](images/jenkins-profm.png) @@ -424,7 +435,7 @@ school repo in the `workspace`, you need to update `$SUGAR_WORKSPACE_PATH`. The build calls two scripts 1. [RunPackUnitTestsAndBuildProfMPackage.sh](scripts/RunPackUnitTestsAndBuildProfMPackage.sh) -1. [SetupEnvAndRunPHPUnitTests.sh](scripts/SetupEnvAndRunPHPUnitTests.sh) +1. [SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh) [RunPackUnitTestsAndBuildProfMPackage.sh](scripts/RunPackUnitTestsAndBuildProfMPackage.sh) has three key parts: 1. Run the Jasmine tests that test [PackageGenerator](package/PackageGenerator.php) @@ -441,9 +452,9 @@ to run the PHPUnit tests as well as to generate the Professor M module loadable This script does NOT test the Module Loadable Package. -The next step is to run [SetupEnvAndRunPHPUnitTests.sh](scripts/SetupEnvAndRunPHPUnitTests.sh). This script deploys -Sugar, installs the Professor M Module Loadable Package, runs the setup for the PHPUnit tests that Sugar provides, and -runs the PHPUnit tests written specifically for our Professor M Module Loadable Package. +The next step is to run [SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh). This script deploys +Sugar, installs the Professor M Module Loadable Package, runs the setup for the PHPUnit tests that Sugar provides, +runs the PHPUnit tests written specifically for our Professor M Module Loadable Package, and runs the Postman tests. Note: if any step in the process fails (for example, a Jasmine test fails), the remaining steps will not be run. @@ -638,7 +649,7 @@ and/or run. Therefore, we will only test the Professor M Module Loadable Packag In this section, we'll discuss how to run the automated tests for the Professor M Module Loadable Package. Since the setup for running the Sugar provided automated tests is so similar, we will discuss how to do that here as well. -Currently, we only have PHPUnit tests. We will be expanding to other testing frameworks soon. +Currently, we have PHPUnit tests and Postman tests. #### PHPUnit tests for the Professor M Module Loadable Package [PHPUnit](https://phpunit.de/) is a testing framework for PHP. The PHPUnit test files are located in @@ -658,8 +669,8 @@ If the script will be downloading a copy of Sugar from the Sugar Store or the Su of using a copy of Sugar stored on your machine), you will also need a package installed that can execute the `sha1sum` command. On a Mac, you can install md5sha1sum by executing `brew install md5sha1sum` in a shell. -Then execute [SetupEnvAndRunPHPUnitTests.sh](scripts/SetupEnvAndRunPHPUnitTests.sh). Note that the Sugar provided unit -tests are NOT run as part of [SetupEnvAndRunPHPUnitTests.sh](scripts/SetupEnvAndRunPHPUnitTests.sh). If you want to add +Then execute [SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh). Note that the Sugar provided unit +tests are NOT run as part of [SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh). If you want to add them, add the following line after the call to `SetupSugarPHPUnitTests.sh`: ``` @@ -711,14 +722,14 @@ $ ../../../../vendor/bin/phpunit ``` ##### Automatic execution in Travis CI -The PHPUnit tests that test the Professor M Module Loadable Package are automatically run as part of the Run PHPUnit +The PHPUnit tests that test the Professor M Module Loadable Package are automatically run as part of the Run Tests stage of the Travis CI build. Each job in this stage is basically the same with the exception of the environment variables. Each job calls -[SetupEnvAndRunPHPUnitTests.sh](scripts/SetupEnvAndRunPHPUnitTests.sh), which executes the Professor M PHPUnit tests. +[SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh), which executes the Professor M PHPUnit tests. Note that the Sugar provided unit tests are NOT run as part of -[SetupEnvAndRunPHPUnitTests.sh](scripts/SetupEnvAndRunPHPUnitTests.sh). If you want to add +[SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh). If you want to add them, add the following line after the call to `SetupSugarPHPUnitTests.sh`: ``` @@ -731,7 +742,7 @@ passed, you know all of the tests passed. ![Green build](images/greenbuild.png) -To see the detailed test results, click a job in the Run PHPUnit stage: +To see the detailed test results, click a job in the Run Tests stage: ![PHPUnit job](images/travisphpunitjob.png) You can scroll through the job log to see the results of the PHPUnit tests. @@ -750,10 +761,10 @@ If a PHPUnit test fails, you'll see something like the following in the job log. ##### Automatic execution in Jenkins The PHPUnit tests that test the Professor M Module Loadable Package are automatically run as part of the Jenkins build -when [SetupEnvAndRunPHPUnitTests.sh](scripts/SetupEnvAndRunPHPUnitTests.sh) is run. +when [SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh) is run. Note that the Sugar provided unit tests are NOT run as part of -[SetupEnvAndRunPHPUnitTests.sh](scripts/SetupEnvAndRunPHPUnitTests.sh). If you want to add them, add the following line +[SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh). If you want to add them, add the following line after the call to `SetupSugarPHPUnitTests.sh`: ``` @@ -780,6 +791,109 @@ If a PHPUnit test fails, you'll see something like the following in the job log. ![PHPUnit failed](images/jenkinsphpunitfailed2.png) +#### Postman tests for the Professor M Module Loadable Package + +[Postman](https://www.getpostman.com/) is an API development environment. We use a Postman Collection to insert our +sample data into Sugar via the REST API. Each API call in the collection has one or more associated tests to ensure +the calls were successful. + +The Postman Collection can be run via the Postman application as described +[above](#use-the-sugar-rest-api-to-create-the-professor-m-sample-data) or the command line using +[Newman](https://www.getpostman.com/docs/v6/postman/collection_runs/command_line_integration_with_newman). + +##### Manual execution using the command line interface + +You can execute the tests against any running instance of Sugar. The first step is to configure the Postman Environment +for your particular instance of Sugar. Open [ProfessorM_PostmanEnvironment](data/ProfessorM_PostmanEnvironment.json) +and update the url, username, password, and rest_endpoint to reflect your instance. + +Then you can choose to install Newman to execute the tests or use a Docker image to execute the tests. + +###### Using Newman + +[Install Node.js](https://nodejs.org/en/download/) if you haven't already. + +Install Newman by executing the following: + +`npm install -g newman` + +Navigate to the `school/data` directory in your shell. Execute the tests by running the following: + +`newman run ProfessorM_PostmanCollection.json -e ProfessorM_PostmanEnvironment.json` + +###### Using Docker + +[Install Docker](https://docs.docker.com/install) if you haven't already. + +Pull the Newman Docker container that we will use to run the tests by executing the following: + +`docker pull postman/newman_ubuntu1404` + +Execute the tests by running the following: + +`docker run -v pathToTheDataDirectoryInYourSchoolRepo:/etc/newman -t postman/newman_ubuntu1404 run "ProfessorM_PostmanCollection.json" --environment="ProfessorM_PostmanEnvironment.json"` + +Be sure to replace `pathToTheDataDirectoryInYourSchoolRepo` with the path to the `data` directory in your school repo. + +Hint: If your instance of Sugar is running inside a Docker container, you may need to add the `--net="host"` option: + +`docker run -v pathToTheDataDirectoryInYourSchoolRepo:/etc/newman --net="host" -t postman/newman_ubuntu1404 run "ProfessorM_PostmanCollection.json" --environment="ProfessorM_PostmanEnvironment.json"` + +##### Automatic Execution in Travis CI + +The Postman tests are automatically run as part of the Run Tests stage of the Travis CI build. + +Each job in this stage is basically the same with the exception of the environment variables. Each job calls +[SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh), which executes the Postman tests. + +##### Interpreting the results + +To see the results of the tests that are run as part of the Travis CI build, open the build in Travis CI. If the build +passed, you know all of the tests passed. + +![Green build](images/greenbuild.png) + +To see the detailed test results, click a job in the Run Tests stage: + +![PHPUnit job](images/travisphpunitjob.png) + +You can scroll through the job log to see the results of the Postman tests. + +![PHPUnit passed](images/travispostmansuccess.png) + +If the build failed, a variety of things could have caused the failure including a failing Postman test. + +![Red build](images/redbuild.png) + +If a Postman test fails, you'll see something like the following in the job log. + +![PHPUnit failed](images/travispostmanfailure.png) + +##### Automatic execution in Jenkins + +The Postman tests are automatically run as part of the Jenkins build when +[SetupEnvAndRunTests.sh](scripts/SetupEnvAndRunTests.sh) is run. + +#### Interpreting the results +To see the results of the tests that are run as part of the Jenkins build, open the build in Jenkins. If the build +passed, you know all of the tests passed. + +![Passing build](images/jenkinsbuildpassed.png) + +To see the detailed test results, open the build and click **Console Output**. You can scroll through the job log to see +the results of the Postman tests. + +![PHPUnit passed](images/jenkinspostmansuccess.png) + +If the build failed, a variety of things could have caused the failure including a failing Postman test. + +![Failing build](images/jenkinsfailingbuild.png) + +If a Postman test fails, you'll see something like the following in the job log. + +![PHPUnit failed](images/jenkinspostmanfailed.png) + + ## How to fix your Sugar instance without starting completely over As you customize this instance, you may do something like accidentally write broken code that seems to break your Sugar instance. Try running **Quick Repair and Rebuild**: diff --git a/data/ProfessorM_PostmanEnvironment.json b/data/ProfessorM_PostmanEnvironment.json new file mode 100644 index 00000000..8dc24854 --- /dev/null +++ b/data/ProfessorM_PostmanEnvironment.json @@ -0,0 +1,33 @@ +{ + "id": "9a6f384b-5b88-72ba-1b40-943d9634275b", + "name": "Professor M", + "values": [ + { + "key": "url", + "value": "http://localhost/sugar", + "enabled": true, + "type": "text" + }, + { + "key": "username", + "value": "admin", + "enabled": true, + "type": "text" + }, + { + "key": "password", + "value": "sugarcrm", + "enabled": true, + "type": "text" + }, + { + "key": "rest_endpoint", + "value": "/rest/v10", + "enabled": true, + "type": "text" + } + ], + "_postman_variable_scope": "environment", + "_postman_exported_at": "2018-04-17T20:15:00.101Z", + "_postman_exported_using": "Postman/6.0.10" +} diff --git a/images/jenkinspostmanfailed.png b/images/jenkinspostmanfailed.png new file mode 100644 index 0000000000000000000000000000000000000000..1813a9e3943c1ab01180c05737aa176b7e7f9581 GIT binary patch literal 28433 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%0A)Rec!W2QX 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%0D?^g{%Xm75k=!=3#(`(- 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 literal 0 HcmV?d00001 diff --git a/images/travispostmanfailure.png b/images/travispostmanfailure.png new file mode 100644 index 0000000000000000000000000000000000000000..bf263231e1d1ea39e65d9d6d2c04a0bd6bc64338 GIT binary patch literal 30283 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 NbhP!g%5XMe{|8;9x90!= literal 0 HcmV?d00001 diff --git a/images/travispostmansuccess.png b/images/travispostmansuccess.png new file mode 100644 index 0000000000000000000000000000000000000000..a5cb648c4a11988d73497558b12f7ae3b94c02b8 GIT binary patch literal 29645 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

kz>ZfEq zcjP`Db69X5R?Mij%YKs8>R}sn73}pJ)bf8U{stc6TRBv1cVN94_wrKnfDGegu6sY; zCER1@y>*m_@fDEWe?*ug8#|9c7|X3wVW53L1g^-~qxbFm;G??F3U4{$$S?@H$m>Jt zmNjqHACT`ZbramU;p*dNMY6A@#O^xf=1YGje%}ak6MISVBpc@*c^d4bHHAAm{sF#F zcsm54g_Gia86`J(F2-N`t6&olsoQ+L2yP~}Ly*_(V08)D6BL)Ay~Xon%EA?xZ9Evr z;@psZ^%g7@|Mf{=?{Go;#T^y8$-G{>cv%`ryu+v~oZ*$eG$2<}2PiY*mmu~Hy(J{h z*q}SXudu>BhbblDs`|fExPKIgJN&XJ>2KsU*Sh$>LIoVZx9vPcoQ2e^z{fOG>A=N^ z+$9$A{Z-LH(!s!)3S7+ZNx;Q)tobT}sj~!4Mp+W}|JNp?Tc;oUH``lIgzw2t+t!Ww z`?l4~XIruPs~@fE2bcIfb+d<^GR5&lTVq9Bm /dev/null +sudo chmod -R 777 . &> /dev/null ####################################################################### diff --git a/scripts/InstallSugarAndProfM.sh b/scripts/InstallSugarAndProfM.sh index da6e12e0..84a02ef8 100755 --- a/scripts/InstallSugarAndProfM.sh +++ b/scripts/InstallSugarAndProfM.sh @@ -36,9 +36,37 @@ cp cliModuleInstall.php $sugarDirectory/cliModuleInstall.php # Copy the Professor M module loadable package to the Sugar directory cp ../package/releases/sugarcrm-ProfessorM-*-standard.zip $sugarDirectory/sugarcrm-ProfessorM-standard.zip -# Update the permissions for the Sugar directory for when sudo is required and is not required -chmod -R 777 $sugarDirectory -sudo chmod -R 777 $sugarDirectory +# Set permission for when sudo is required and is not required. Output of these commands will not be printed. +chmod -R 777 $sugarDirectory &> /dev/null +sudo chmod -R 777 $sugarDirectory &> /dev/null + + +###################################################################### +# Add license key to config_si.php +###################################################################### + +# If the SUGAR_LICENSE_KEY environment variable is set, we will update config_si.php to include the license key +if [[ -n $SUGAR_LICENSE_KEY ]] +then + # This regular expression searches for the following: + # + # array ( + # ' + # + # And adds a line with the license key after it + # + # array ( + # 'setup_license_key' => 'MySugarLicenseKey', + # ' + # + echo "Updating $sugarDirectory/config_si.php to include the license key. Output and errors from this command are +suppressed to keep the license key private..." + perl -0777 -i -pe "s#(array \(\n *')#\1setup_license_key' => '$SUGAR_LICENSE_KEY',\n '#g" $sugarDirectory/config_si.php &> /dev/null || exit 1 +else + echo "WARNING: The SUGAR_LICENSE_KEY environment variable was not set. Tests that require a license key (for + example, the Postman tests) will not be able to run." +fi + ###################################################################### # Install Sugar @@ -48,6 +76,7 @@ echo "Installing Sugar..." # Install Sugar using the configs in config_si.php docker exec sugar-web1 bash -c "php cliSilentInstall.php" + ###################################################################### # Install the Professor M Module Loadable Package ###################################################################### diff --git a/scripts/PrepareJenkinsDockerContainer.sh b/scripts/PrepareJenkinsDockerContainer.sh index b5482b57..8a69b089 100755 --- a/scripts/PrepareJenkinsDockerContainer.sh +++ b/scripts/PrepareJenkinsDockerContainer.sh @@ -13,6 +13,7 @@ then repo (-v /Users/lschaefer/git/sugardocker:/var/sugardocker). For example: ./PrepareJenkinsDockerContainer.sh /Users/lschaefer/jenkins2 \"-v /Users/lschaefer/git/sugardocker:/var/sugardocker\"" + exit 1 fi # The path to your Jenkins home directory on your host machine diff --git a/scripts/RunPostmanTests.sh b/scripts/RunPostmanTests.sh new file mode 100755 index 00000000..ff1667ed --- /dev/null +++ b/scripts/RunPostmanTests.sh @@ -0,0 +1,93 @@ +#!/usr/bin/env bash + +# This script runs the Postman tests stored in the data directory. +# Prior to running these tests, you must have an installed copy of Sugar that has a valid license key. + + +###################################################################### +# Variables +###################################################################### + +if [[ -z "$1" ]] || [[ -z "$2" ]] +then + echo "Not all required command line arguments were set. Please run the script again with the required arguments: + 1: Sugar version (Example: 7.11) + 2: Path to where the Sugar files are stored + + For example: ./RunPostmanTests.sh 7.11 workspace/sugardocker/data/app/sugar" + exit 1 +fi + +# The Sugar version +sugarVersion=$1 + +# The path to where the unzipped Sugar files are stored +sugarDirectory=$2 + + +###################################################################### +# Setup +###################################################################### + +# Pull the Newman Docker container that we will use to run the tests +docker pull postman/newman_ubuntu1404 + +# Set permission for when sudo is required and is not required. Output of these commands will not be printed. +chmod -R 777 . &> /dev/null +sudo chmod -R 777 . &> /dev/null + +# If we are currently running inside of a Docker container (for example, if we are running this script inside of Jenkins +# that is running inside a Docker container), we need to update the network in order for the tests to be able to access +# the Sugar URLs +currentDockerContainer="$(cat /etc/hostname)" +if [[ -n $currentDockerContainer && $currentDockerContainer != *"travis-job"* ]] +then + if [[ "$sugarVersion" == "7.10" || "$sugarVersion" == "7.11" ]] + then + network="sugar710_default" + elif [[ "$sugarVersion" == "7.9" ]] + then + network="sugar79_default" + else + echo "Unable to identify network for Sugar version $sugarVersion" + exit 1 + fi + + echo "Updating the Docker network ($network)..." + docker network connect $network $currentDockerContainer +fi + +# Store the path to the 'data' directory. If we are currently running inside of a Docker container (for example, if we +# are running this script inside of Jenkins that is running inside a Docker container), we need to directory path to be +# the path to the 'data' directory on the host machine. The $WORKSPACE_PATH environment variable should be set to the +# workspace directory on the host machine where the files in this repo are stored when this script is being run inside +# of a Docker container. +if [[ -n $WORKSPACE_PATH ]] +then + dataDirectoryPath=$WORKSPACE_PATH/data +else + dataDirectoryPath=$(pwd)/../data +fi + + +###################################################################### +# Run the Postman tests +###################################################################### + +docker run -v $dataDirectoryPath:/etc/newman --net="host" -t postman/newman_ubuntu1404 run "ProfessorM_PostmanCollection.json" --environment="ProfessorM_PostmanEnvironment.json" --no-color + +# If the tests return 1, at least one of the tests failed, so we will exit the script with error code 1. +if [[ $? -eq 1 ]] +then + exit 1 +fi + + +###################################################################### +# Cleanup +###################################################################### + +if [[ -n $currentDockerContainer && $currentDockerContainer != *"travis-job"* ]] +then + docker network disconnect $network $currentDockerContainer +fi diff --git a/scripts/SetupEnvAndRunPHPUnitTests.sh b/scripts/SetupEnvAndRunTests.sh similarity index 89% rename from scripts/SetupEnvAndRunPHPUnitTests.sh rename to scripts/SetupEnvAndRunTests.sh index fe6b6511..3b14c2ef 100755 --- a/scripts/SetupEnvAndRunPHPUnitTests.sh +++ b/scripts/SetupEnvAndRunTests.sh @@ -19,7 +19,7 @@ then source zip files will be downloaded from the SugarCRM Developer Builds Community. The Sugar source zip files should be named with the following pattern: Sugar$sugarEdition-$sugarVersion.zip. For example: SugarEnt-7.11.zip - For example: ./SetupEnvAndRunPHPUnitTests.sh communityemail@example.com mycommunitypassword 7.11 Pro githubusername + For example: ./SetupEnvAndRunTests.sh communityemail@example.com mycommunitypassword 7.11 Pro githubusername githubpassword workspace/sugardocker ../sugar_source_zips" exit 1 fi @@ -59,9 +59,9 @@ sugarSourceZipsDirectory=$8 # Setup ###################################################################### -# Set permission for when sudo is required and is not required -chmod -R 777 . -sudo chmod -R 777 . +# Set permission for when sudo is required and is not required. Output of these commands will not be printed. +chmod -R 777 . &> /dev/null +sudo chmod -R 777 . &> /dev/null mkdir workspace @@ -84,4 +84,6 @@ mkdir workspace ./RunProfMPHPUnitTests.sh $sugarDirectory || exit 1 +./RunPostmanTests.sh $sugarVersion $sugarDirectory || exit 1 + ./StopDockerStack.sh $sugarVersion $sugarDockerDirectory || exit 1 diff --git a/scripts/config_si.php b/scripts/config_si.php index 75922de3..83ad41e7 100755 --- a/scripts/config_si.php +++ b/scripts/config_si.php @@ -11,7 +11,7 @@ 'setup_db_admin_user_name' => 'root', 'setup_db_admin_password' => 'root', 'setup_db_type' => 'mysql', - 'setup_site_url' => 'http://sugar-web1/sugar', + 'setup_site_url' => 'http://localhost/sugar', 'setup_system_name' => 'SugarCRM', 'default_currency_iso4217' => 'USD', 'default_currency_name' => 'US Dollars', From 6ecce61e8f32c446d782d0d17cb7034d65ce7af2 Mon Sep 17 00:00:00 2001 From: Lauren Schaefer Date: Wed, 2 May 2018 17:22:38 -0400 Subject: [PATCH 2/3] Fixes #55: Add checksums for Sugar 8 --- scripts/GetCopyOfSugar.sh | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/scripts/GetCopyOfSugar.sh b/scripts/GetCopyOfSugar.sh index 7696350b..509a0733 100755 --- a/scripts/GetCopyOfSugar.sh +++ b/scripts/GetCopyOfSugar.sh @@ -273,21 +273,18 @@ then elif [[ "$sugarName" == "Sugar$sugarEdition_Ult-$sugarVersion_8_0" ]] then - downloadUrl="$(authenticateToSugarStoreAndGetDownloadUrl "SugarUlt-8.0.0.0.zip")" - #TODO: Add checksum once 8.0 is GA. Issue #55 - expectedChecksum="" + downloadUrl="$(authenticateToSugarStoreAndGetDownloadUrl "SugarUlt-8.0.0.zip")" + expectedChecksum="f64d8b1a538dfe12009bbb88936d2d1230cafbc7" elif [[ "$sugarName" == "Sugar$sugarEdition_Ent-$sugarVersion_8_0" ]] then - downloadUrl="$(authenticateToSugarStoreAndGetDownloadUrl "SugarEnt-8.0.0.0.zip")" - #TODO: Add checksum once 8.0 is GA. Issue #55 - expectedChecksum="" + downloadUrl="$(authenticateToSugarStoreAndGetDownloadUrl "SugarEnt-8.0.0.zip")" + expectedChecksum="378496a81a16c427c7add9762719668b2696b561" elif [[ "$sugarName" == "Sugar$sugarEdition_Pro-$sugarVersion_8_0" ]] then - downloadUrl="$(authenticateToSugarStoreAndGetDownloadUrl "SugarPro-8.0.0.0.zip")" - #TODO: Add checksum once 8.0 is GA. Issue #55 - expectedChecksum="" + downloadUrl="$(authenticateToSugarStoreAndGetDownloadUrl "SugarPro-8.0.0.zip")" + expectedChecksum="418c4b23f6fc6db969dd132722f665d7e5426ed4" else echo "Unable to find Sugar download URL for $sugarName" From 4bb1d9789a25d8f070812ccf29c682a3621b5c24 Mon Sep 17 00:00:00 2001 From: Lauren Schaefer Date: Thu, 3 May 2018 09:54:42 -0400 Subject: [PATCH 3/3] Fixes #57: Update build scripts for Sugar 8 --- .travis.yml | 54 ++--------------------- scripts/CloneSugarUnitTestsFromGitRepo.sh | 7 ++- scripts/RunPostmanTests.sh | 5 ++- scripts/StartDockerStack.sh | 5 ++- scripts/StopDockerStack.sh | 5 ++- 5 files changed, 20 insertions(+), 56 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1dd668a4..c990bb35 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ jobs: services: - docker env: - - SUGAR_VERSION=7.10 SUGAR_EDITION=Ent + - SUGAR_VERSION=8.0 SUGAR_EDITION=Ent before_script: - cd package - composer install @@ -46,7 +46,7 @@ jobs: services: - docker env: - - SUGAR_VERSION=7.10 SUGAR_EDITION=Pro + - SUGAR_VERSION=8.0 SUGAR_EDITION=Pro before_script: - cd package - composer install @@ -62,55 +62,7 @@ jobs: services: - docker env: - - SUGAR_VERSION=7.10 SUGAR_EDITION=Ult - before_script: - - cd package - - composer install - - "./pack.php -v $(date +'%Y%m%d-%H.%M.%S')" - - cd ../scripts - - sudo service mysql stop - script: - - ./SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker - - stage: Run Tests - sudo: required - language: php - php: '7.1' - services: - - docker - env: - - SUGAR_VERSION=7.11 SUGAR_EDITION=Ent - before_script: - - cd package - - composer install - - "./pack.php -v $(date +'%Y%m%d-%H.%M.%S')" - - cd ../scripts - - sudo service mysql stop - script: - - ./SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker - - stage: Run Tests - sudo: required - language: php - php: '7.1' - services: - - docker - env: - - SUGAR_VERSION=7.11 SUGAR_EDITION=Pro - before_script: - - cd package - - composer install - - "./pack.php -v $(date +'%Y%m%d-%H.%M.%S')" - - cd ../scripts - - sudo service mysql stop - script: - - ./SetupEnvAndRunTests.sh $SUGARCRM_USERNAME $SUGARCRM_PASSWORD $SUGAR_VERSION $SUGAR_EDITION $GITHUB_USERNAME $GITHUB_PASSWORD workspace/sugardocker - - stage: Run Tests - sudo: required - language: php - php: '7.1' - services: - - docker - env: - - SUGAR_VERSION=7.11 SUGAR_EDITION=Ult + - SUGAR_VERSION=8.0 SUGAR_EDITION=Ult before_script: - cd package - composer install diff --git a/scripts/CloneSugarUnitTestsFromGitRepo.sh b/scripts/CloneSugarUnitTestsFromGitRepo.sh index ed1febcf..9bdcf23e 100755 --- a/scripts/CloneSugarUnitTestsFromGitRepo.sh +++ b/scripts/CloneSugarUnitTestsFromGitRepo.sh @@ -29,12 +29,15 @@ gitHubPassword=$3 # Determine which branch to clone ###################################################################### -if [[ "$sugarVersion" == "7.10" ]] -then branch="7_10_0" +if [[ "$sugarVersion" == "8.0" ]] +then branch="8_0_0" elif [[ "$sugarVersion" == "7.11" ]] then branch="7_11_0" +elif [[ "$sugarVersion" == "7.10" ]] +then branch="7_10_0" + else echo "Unable to find Sugar unit tests for version $sugarVersion" exit 1 diff --git a/scripts/RunPostmanTests.sh b/scripts/RunPostmanTests.sh index ff1667ed..82d0c90b 100755 --- a/scripts/RunPostmanTests.sh +++ b/scripts/RunPostmanTests.sh @@ -42,7 +42,10 @@ sudo chmod -R 777 . &> /dev/null currentDockerContainer="$(cat /etc/hostname)" if [[ -n $currentDockerContainer && $currentDockerContainer != *"travis-job"* ]] then - if [[ "$sugarVersion" == "7.10" || "$sugarVersion" == "7.11" ]] + if [[ "$sugarVersion" == "8.0" ]] + then + network="sugar8_default" + elif [[ "$sugarVersion" == "7.10" || "$sugarVersion" == "7.11" ]] then network="sugar710_default" elif [[ "$sugarVersion" == "7.9" ]] diff --git a/scripts/StartDockerStack.sh b/scripts/StartDockerStack.sh index 7c143188..21c8f4e8 100755 --- a/scripts/StartDockerStack.sh +++ b/scripts/StartDockerStack.sh @@ -32,7 +32,10 @@ dockerGitRepo="https://github.com/esimonetti/SugarDockerized.git" # Setup ###################################################################### -if [[ "$sugarVersion" == "7.10" || "$sugarVersion" == "7.11" ]] +if [[ "$sugarVersion" == "8.0" ]] +then + ymlPath=$dockerDirectory/stacks/sugar8/php71.yml +elif [[ "$sugarVersion" == "7.10" || "$sugarVersion" == "7.11" ]] then ymlPath=$dockerDirectory/stacks/sugar710/php71.yml elif [[ "$sugarVersion" == "7.9" ]] diff --git a/scripts/StopDockerStack.sh b/scripts/StopDockerStack.sh index 6517005c..41d30aa0 100755 --- a/scripts/StopDockerStack.sh +++ b/scripts/StopDockerStack.sh @@ -29,7 +29,10 @@ dockerDirectory=$2 # Setup ###################################################################### -if [[ "$sugarVersion" == "7.10" || "$sugarVersion" == "7.11" ]] +if [[ "$sugarVersion" == "8.0" ]] +then + ymlPath=$dockerDirectory/stacks/sugar8/php71.yml +elif [[ "$sugarVersion" == "7.10" || "$sugarVersion" == "7.11" ]] then ymlPath=$dockerDirectory/stacks/sugar710/php71.yml elif [[ "$sugarVersion" == "7.9" ]]