mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
Merge pull request #148 from sharelatex/hof-compile-acceptance-tests
Run acceptance tests on CI
This commit is contained in:
commit
e35356b4a4
4 changed files with 39 additions and 19 deletions
|
@ -39,6 +39,7 @@ module.exports = (grunt) ->
|
|||
app:
|
||||
options:
|
||||
index: "app.js"
|
||||
logFile: "app.log"
|
||||
|
||||
watch:
|
||||
coffee:
|
||||
|
@ -407,7 +408,7 @@ module.exports = (grunt) ->
|
|||
grunt.registerTask 'compile:unit_tests', 'Compile the unit tests', ['clean:unit_tests', 'coffee:unit_tests']
|
||||
grunt.registerTask 'compile:acceptance_tests', 'Compile the acceptance tests', ['clean:acceptance_tests', 'coffee:acceptance_tests']
|
||||
grunt.registerTask 'compile:smoke_tests', 'Compile the smoke tests', ['coffee:smoke_tests']
|
||||
grunt.registerTask 'compile:tests', 'Compile all the tests', ['compile:smoke_tests', 'compile:unit_tests']
|
||||
grunt.registerTask 'compile:tests', 'Compile all the tests', ['compile:smoke_tests', 'compile:unit_tests', 'compile:acceptance_tests']
|
||||
grunt.registerTask 'compile', 'Compiles everything need to run web-sharelatex', ['compile:server', 'compile:client', 'compile:css']
|
||||
grunt.registerTask 'quickcompile:coffee', 'Compiles only changed coffee files',['newer:coffee']
|
||||
|
||||
|
|
13
services/web/Jenkinsfile
vendored
13
services/web/Jenkinsfile
vendored
|
@ -79,7 +79,7 @@ pipeline {
|
|||
}
|
||||
}
|
||||
steps {
|
||||
sh 'node_modules/.bin/grunt compile --verbose'
|
||||
sh 'node_modules/.bin/grunt compile compile:tests --verbose'
|
||||
// replace the build number placeholder for sentry
|
||||
sh 'node_modules/.bin/grunt version'
|
||||
}
|
||||
|
@ -117,14 +117,19 @@ pipeline {
|
|||
}
|
||||
}
|
||||
steps {
|
||||
sh 'env NODE_ENV=development ./node_modules/.bin/grunt test:unit --reporter=tap'
|
||||
sh 'env NODE_ENV=development ./node_modules/.bin/grunt mochaTest:unit --reporter=tap'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Acceptance Tests') {
|
||||
steps {
|
||||
sh 'docker pull sharelatex/acceptance-test-runner'
|
||||
sh 'docker run --rm -v $(pwd):/app --env SHARELATEX_ALLOW_PUBLIC_ACCESS=true sharelatex/acceptance-test-runner'
|
||||
// This tagged relase of the acceptance test runner is a temporary fix
|
||||
// to get the acceptance tests working before we move to a
|
||||
// docker-compose workflow. See:
|
||||
// https://github.com/sharelatex/web-sharelatex-internal/pull/148
|
||||
|
||||
sh 'docker pull sharelatex/sl-acceptance-test-runner:node-6.9-mongo-3.4'
|
||||
sh 'docker run --rm -v $(pwd):/app --env SHARELATEX_ALLOW_PUBLIC_ACCESS=true sharelatex/sl-acceptance-test-runner:node-6.9-mongo-3.4 || (cat forever/app.log && false)'
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -163,7 +163,7 @@ class User
|
|||
@request.get {
|
||||
url: "/register"
|
||||
}, (err, response, body) =>
|
||||
return callback(error) if error?
|
||||
return callback(err) if err?
|
||||
csrfMatches = body.match("window.csrfToken = \"(.*?)\";")
|
||||
if !csrfMatches?
|
||||
return callback(new Error("no csrf token found"))
|
||||
|
|
|
@ -1,26 +1,40 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
# If you're running on OS X, you probably need to manually
|
||||
# 'rm -r node_modules/bcrypt; npm install bcrypt' inside
|
||||
# the docker container, before it will start.
|
||||
# npm rebuild bcrypt
|
||||
# If you're running on OS X, you probably need to rebuild
|
||||
# some dependencies in the docker container, before it will start.
|
||||
#
|
||||
# npm rebuild --update-binary
|
||||
|
||||
echo ">> Starting server..."
|
||||
|
||||
grunt --no-color forever:app:start
|
||||
|
||||
echo ">> Server started"
|
||||
echo ">> Waiting for Server"
|
||||
|
||||
sleep 5
|
||||
count=1
|
||||
max_wait=60
|
||||
|
||||
echo ">> Running acceptance tests..."
|
||||
grunt --no-color mochaTest:acceptance
|
||||
_test_exit_code=$?
|
||||
while [ $count -le $max_wait ]
|
||||
do
|
||||
if nc -z localhost 3000
|
||||
then
|
||||
echo ">> Server Started"
|
||||
|
||||
echo ">> Killing server"
|
||||
echo ">> Running acceptance tests..."
|
||||
grunt --no-color mochaTest:acceptance
|
||||
_test_exit_code=$?
|
||||
|
||||
grunt --no-color forever:app:stop
|
||||
echo ">> Killing server"
|
||||
|
||||
echo ">> Done"
|
||||
grunt --no-color forever:app:stop
|
||||
|
||||
exit $_test_exit_code
|
||||
echo ">> Done"
|
||||
|
||||
exit $_test_exit_code
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
echo -n "."
|
||||
count=$((count+1))
|
||||
done
|
||||
exit 1
|
||||
|
|
Loading…
Reference in a new issue