summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/appstore-server-sync.bats48
-rw-r--r--test/data/Makefile10
-rw-r--r--test/data/my-app/app.config1
-rwxr-xr-xtest/data/my-app/root/bin/my-app17
-rw-r--r--test/data/my-webapp/app.config2
-rwxr-xr-xtest/data/my-webapp/root/bin/my-app20
-rw-r--r--test/data/my-webapp/root/conf/httpd.conf56
-rw-r--r--test/data/my-webapp/root/conf/mime.types0
-rw-r--r--test/data/my-webapp/root/conf/modules.conf1
-rw-r--r--test/data/my-webapp/root/conf/modules.load24
-rw-r--r--test/it.bats5
-rw-r--r--test/utils.bash13
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