From 5dd16e14dd41f1565687142ba7cefa7c4cf64658 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Tue, 12 Nov 2013 13:39:41 +0100 Subject: wip --- test/appstore-server-sync.bats | 48 +++++++++++++++++++++++++ test/data/Makefile | 10 +++--- test/data/my-app/app.config | 1 + test/data/my-app/root/bin/my-app | 17 +++++++++ test/data/my-webapp/app.config | 2 -- test/data/my-webapp/root/bin/my-app | 20 ----------- test/data/my-webapp/root/conf/httpd.conf | 56 ------------------------------ test/data/my-webapp/root/conf/mime.types | 0 test/data/my-webapp/root/conf/modules.conf | 1 - test/data/my-webapp/root/conf/modules.load | 24 ------------- test/it.bats | 5 ++- test/utils.bash | 13 +++++++ 12 files changed, 86 insertions(+), 111 deletions(-) create mode 100644 test/appstore-server-sync.bats create mode 100644 test/data/my-app/app.config create mode 100755 test/data/my-app/root/bin/my-app delete mode 100644 test/data/my-webapp/app.config delete mode 100755 test/data/my-webapp/root/bin/my-app delete mode 100644 test/data/my-webapp/root/conf/httpd.conf delete mode 100644 test/data/my-webapp/root/conf/mime.types delete mode 100644 test/data/my-webapp/root/conf/modules.conf delete mode 100644 test/data/my-webapp/root/conf/modules.load (limited to 'test') 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} - - - StartServers 5 - MinSpareServers 5 - MaxSpareServers 10 - MaxRequestWorkers 150 - MaxConnectionsPerChild 0 - - - - Options FollowSymLinks - AllowOverride None - Require all denied - - - - Options Indexes FollowSymLinks - AllowOverride None - Require all granted - - -AccessFileName .htaccess - - - Require all denied - - -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 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 -- cgit v1.2.3