mirror of
https://github.com/zokradonh/kopano-docker
synced 2025-06-07 16:06:14 +00:00
experiment with overriding exec to test bash script functions (#254)
* experiment with overriding exec to test bash script functions Signed-off-by: Felix Bartels <felix@host-consultants.de> * refine tests Signed-off-by: Felix Bartels <felix@host-consultants.de> * test installation of packages Signed-off-by: Felix Bartels <felix@host-consultants.de> * make sure package list is not updated when there are not additional packages * basic commander tests for webapp Signed-off-by: Felix Bartels <felix@host-consultants.de> * add webapp commander to makefile Signed-off-by: Felix Bartels <felix@host-consultants.de> * basic tests for webapp Signed-off-by: Felix Bartels <felix@host-consultants.de> * check webapp config.php Signed-off-by: Felix Bartels <felix@host-consultants.de> * add tests for z-push Signed-off-by: Felix Bartels <felix@host-consultants.de>
This commit is contained in:
parent
dca6e0c87b
commit
80a3b2a563
2
Makefile
2
Makefile
@ -386,6 +386,8 @@ test-commander: ## Test scripts with commander
|
|||||||
commander test tests/commander.yaml
|
commander test tests/commander.yaml
|
||||||
COMMANDER_OPTS="--concurrent 1" COMMANDER_FILES_PATH=core/commander/server dccommander run kopano_server
|
COMMANDER_OPTS="--concurrent 1" COMMANDER_FILES_PATH=core/commander/server dccommander run kopano_server
|
||||||
COMMANDER_OPTS="--concurrent 1" COMMANDER_FILES_PATH=core/commander/spooler dccommander run kopano_spooler
|
COMMANDER_OPTS="--concurrent 1" COMMANDER_FILES_PATH=core/commander/spooler dccommander run kopano_spooler
|
||||||
|
COMMANDER_OPTS="--concurrent 1" COMMANDER_FILES_PATH=webapp dccommander run kopano_webapp
|
||||||
|
COMMANDER_OPTS="--concurrent 1" COMMANDER_FILES_PATH=zpush dccommander run kopano_zpush
|
||||||
|
|
||||||
test-security: ## Scan containers with Trivy for known security risks (not part of CI workflow for now).
|
test-security: ## Scan containers with Trivy for known security risks (not part of CI workflow for now).
|
||||||
cat $(TAG_FILE) | xargs -I % sh -c 'trivy --exit-code 0 --severity HIGH --quiet --auto-refresh %'
|
cat $(TAG_FILE) | xargs -I % sh -c 'trivy --exit-code 0 --severity HIGH --quiet --auto-refresh %'
|
||||||
|
@ -1,22 +1,55 @@
|
|||||||
tests:
|
tests:
|
||||||
test run of config update script for core:
|
start-service script:
|
||||||
command: /usr/bin/python3 /kopano/server.py
|
command: bash -c "shopt -s expand_aliases; alias exec='echo'; . /kopano/start-service.sh"
|
||||||
exit-code: 0
|
exit-code: 0
|
||||||
config update kopano-server:
|
stdout:
|
||||||
command: /usr/bin/python3 /kopano/server.py && cat /etc/kopano/server.cfg /etc/kopano/ldap.cfg
|
not-contains:
|
||||||
|
- "Reading package lists..."
|
||||||
|
start-service script (installing new package):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo'; . /kopano/start-service.sh"
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "Setting up nano"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
ADDITIONAL_KOPANO_PACKAGES: "nano"
|
||||||
|
start-service script (installing existing package):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo'; . /kopano/start-service.sh"
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "INFO: kopano-server is already installed"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
ADDITIONAL_KOPANO_PACKAGES: "kopano-server"
|
||||||
|
generate configuration for kopano-server:
|
||||||
|
command: /usr/bin/python3 /kopano/server.py && cat /etc/kopano/server.cfg
|
||||||
exit-code: 0
|
exit-code: 0
|
||||||
stdout:
|
stdout:
|
||||||
contains:
|
contains:
|
||||||
- server_listen_tls = *:237
|
- server_listen_tls = *:237
|
||||||
|
- server_ssl_key_file = /kopano/ssl/kopano_server.pem
|
||||||
|
not-contains:
|
||||||
|
- #server_listen_tls = *:237
|
||||||
|
generate ldap configuration openLDAP (default):
|
||||||
|
command: /usr/bin/python3 /kopano/server.py && cat /etc/kopano/ldap.cfg
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
- "!include /usr/share/kopano/ldap.openldap.cfg"
|
- "!include /usr/share/kopano/ldap.openldap.cfg"
|
||||||
- "#!include /usr/share/kopano/ldap.active-directory.cfg"
|
- "#!include /usr/share/kopano/ldap.active-directory.cfg"
|
||||||
config update ldap ads:
|
not-contains:
|
||||||
|
- "#!include /usr/share/kopano/ldap.openldap.cfg"
|
||||||
|
generate ldap configuration for ADS:
|
||||||
command: /usr/bin/python3 /kopano/server.py && cat /etc/kopano/ldap.cfg
|
command: /usr/bin/python3 /kopano/server.py && cat /etc/kopano/ldap.cfg
|
||||||
exit-code: 0
|
exit-code: 0
|
||||||
stdout:
|
stdout:
|
||||||
contains:
|
contains:
|
||||||
- "#!include /usr/share/kopano/ldap.openldap.cfg"
|
- "#!include /usr/share/kopano/ldap.openldap.cfg"
|
||||||
- "!include /usr/share/kopano/ldap.active-directory.cfg"
|
- "!include /usr/share/kopano/ldap.active-directory.cfg"
|
||||||
|
not-contains:
|
||||||
|
- "#!include /usr/share/kopano/ldap.active-directory.cfg"
|
||||||
config:
|
config:
|
||||||
env:
|
env:
|
||||||
KCCOMMENT_LDAP_1: "!include /usr/share/kopano/ldap.openldap.cfg"
|
KCCOMMENT_LDAP_1: "!include /usr/share/kopano/ldap.openldap.cfg"
|
||||||
@ -48,7 +81,6 @@ config:
|
|||||||
KCCONF_SERVER_SSLKEYS_PATH: ${KCCONF_SERVER_SSLKEYS_PATH}
|
KCCONF_SERVER_SSLKEYS_PATH: ${KCCONF_SERVER_SSLKEYS_PATH}
|
||||||
KCCONF_SERVER_SYSTEM_EMAIL_ADDRESS: ${KCCONF_SERVER_SYSTEM_EMAIL_ADDRESS}
|
KCCONF_SERVER_SYSTEM_EMAIL_ADDRESS: ${KCCONF_SERVER_SYSTEM_EMAIL_ADDRESS}
|
||||||
KCUNCOMMENT_LDAP_1: ${KCUNCOMMENT_LDAP_1}
|
KCUNCOMMENT_LDAP_1: ${KCUNCOMMENT_LDAP_1}
|
||||||
KOPANO_LOCALE: ${KOPANO_LOCALE}
|
|
||||||
KOPANO_USERSCRIPT_LOCALE: ${KOPANO_USERSCRIPT_LOCALE}
|
|
||||||
LANG: ${LANG}
|
LANG: ${LANG}
|
||||||
SERVICE_TO_START: ${SERVICE_TO_START}
|
SERVICE_TO_START: ${SERVICE_TO_START}
|
||||||
|
PATH: ${PATH}
|
||||||
|
@ -17,6 +17,8 @@ ADDITIONAL_KOPANO_PACKAGES=$(echo "$ADDITIONAL_KOPANO_PACKAGES" | tr -d '"')
|
|||||||
# shellcheck disable=SC2016 disable=SC2086
|
# shellcheck disable=SC2016 disable=SC2086
|
||||||
if [ "$(dpkg-query -W -f='${Status}' $installpkg 2>/dev/null | grep -c 'ok installed')" -eq 0 ]; then
|
if [ "$(dpkg-query -W -f='${Status}' $installpkg 2>/dev/null | grep -c 'ok installed')" -eq 0 ]; then
|
||||||
apt --assume-yes --no-upgrade install "$installpkg"
|
apt --assume-yes --no-upgrade install "$installpkg"
|
||||||
|
else
|
||||||
|
echo "INFO: $installpkg is already installed"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
52
webapp/commander.yaml
Normal file
52
webapp/commander.yaml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
tests:
|
||||||
|
start-service script:
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh"
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
not-contains:
|
||||||
|
- "Reading package lists..."
|
||||||
|
start-service script (installing new package):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh"
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "Setting up nano"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
ADDITIONAL_KOPANO_PACKAGES: "nano"
|
||||||
|
start-service script (installing existing package):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh"
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "INFO: kopano-webapp is already installed"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
ADDITIONAL_KOPANO_PACKAGES: "kopano-webapp"
|
||||||
|
start-service script (webapp configuration):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh" && cat /etc/kopano/webapp/config.php
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "define('OIDC_CLIENT_ID', 'webapp');"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
KCCONF_WEBAPP_OIDC_CLIENT_ID: "webapp"
|
||||||
|
start-service script (installing & configuring webapp mdm plugin):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh" && cat /etc/kopano/webapp/config-mdm.php
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "define('PLUGIN_MDM_USER_DEFAULT_ENABLE_MDM', true);"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
ADDITIONAL_KOPANO_WEBAPP_PLUGINS: "kopano-webapp-plugin-mdm"
|
||||||
|
KCCONF_WEBAPPPLUGIN_MDM_PLUGIN_MDM_USER_DEFAULT_ENABLE_MDM: "true"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
DEBUG: ${DEBUG}
|
||||||
|
KCCONF_WEBAPP_OIDC_ISS: ${KCCONF_WEBAPP_OIDC_ISS}
|
||||||
|
KCCONF_WEBAPP_OIDC_CLIENT_ID: ${KCCONF_WEBAPP_OIDC_CLIENT_ID}
|
||||||
|
LANG: ${LANG}
|
||||||
|
PATH: ${PATH}
|
||||||
|
TZ: ${TZ}
|
@ -20,6 +20,8 @@ ADDITIONAL_KOPANO_PACKAGES=$(echo "$ADDITIONAL_KOPANO_PACKAGES" | tr -d '"')
|
|||||||
# shellcheck disable=SC2016 disable=SC2086
|
# shellcheck disable=SC2016 disable=SC2086
|
||||||
if [ "$(dpkg-query -W -f='${Status}' $installpkg 2>/dev/null | grep -c 'ok installed')" -eq 0 ]; then
|
if [ "$(dpkg-query -W -f='${Status}' $installpkg 2>/dev/null | grep -c 'ok installed')" -eq 0 ]; then
|
||||||
apt --assume-yes --no-upgrade install "$installpkg"
|
apt --assume-yes --no-upgrade install "$installpkg"
|
||||||
|
else
|
||||||
|
echo "INFO: $installpkg is already installed"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
43
zpush/commander.yaml
Normal file
43
zpush/commander.yaml
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
tests:
|
||||||
|
start-service script:
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh"
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
not-contains:
|
||||||
|
- "Reading package lists..."
|
||||||
|
start-service script (installing new package):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh"
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "Setting up nano"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
ADDITIONAL_KOPANO_PACKAGES: "nano"
|
||||||
|
start-service script (installing existing package):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh"
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "INFO: z-push-kopano is already installed"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
ADDITIONAL_KOPANO_PACKAGES: "z-push-kopano"
|
||||||
|
start-service script (z-push configuration):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh" && cat /etc/z-push/z-push.conf.php
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "define('USE_CUSTOM_REMOTE_IP_HEADER', 'HTTP_X_FORWARDED_FOR');"
|
||||||
|
start-service script (configuring gabsync):
|
||||||
|
command: bash -c "shopt -s expand_aliases; alias exec='echo exec'; alias php-fpm7.0='echo php-fpm7.0'; . /kopano/start.sh" && cat /etc/z-push/gabsync.conf.php
|
||||||
|
exit-code: 0
|
||||||
|
stdout:
|
||||||
|
contains:
|
||||||
|
- "define('USERNAME', 'SYSTEM');"
|
||||||
|
config:
|
||||||
|
env:
|
||||||
|
DEBUG: ${DEBUG}
|
||||||
|
LANG: ${LANG}
|
||||||
|
PATH: ${PATH}
|
||||||
|
TZ: ${TZ}
|
@ -44,6 +44,8 @@ ADDITIONAL_KOPANO_PACKAGES=$(echo "$ADDITIONAL_KOPANO_PACKAGES" | tr -d '"')
|
|||||||
# shellcheck disable=SC2016 disable=SC2086
|
# shellcheck disable=SC2016 disable=SC2086
|
||||||
if [ "$(dpkg-query -W -f='${Status}' $installpkg 2>/dev/null | grep -c 'ok installed')" -eq 0 ]; then
|
if [ "$(dpkg-query -W -f='${Status}' $installpkg 2>/dev/null | grep -c 'ok installed')" -eq 0 ]; then
|
||||||
apt --assume-yes --no-upgrade install "$installpkg"
|
apt --assume-yes --no-upgrade install "$installpkg"
|
||||||
|
else
|
||||||
|
echo "INFO: $installpkg is already installed"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user