diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-11-12 13:39:41 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-11-12 13:39:41 +0100 |
commit | 5dd16e14dd41f1565687142ba7cefa7c4cf64658 (patch) | |
tree | d571b793928cdf89feb6d040b359c3db2a00c766 /test | |
parent | 0d92ff5fd34d79b54c30c38ac41bc600acf7b7c4 (diff) | |
download | appstore-master.tar.gz appstore-master.tar.bz2 appstore-master.tar.xz appstore-master.zip |
Diffstat (limited to 'test')
-rw-r--r-- | test/appstore-server-sync.bats | 48 | ||||
-rw-r--r-- | test/data/Makefile | 10 | ||||
-rw-r--r-- | test/data/my-app/app.config | 1 | ||||
-rwxr-xr-x | test/data/my-app/root/bin/my-app | 17 | ||||
-rw-r--r-- | test/data/my-webapp/app.config | 2 | ||||
-rwxr-xr-x | test/data/my-webapp/root/bin/my-app | 20 | ||||
-rw-r--r-- | test/data/my-webapp/root/conf/httpd.conf | 56 | ||||
-rw-r--r-- | test/data/my-webapp/root/conf/mime.types | 0 | ||||
-rw-r--r-- | test/data/my-webapp/root/conf/modules.conf | 1 | ||||
-rw-r--r-- | test/data/my-webapp/root/conf/modules.load | 24 | ||||
-rw-r--r-- | test/it.bats | 5 | ||||
-rw-r--r-- | test/utils.bash | 13 |
12 files changed, 86 insertions, 111 deletions
diff --git a/test/appstore-server-sync.bats b/test/appstore-server-sync.bats new file mode 100644 index 0000000..7295f3d --- /dev/null +++ b/test/appstore-server-sync.bats @@ -0,0 +1,48 @@ +#!/usr/bin/env bats +# vim: set filetype=sh: + +load utils + +@test "Full test" { + cd $BATS_TMPDIR + rm -rf appstore-server-sync + mkdir -p appstore-server-sync/{repos,appstores,wc} + cd appstore-server-sync + + appstore server-init `pwd`/{repos,appstores} my-store + + git clone repos/my-store wc + cd wc + git config user.name "Test Case" + git config user.email tester@example.org + appstore add-app app-a file $BATS_TEST_DIRNAME/data/my-app.zip 1.0-SNAPSHOT disabled + git commit -a -m wip + cd .. + + appstore server-sync `pwd`/wc `pwd`/appstores/my-store + + # Check that the installed conf matches the one from the app + ( + cd appstores/my-store + app cat-conf -g my-app -f app-a/.app/config + eq '${lines[0]}' "my-app.awesome=true" + eq '${#lines[*]}' 1 + ) + + # Add some configuration to be merged into the app + ( + cd wc + echo my-app.extra=true >> app-a.config + git commit -a -m "extra config" + ) + + appstore server-sync `pwd`/wc `pwd`/appstores/my-store + + ( + cd appstores/my-store + app cat-conf -g my-app -f app-a/.app/config + eq '${lines[0]}' "my-app.awesome=true" + eq '${lines[1]}' "my-app.extra=true" + eq '${#lines[*]}' 2 + ) +} diff --git a/test/data/Makefile b/test/data/Makefile index ad61a15..4d5968b 100644 --- a/test/data/Makefile +++ b/test/data/Makefile @@ -1,6 +1,6 @@ -all: my-webapp.zip +all: my-app.zip -my-webapp.zip: - @rm -f my-webapp.zip - @(cd my-webapp; zip -q -r ../my-webapp.zip .) -.PHONY: my-webapp.zip +my-app.zip: + @rm -f my-app.zip + @(cd my-app; zip -q -r ../my-app.zip .) +.PHONY: my-app.zip diff --git a/test/data/my-app/app.config b/test/data/my-app/app.config new file mode 100644 index 0000000..5980d80 --- /dev/null +++ b/test/data/my-app/app.config @@ -0,0 +1 @@ +my-app.awesome=true diff --git a/test/data/my-app/root/bin/my-app b/test/data/my-app/root/bin/my-app new file mode 100755 index 0000000..2416bbf --- /dev/null +++ b/test/data/my-app/root/bin/my-app @@ -0,0 +1,17 @@ +#!/bin/bash + +LOGS="$APP_HOME/logs" + +mkdir -p "$LOGS" +logfile=$LOGS/my-app.out +exec >> $logfile +exec 2>&1 + +end=$(app conf get my-app.end) +end=${end:-10} + +for i in seq 1 $end +do + echo "`date`: working..." + sleep 1 +done diff --git a/test/data/my-webapp/app.config b/test/data/my-webapp/app.config deleted file mode 100644 index 3a68978..0000000 --- a/test/data/my-webapp/app.config +++ /dev/null @@ -1,2 +0,0 @@ -app.pid_management=launcher -app.launch_timeout=2 diff --git a/test/data/my-webapp/root/bin/my-app b/test/data/my-webapp/root/bin/my-app deleted file mode 100755 index e3fb305..0000000 --- a/test/data/my-webapp/root/bin/my-app +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -export BASEDIR=`pwd` - -exec 1>/tmp/stdout -exec 2>/tmp/stderr - -mkdir -p "$BASEDIR/locks" -mkdir -p "$BASEDIR/logs" - -set -x -export APACHE_LOCK_DIR="$BASEDIR/locks" -export APACHE_PID_FILE="$(cd $BASEDIR/../../../.app && pwd)/pid" -export APACHE_LOG_DIR="$BASEDIR/logs" - -export MODULES=/usr/lib/apache2/modules - -export PORT=$(app conf get myapp.port) - -exec /usr/sbin/apache2 -DPORT="$PORT" -f "$BASEDIR/conf/httpd.conf" diff --git a/test/data/my-webapp/root/conf/httpd.conf b/test/data/my-webapp/root/conf/httpd.conf deleted file mode 100644 index 4a1e775..0000000 --- a/test/data/my-webapp/root/conf/httpd.conf +++ /dev/null @@ -1,56 +0,0 @@ -ServerRoot ${BASEDIR} -Mutex file:locks default -PidFile ${APACHE_PID_FILE} -Timeout 300 -KeepAlive On -MaxKeepAliveRequests 100 -KeepAliveTimeout 5 - -#User ${APACHE_RUN_USER} -#Group ${APACHE_RUN_GROUP} - -HostnameLookups Off -ErrorLog logs/error.log -LogLevel warn - -Include conf/modules.load -Include conf/modules.conf - -Listen ${PORT} - -<IfModule mpm_prefork_module> - StartServers 5 - MinSpareServers 5 - MaxSpareServers 10 - MaxRequestWorkers 150 - MaxConnectionsPerChild 0 -</IfModule> - -<Directory /> - Options FollowSymLinks - AllowOverride None - Require all denied -</Directory> - -<Directory /var/www/> - Options Indexes FollowSymLinks - AllowOverride None - Require all granted -</Directory> - -AccessFileName .htaccess - -<FilesMatch "^\.ht"> - Require all denied -</FilesMatch> - -LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined -LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined -LogFormat "%h %l %u %t \"%r\" %>s %O" common -LogFormat "%{Referer}i -> %U" referer -LogFormat "%{User-agent}i" agent - -#IncludeOptional conf-enabled/*.conf -#IncludeOptional sites-enabled/*.conf - -# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/test/data/my-webapp/root/conf/mime.types b/test/data/my-webapp/root/conf/mime.types deleted file mode 100644 index e69de29..0000000 --- a/test/data/my-webapp/root/conf/mime.types +++ /dev/null diff --git a/test/data/my-webapp/root/conf/modules.conf b/test/data/my-webapp/root/conf/modules.conf deleted file mode 100644 index f791286..0000000 --- a/test/data/my-webapp/root/conf/modules.conf +++ /dev/null @@ -1 +0,0 @@ -TypesConfig conf/mime.types diff --git a/test/data/my-webapp/root/conf/modules.load b/test/data/my-webapp/root/conf/modules.load deleted file mode 100644 index eafc5b5..0000000 --- a/test/data/my-webapp/root/conf/modules.load +++ /dev/null @@ -1,24 +0,0 @@ -LoadModule access_compat_module /usr/lib/apache2/modules/mod_access_compat.so -LoadModule alias_module /usr/lib/apache2/modules/mod_alias.so -LoadModule auth_basic_module /usr/lib/apache2/modules/mod_auth_basic.so -LoadModule authn_core_module /usr/lib/apache2/modules/mod_authn_core.so -LoadModule authn_file_module /usr/lib/apache2/modules/mod_authn_file.so -LoadModule authz_core_module /usr/lib/apache2/modules/mod_authz_core.so -LoadModule authz_groupfile_module /usr/lib/apache2/modules/mod_authz_groupfile.so -LoadModule authz_host_module /usr/lib/apache2/modules/mod_authz_host.so -LoadModule authz_user_module /usr/lib/apache2/modules/mod_authz_user.so -LoadModule autoindex_module /usr/lib/apache2/modules/mod_autoindex.so -LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so -LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so -LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so -LoadModule dnssd_module /usr/lib/apache2/modules/mod_dnssd.so -LoadModule env_module /usr/lib/apache2/modules/mod_env.so -LoadModule expires_module /usr/lib/apache2/modules/mod_expires.so -LoadModule filter_module /usr/lib/apache2/modules/mod_filter.so -LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so -LoadModule mpm_prefork_module /usr/lib/apache2/modules/mod_mpm_prefork.so -LoadModule negotiation_module /usr/lib/apache2/modules/mod_negotiation.so -LoadModule php5_module /usr/lib/apache2/modules/libphp5.so -LoadModule reqtimeout_module /usr/lib/apache2/modules/mod_reqtimeout.so -LoadModule setenvif_module /usr/lib/apache2/modules/mod_setenvif.so -LoadModule status_module /usr/lib/apache2/modules/mod_status.so diff --git a/test/it.bats b/test/it.bats index df0d4b9..0542ddb 100644 --- a/test/it.bats +++ b/test/it.bats @@ -35,8 +35,7 @@ load utils # no myapp.port describe "git commit & push" - git commit -m "o Adding app-1." -a - git push cloud master + run git commit -m "o Adding app-1." -a + run git push cloud master eq "ssh://localhost$BATS_TMPDIR/appstore/server/repos/mysetup" `git config remote.cloud.url` - eq 1 2 } diff --git a/test/utils.bash b/test/utils.bash index 4c7e2c8..8b23210 100644 --- a/test/utils.bash +++ b/test/utils.bash @@ -87,6 +87,19 @@ app_libexec() { check_status=yes } +appstore() { + echo appstore $@ + run $APPSTORE_HOME/appstore $@ + echo_lines + + if [ "$check_status" = yes ] + then + eq '$status' 0 + fi + + check_status=yes +} + fix_path_uname=`uname -s` fix_path() { case $fix_path_uname in |