From 583950c38a2894e34b2b03170fa17fbbf4dd763e Mon Sep 17 00:00:00 2001 From: Dipak Acharya Date: Wed, 13 May 2020 09:20:01 +0545 Subject: [PATCH] [Tests-Only] Refactor CI Pipelines --- .drone.star | 312 +++++++++++++++++++---- tests/config/identifier-registration.yml | 2 +- 2 files changed, 263 insertions(+), 51 deletions(-) diff --git a/.drone.star b/.drone.star index 2aed35a0eb..e9c9f661a2 100644 --- a/.drone.star +++ b/.drone.star @@ -1,6 +1,8 @@ def main(ctx): before = [ testing(ctx), + apiTests(ctx), + uiTests(ctx), ] stages = [ @@ -22,6 +24,132 @@ def main(ctx): return before + stages + after +def apiTests(ctx): + return { + 'kind': 'pipeline', + 'type': 'docker', + 'name': 'API-Tests', + 'platform': { + 'os': 'linux', + 'arch': 'amd64', + }, + 'steps': [ + { + 'name': 'build', + 'image': 'webhippie/golang:1.13', + 'pull': 'always', + 'commands': [ + 'make build', + ], + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ], + }, + { + 'name': 'reva-server', + 'image': 'webhippie/golang:1.13', + 'pull': 'always', + 'detach': True, + 'environment' : { + 'REVA_LDAP_HOSTNAME': 'ldap', + 'REVA_LDAP_PORT': 636, + 'REVA_LDAP_BIND_DN': 'cn=admin,dc=owncloud,dc=com', + 'REVA_LDAP_BIND_PASSWORD': 'admin', + 'REVA_LDAP_BASE_DN': 'dc=owncloud,dc=com', + 'REVA_LDAP_SCHEMA_DISPLAYNAME': 'displayName', + 'REVA_STORAGE_HOME_DATA_TEMP_FOLDER': '/srv/app/tmp/', + 'REVA_STORAGE_OWNCLOUD_DATADIR': '/srv/app/tmp/reva/data', + 'REVA_STORAGE_OC_DATA_TEMP_FOLDER': '/srv/app/tmp/', + 'REVA_STORAGE_OWNCLOUD_REDIS_ADDR': 'redis:6379', + 'REVA_SHARING_USER_JSON_FILE': '/srv/app/tmp/reva/shares.json' + }, + 'commands': [ + 'mkdir -p /srv/app/tmp/reva', + 'bin/ocis-reva gateway &', + 'bin/ocis-reva users &', + 'bin/ocis-reva auth-basic &', + 'bin/ocis-reva auth-bearer &', + 'bin/ocis-reva sharing &', + 'bin/ocis-reva storage-home &', + 'bin/ocis-reva storage-home-data &', + 'bin/ocis-reva storage-oc &', + 'bin/ocis-reva storage-oc-data &', + 'bin/ocis-reva frontend' + ], + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ] + }, + { + 'name': 'acceptance-tests', + 'image': 'owncloudci/php:7.2', + 'pull': 'always', + 'environment' : { + 'TEST_SERVER_URL': 'http://reva-server:9140', + 'BEHAT_FILTER_TAGS': '~@skipOnOcis&&~@skipOnLDAP&&@TestAlsoOnExternalUserBackend&&~@local_storage', + 'REVA_LDAP_HOSTNAME':'ldap', + 'TEST_EXTERNAL_USER_BACKENDS':'true', + 'TEST_OCIS':'true', + 'OCIS_REVA_DATA_ROOT': '/srv/app/tmp/reva/', + 'SKELETON_DIR': '/srv/app/tmp/testing/data/apiSkeleton' + }, + 'commands': [ + 'git clone -b master --depth=1 https://github.com/owncloud/testing.git /srv/app/tmp/testing', + 'git clone -b master --depth=1 https://github.com/owncloud/core.git /srv/app/testrunner', + 'cd /srv/app/testrunner', + 'make test-acceptance-api' + ], + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ] + }, + ], + 'services': [ + { + 'name': 'ldap', + 'image': 'osixia/openldap', + 'pull': 'always', + 'environment': { + 'LDAP_DOMAIN': 'owncloud.com', + 'LDAP_ORGANISATION': 'owncloud', + 'LDAP_ADMIN_PASSWORD': 'admin', + 'LDAP_TLS_VERIFY_CLIENT': 'never', + 'HOSTNAME': 'ldap' + }, + }, + { + 'name': 'redis', + 'image': 'webhippie/redis', + 'pull': 'always', + 'environment': { + 'REDIS_DATABASES': 1 + }, + }, + ], + 'volumes': [ + { + 'name': 'gopath', + 'temp': {}, + }, + ], + 'trigger': { + 'ref': [ + 'refs/heads/master', + 'refs/tags/**', + 'refs/pull/**', + ], + }, + } + def testing(ctx): return { 'kind': 'pipeline', @@ -126,6 +254,140 @@ def testing(ctx): }, }, }, + { + 'name': 'reva-server', + 'image': 'webhippie/golang:1.13', + 'pull': 'always', + 'detach': True, + 'environment' : { + 'REVA_LDAP_HOSTNAME': 'ldap', + 'REVA_LDAP_PORT': 636, + 'REVA_LDAP_BIND_DN': 'cn=admin,dc=owncloud,dc=com', + 'REVA_LDAP_BIND_PASSWORD': 'admin', + 'REVA_LDAP_BASE_DN': 'dc=owncloud,dc=com', + 'REVA_LDAP_SCHEMA_DISPLAYNAME': 'displayName', + 'REVA_STORAGE_HOME_DATA_TEMP_FOLDER': '/srv/app/tmp/', + 'REVA_STORAGE_OWNCLOUD_DATADIR': '/srv/app/tmp/reva/data', + 'REVA_STORAGE_OC_DATA_TEMP_FOLDER': '/srv/app/tmp/', + 'REVA_STORAGE_OWNCLOUD_REDIS_ADDR': 'redis:6379', + 'REVA_SHARING_USER_JSON_FILE': '/srv/app/tmp/reva/shares.json', + 'REVA_OIDC_ISSUER': 'https://konnectd:9130', + }, + 'commands': [ + 'mkdir -p /srv/app/tmp/reva', + 'bin/ocis-reva gateway &', + 'bin/ocis-reva users &', + 'bin/ocis-reva auth-basic &', + 'bin/ocis-reva auth-bearer &', + 'bin/ocis-reva sharing &', + 'bin/ocis-reva storage-home &', + 'bin/ocis-reva storage-home-data &', + 'bin/ocis-reva storage-oc &', + 'bin/ocis-reva storage-oc-data &', + 'bin/ocis-reva frontend' + ], + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ] + }, + { + 'name': 'import-litmus-users', + 'image': 'emeraldsquad/ldapsearch', + 'pull': 'always', + 'commands': [ + 'ldapadd -h ldap -p 389 -D "cn=admin,dc=owncloud,dc=com" -w admin -f ./tests/data/testusers.ldif', + ], + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ], + }, + { + 'name': 'litmus', + 'image': 'owncloud/litmus:latest', + 'pull': 'always', + 'environment' : { + 'LITMUS_URL': 'http://reva-server:9140/remote.php/webdav', + 'LITMUS_USERNAME': 'tu1', + 'LITMUS_PASSWORD': '1234', + 'TESTS': 'basic http copymove' + }, + }, + ], + 'services': [ + { + 'name': 'ldap', + 'image': 'osixia/openldap', + 'pull': 'always', + 'environment': { + 'LDAP_DOMAIN': 'owncloud.com', + 'LDAP_ORGANISATION': 'owncloud', + 'LDAP_ADMIN_PASSWORD': 'admin', + 'LDAP_TLS_VERIFY_CLIENT': 'never', + 'HOSTNAME': 'ldap' + }, + }, + { + 'name': 'redis', + 'image': 'webhippie/redis', + 'pull': 'always', + 'environment': { + 'REDIS_DATABASES': 1 + }, + }, + ], + 'volumes': [ + { + 'name': 'gopath', + 'temp': {}, + }, + { + 'name': 'config', + 'temp': {}, + }, + { + 'name': 'uploads', + 'temp': {}, + }, + ], + 'trigger': { + 'ref': [ + 'refs/heads/master', + 'refs/tags/**', + 'refs/pull/**', + ], + }, + } + +def uiTests(ctx): + return { + 'kind': 'pipeline', + 'type': 'docker', + 'name': 'Phoenix-UI-Tests', + 'platform': { + 'os': 'linux', + 'arch': 'amd64', + }, + 'steps': [ + { + 'name': 'build', + 'image': 'webhippie/golang:1.13', + 'pull': 'always', + 'commands': [ + 'make build', + ], + 'volumes': [ + { + 'name': 'gopath', + 'path': '/srv/app', + }, + ], + }, { 'name': 'copy-config', 'image': 'webhippie/golang:1.13', @@ -178,7 +440,6 @@ def testing(ctx): 'detach': True, 'environment': { 'PHOENIX_WEB_CONFIG': '/srv/config/drone/config.json', - # 'PHOENIX_ASSET_PATH': '/var/www/owncloud/phoenix/dist', 'PHOENIX_OIDC_CLIENT_ID': 'phoenix' }, 'volumes': [ @@ -227,30 +488,6 @@ def testing(ctx): }, ] }, - # { - # 'name': 'acceptance-tests', - # 'image': 'owncloudci/php:7.2', - # 'pull': 'always', - # 'environment' : { - # 'TEST_SERVER_URL': 'http://reva-server:9140', - # 'BEHAT_FILTER_TAGS': '~@skipOnOcis&&~@skipOnLDAP&&@TestAlsoOnExternalUserBackend&&~@local_storage', - # 'REVA_LDAP_HOSTNAME':'ldap', - # 'TEST_EXTERNAL_USER_BACKENDS':'true', - # 'TEST_OCIS':'true', - # 'OCIS_REVA_DATA_ROOT': '/srv/app/tmp/reva/' - # }, - # 'commands': [ - # 'git clone -b master --depth=1 https://github.com/owncloud/core.git /srv/app/testrunner', - # 'cd /srv/app/testrunner', - # 'make test-acceptance-api' - # ], - # 'volumes': [ - # { - # 'name': 'gopath', - # 'path': '/srv/app', - # }, - # ] - # }, { 'name': 'ui-tests', 'image': 'owncloudci/nodejs:11', @@ -292,31 +529,6 @@ def testing(ctx): }, ] }, - { - 'name': 'import-litmus-users', - 'image': 'emeraldsquad/ldapsearch', - 'pull': 'always', - 'commands': [ - 'ldapadd -h ldap -p 389 -D "cn=admin,dc=owncloud,dc=com" -w admin -f ./tests/data/testusers.ldif', - ], - 'volumes': [ - { - 'name': 'gopath', - 'path': '/srv/app', - }, - ], - }, - { - 'name': 'litmus', - 'image': 'owncloud/litmus:latest', - 'pull': 'always', - 'environment' : { - 'LITMUS_URL': 'http://reva-server:9140/remote.php/webdav', - 'LITMUS_USERNAME': 'tu1', - 'LITMUS_PASSWORD': '1234', - 'TESTS': 'basic http copymove' - }, - }, ], 'services': [ { diff --git a/tests/config/identifier-registration.yml b/tests/config/identifier-registration.yml index 89f1b1ab05..0515385af4 100644 --- a/tests/config/identifier-registration.yml +++ b/tests/config/identifier-registration.yml @@ -11,6 +11,6 @@ clients: - http://phoenix:9100/oidc-callback.html - http://phoenix:9100/ origins: - - http://phoenix:9100 + - http://phoenix:9100 authorities: