Skip to content

Commit 195eb35

Browse files
committed
Improve tests to use drush and check git index
1 parent 29de965 commit 195eb35

File tree

1 file changed

+65
-65
lines changed

1 file changed

+65
-65
lines changed

tests/test.bats

Lines changed: 65 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,65 @@
1-
setup() {
2-
set -eu -o pipefail
3-
export DIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )/.."
4-
export TESTDIR=~/tmp/test-ddev-drupal-core-dev
5-
rm -rf ${TESTDIR}
6-
mkdir -p ${TESTDIR}
7-
export PROJNAME=test-ddev-drupal-core-dev
8-
export DDEV_NON_INTERACTIVE=true
9-
ddev delete -Oy ${PROJNAME} >/dev/null 2>&1 || true
10-
curl -L -o /tmp/drupal.tar.gz https://ftp.drupal.org/files/projects/drupal-11.x-dev.tar.gz
11-
tar --strip-components 1 -zxf /tmp/drupal.tar.gz -C ${TESTDIR}
12-
cd "${TESTDIR}"
13-
mv vendor /tmp/vendor.bak
14-
git config --global user.email "[email protected]"
15-
git config --global user.name "Example Example"
16-
git init && git add . >/dev/null && git commit -m "current" >/dev/null
17-
mv /tmp/vendor.bak vendor
18-
ddev config --project-name=${PROJNAME} --upload-dirs=.ddev/tmp
19-
ddev config --update
20-
ddev start -y >/dev/null
21-
ddev composer install >/dev/null
22-
}
23-
24-
base_checks() {
25-
ddev exec "curl -s chrome:7900" | grep "noVNC" >/dev/null
26-
ddev exec "curl -s firefox:7901" | grep "noVNC" >/dev/null
27-
ddev phpunit core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php
28-
}
29-
30-
drush_checks() {
31-
# Make sure there's nothing in the git index before drush install
32-
git diff --cached --quiet
33-
ddev drush st
34-
# Make sure there's nothing after the drush install
35-
git diff --cached --quiet || (echo "git index has been touched" && exit 2)
36-
ddev drush si -y --account-pass=admin
37-
}
38-
39-
teardown() {
40-
set -eu -o pipefail
41-
cd ${TESTDIR} || ( printf "unable to cd to ${TESTDIR}\n" && exit 1 )
42-
ddev delete -Oy ${PROJNAME} >/dev/null 2>&1
43-
[ "${TESTDIR}" != "" ] && rm -rf ${TESTDIR}
44-
}
45-
46-
@test "install from directory" {
47-
set -eu -o pipefail
48-
cd ${TESTDIR}
49-
echo "# ddev get ${DIR} with project ${PROJNAME} in ${TESTDIR} ($(pwd))" >&3
50-
ddev get ${DIR}
51-
ddev restart
52-
base_checks
53-
drush_checks
54-
}
55-
56-
#TODO: Re-enable release tests after the add-on has a release with DDEV v1.23.0 support
57-
#@test "install from release" {
58-
# set -eu -o pipefail
59-
# cd ${TESTDIR} || ( printf "unable to cd to ${TESTDIR}\n" && exit 1 )
60-
# echo "# ddev get ddev/ddev-addon-template with project ${PROJNAME} in ${TESTDIR} ($(pwd))" >&3
61-
# ddev get justafish/ddev-drupal-core-dev
62-
# ddev restart >/dev/null
63-
# health_checks
64-
#}
65-
1+
setup() {
2+
set -eu -o pipefail
3+
export DIR="$( cd "$( dirname "$BATS_TEST_FILENAME" )" >/dev/null 2>&1 && pwd )/.."
4+
export TESTDIR=~/tmp/test-ddev-drupal-core-dev
5+
rm -rf ${TESTDIR}
6+
mkdir -p ${TESTDIR}
7+
export PROJNAME=test-ddev-drupal-core-dev
8+
export DDEV_NON_INTERACTIVE=true
9+
ddev delete -Oy ${PROJNAME} >/dev/null 2>&1 || true
10+
curl -L -o /tmp/drupal.tar.gz https://ftp.drupal.org/files/projects/drupal-11.x-dev.tar.gz
11+
tar --strip-components 1 -zxf /tmp/drupal.tar.gz -C ${TESTDIR}
12+
cd "${TESTDIR}"
13+
mv vendor /tmp/vendor.bak
14+
git config --global user.email "[email protected]"
15+
git config --global user.name "Example Example"
16+
git init && git add . >/dev/null && git commit -m "current" >/dev/null
17+
mv /tmp/vendor.bak vendor
18+
ddev config --project-name=${PROJNAME} --upload-dirs=.ddev/tmp
19+
ddev config --update
20+
ddev start -y >/dev/null
21+
ddev composer install >/dev/null
22+
}
23+
24+
base_checks() {
25+
ddev exec "curl -s chrome:7900" | grep "noVNC" >/dev/null
26+
ddev exec "curl -s firefox:7901" | grep "noVNC" >/dev/null
27+
ddev phpunit core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php
28+
}
29+
30+
drush_checks() {
31+
# Make sure there's nothing in the git index before drush install
32+
git diff --cached --quiet
33+
ddev drush st
34+
# Make sure there's nothing after the drush install
35+
git diff --cached --quiet || (echo "git index has been touched" && exit 2)
36+
ddev drush si -y --account-pass=admin
37+
}
38+
39+
teardown() {
40+
set -eu -o pipefail
41+
cd ${TESTDIR} || ( printf "unable to cd to ${TESTDIR}\n" && exit 1 )
42+
ddev delete -Oy ${PROJNAME} >/dev/null 2>&1
43+
[ "${TESTDIR}" != "" ] && rm -rf ${TESTDIR}
44+
}
45+
46+
@test "install from directory" {
47+
set -eu -o pipefail
48+
cd ${TESTDIR}
49+
echo "# ddev get ${DIR} with project ${PROJNAME} in ${TESTDIR} ($(pwd))" >&3
50+
ddev get ${DIR}
51+
ddev restart
52+
base_checks
53+
drush_checks
54+
}
55+
56+
#TODO: Re-enable release tests after the add-on has a release with DDEV v1.23.0 support
57+
#@test "install from release" {
58+
# set -eu -o pipefail
59+
# cd ${TESTDIR} || ( printf "unable to cd to ${TESTDIR}\n" && exit 1 )
60+
# echo "# ddev get ddev/ddev-addon-template with project ${PROJNAME} in ${TESTDIR} ($(pwd))" >&3
61+
# ddev get justafish/ddev-drupal-core-dev
62+
# ddev restart >/dev/null
63+
# health_checks
64+
#}
65+

0 commit comments

Comments
 (0)