From c37f74307b2c8a42fa01e0a87c0e9769ed5891d3 Mon Sep 17 00:00:00 2001 From: Artur Neumann Date: Tue, 11 Aug 2020 11:34:29 +0545 Subject: [PATCH 1/3] toml files to run oC10 legacy tests locally --- .../oc-integration-tests/local/frontend.toml | 110 ++++++++++++++++++ tests/oc-integration-tests/local/gateway.toml | 69 +++++++++++ .../local/ldap-users.toml | 45 +++++++ tests/oc-integration-tests/local/shares.toml | 19 +++ .../local/storage-home.toml | 48 ++++++++ .../local/storage-oc.toml | 37 ++++++ .../local/storage-publiclink.toml | 22 ++++ .../local/users.demo.json | 13 +++ tests/oc-integration-tests/local/users.toml | 20 ++++ 9 files changed, 383 insertions(+) create mode 100644 tests/oc-integration-tests/local/frontend.toml create mode 100644 tests/oc-integration-tests/local/gateway.toml create mode 100644 tests/oc-integration-tests/local/ldap-users.toml create mode 100644 tests/oc-integration-tests/local/shares.toml create mode 100644 tests/oc-integration-tests/local/storage-home.toml create mode 100644 tests/oc-integration-tests/local/storage-oc.toml create mode 100644 tests/oc-integration-tests/local/storage-publiclink.toml create mode 100644 tests/oc-integration-tests/local/users.demo.json create mode 100644 tests/oc-integration-tests/local/users.toml diff --git a/tests/oc-integration-tests/local/frontend.toml b/tests/oc-integration-tests/local/frontend.toml new file mode 100644 index 0000000000..61722419b4 --- /dev/null +++ b/tests/oc-integration-tests/local/frontend.toml @@ -0,0 +1,110 @@ +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "localhost:19000" + +# This frontend.toml config file will start a reva service that: +# - serves as the entrypoint for owncloud APIs. +# - serves http endpoints on port 20080 +# - / --------------- ocdav +# - /ocs ------------ ocs +# - /oauth2 --------- oidcprovider +# - /.well-known ---- wellknown service to announce openid-configuration +# - TODO(diocas): ocm +# - authenticates requests using oidc bearer auth and basic auth as fallback +# - serves the grpc services on port 20099 +[grpc] +address = "0.0.0.0:20099" + +[grpc.services.authprovider] +auth_manager = "oidc" + +# If you want to use your own openid provider change this config +[grpc.services.authprovider.auth_managers.oidc] +issuer = "http://localhost:20080" + +[http] +address = "0.0.0.0:20080" + +[http.middlewares.cors] +allow_credentials = true + +[http.services.ocdav] +# serve ocdav on the root path +prefix = "" +chunk_folder = "/var/tmp/reva/chunks" +# for user lookups +# prefix the path of requests to /dav/files with this namespace +# While owncloud has only listed usernames at this endpoint CERN has +# been exposing more than just usernames. For owncloud deployments we +# can prefix the path to jail the requests to the correct CS3 namespace. +# In this deployment we mounted the owncloud storage provider at /oc. It +# expects a username as the first path segment. +# currently, only the desktop client will use this endpoint, but only if +# the dav.chunking capability is available +# TODO implement a path wrapper that rewrites `` into the path +# layout for the users home? +# no, use GetHome? +# for eos we need to rewrite the path +# TODO strip the username from the path so the CS3 namespace can be mounted +# at the files/ endpoint? what about migration? separate reva instance +files_namespace = "/oc" + +# similar to the dav/files endpoint we can configure a prefix for the old webdav endpoint +# we use the old webdav endpoint to present the cs3 namespace +# note: this changes the tree that is rendered at remote.php/webdav from the users home to the cs3 namespace +# use webdav_namespace = "/home" to use the old namespace that only exposes the users files +# this endpoint should not affect the desktop client sync but will present different folders for the other clients: +# - the desktop clients use a hardcoded remote.php/dav/files/ if the dav.chunkung capability is present +# - the ios ios uses the core.webdav-root capability which points to remote.php/webdav in oc10 +# - the oc js sdk is hardcoded to the remote.php/webdav so it will see the new tree +# - TODO android? no sync ... but will see different tree +webdav_namespace = "/home" + +[http.services.ocs] + +[http.services.ocs.capabilities.capabilities.core.status] +version = "10.0.11.5" +versionstring = "10.0.11" + +[http.services.ocs.capabilities.capabilities.files_sharing] +api_enabled = true +resharing = true +group_sharing = true +auto_accept_share = true +share_with_group_members_only = true +share_with_membership_groups_only = true +default_permissions = 22 +search_min_length = 3 + +[http.services.ocs.capabilities.capabilities.files_sharing.public] +enabled = true +send_mail = true +social_share = true +upload = true +multiple = true +supports_upload_only = true + +[http.services.ocs.capabilities.capabilities.files_sharing.public.password] +enforced = true + +[http.services.ocs.capabilities.capabilities.files_sharing.public.password.enforced_for] +read_only = true +read_write = true +upload_only = true + +[http.services.ocs.capabilities.capabilities.files_sharing.public.expire_date] +enabled = true + +[http.services.ocs.capabilities.capabilities.files_sharing.user] +send_mail = true + +[http.services.ocs.capabilities.capabilities.files_sharing.user_enumeration] +enabled = true +group_members_only = true + +[http.services.ocs.capabilities.capabilities.files_sharing.federation] +outgoing = true +incoming = true + +[http.services.ocs.capabilities.capabilities.notifications] +endpoints = ["disable"] diff --git a/tests/oc-integration-tests/local/gateway.toml b/tests/oc-integration-tests/local/gateway.toml new file mode 100644 index 0000000000..6dc729d3fc --- /dev/null +++ b/tests/oc-integration-tests/local/gateway.toml @@ -0,0 +1,69 @@ +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "localhost:19000" + +# This gateway.toml config file will start a reva service that: +# - serves as a gateway for all requests +# - looks up the storageprovider using a storageregistry +# - looks up the authprovider using an authregistry +# - serves the gateway on grpc port 19000 +# - serves http datagateway on port 19001 +# - /data - datagateway: file up and download +[grpc] +address = "0.0.0.0:19000" + +[grpc.services.gateway] +# registries +authregistrysvc = "localhost:19000" +storageregistrysvc = "localhost:19000" +# user metadata +preferencessvc = "localhost:18000" +userprovidersvc = "localhost:18000" +# an approvider lives on "localhost:18000" as well, see users.toml +# sharing +usershareprovidersvc = "localhost:17000" +publicshareprovidersvc = "localhost:17000" +# ocm +ocmcoresvc = "localhost:13000" +ocmshareprovidersvc = "localhost:13000" +ocminvitemanagersvc = "localhost:13000" +ocmproviderauthorizersvc = "localhost:13000" +# other +commit_share_to_storage_grant = true +datagateway = "http://localhost:19001/data" +transfer_shared_secret = "replace-me-with-a-transfer-secret" # for direct uploads +transfer_expires = 6 # give it a moment +#disable_home_creation_on_login = true +link_grants_file = "/var/tmp/reva/link_grants_file.json" + +[grpc.services.authregistry] +driver = "static" + +[grpc.services.authregistry.drivers.static.rules] +publicshares = "localhost:17000" # started with the shares.toml +basic = "localhost:18000" # started with the users.toml +bearer = "localhost:20099" # started with the frontend.toml + +[grpc.services.storageregistry] +driver = "static" + +[grpc.services.storageregistry.drivers.static] +home_provider = "/home" + +[grpc.services.storageregistry.drivers.static.rules] +# mount a home storage provider that uses a context based path wrapper +# to jail users into their home dir +"/home" = "localhost:12000" + +# mount a storage provider without a path wrapper for direct access to users. +"/oc" = "localhost:11000" +"123e4567-e89b-12d3-a456-426655440000" = "localhost:11000" +# another mount point might be "/projects/" + +"/public" = "localhost:13000" + +[http] +address = "0.0.0.0:19001" + +[http.services.datagateway] +transfer_shared_secret = "replace-me-with-a-transfer-secret" diff --git a/tests/oc-integration-tests/local/ldap-users.toml b/tests/oc-integration-tests/local/ldap-users.toml new file mode 100644 index 0000000000..8a124cdd30 --- /dev/null +++ b/tests/oc-integration-tests/local/ldap-users.toml @@ -0,0 +1,45 @@ +[shared] +jwt_secret = "Pive-Fumkiu4" + +# This users.toml config file will start a reva service that: +# - handles user metadata and user preferences +# - serves the grpc services on port 18000 +[grpc] +address = "0.0.0.0:18000" + +[grpc.services.authprovider] +auth_manager = "ldap" + +[grpc.services.authprovider.auth_managers.ldap] +hostname="localhost" +port=636 +base_dn="dc=owncloud,dc=com" +userfilter="(&(objectclass=posixAccount)(cn=%s*))" +groupfilter="(&(objectclass=posixGroup)(cn=%s*))" +bind_username="cn=admin,dc=owncloud,dc=com" +bind_password="admin" +idp="http://localhost:18000" +[grpc.services.authprovider.auth_managers.ldap.schema] +uid="uid" +displayName="displayName" +dn="dn" +cn="cn" + +[grpc.services.userprovider] +driver = "ldap" + +[grpc.services.userprovider.drivers.ldap] +hostname="localhost" +port=636 +base_dn="dc=owncloud,dc=com" +userfilter="(&(objectclass=posixAccount)(cn=%s*))" +groupfilter="(&(objectclass=posixGroup)(cn=%s*))" +bind_username="cn=admin,dc=owncloud,dc=com" +bind_password="admin" +idp="http://localhost:18000" + +[grpc.services.userprovider.drivers.ldap.schema] +uid="uid" +displayName="displayName" +dn="dn" +cn="cn" diff --git a/tests/oc-integration-tests/local/shares.toml b/tests/oc-integration-tests/local/shares.toml new file mode 100644 index 0000000000..c06cd186ee --- /dev/null +++ b/tests/oc-integration-tests/local/shares.toml @@ -0,0 +1,19 @@ +[shared] +jwt_secret = "Pive-Fumkiu4" + +# GRPC: +# - serves user and public link shares +[grpc] +address = "0.0.0.0:17000" + +[grpc.services.usershareprovider] +driver = "memory" + +[grpc.services.authprovider] +auth_manager = "publicshares" + +[grpc.services.authprovider.auth_managers.publicshares] +gateway_addr = "0.0.0.0:19000" + +[grpc.services.publicshareprovider.drivers.json] +file = "/var/tmp/reva/publicshares.json" diff --git a/tests/oc-integration-tests/local/storage-home.toml b/tests/oc-integration-tests/local/storage-home.toml new file mode 100644 index 0000000000..d0daea636e --- /dev/null +++ b/tests/oc-integration-tests/local/storage-home.toml @@ -0,0 +1,48 @@ +# This storage-home.toml config file will start a reva service that: +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "localhost:19000" + +# - authenticates grpc storage provider requests using the internal jwt token +# - authenticates http upload and download requests requests using basic auth +# - serves the home storage provider on grpc port 12000 +# - serves http dataprovider for this storage on port 12001 +# - /data - dataprovider: file up and download +# +# The home storage will inject the username into the path and jail users into +# their home directory + +[grpc] +address = "0.0.0.0:12000" + +# This is a storage provider that grants direct access to the wrapped storage +# TODO same storage id as the /oc/ storage provider +# if we have an id, we can directly go to that storage, no need to wrap paths +# we have a locally running dataprovider +# this is where clients can find it +# the context path wrapper reads tho username from the context and prefixes the relative storage path with it +[grpc.services.storageprovider] +driver = "owncloud" +mount_path = "/home" +mount_id = "123e4567-e89b-12d3-a456-426655440000" +expose_data_server = true +data_server_url = "http://localhost:12001/data" +enable_home_creation = true + +[grpc.services.storageprovider.drivers.owncloud] +datadirectory = "/var/tmp/reva/data" +enable_home = true +redis = "localhost:6379" + + +[http] +address = "0.0.0.0:12001" + +[http.services.dataprovider] +driver = "owncloud" +temp_folder = "/var/tmp/reva/tmp" + +[http.services.dataprovider.drivers.owncloud] +datadirectory = "/var/tmp/reva/data" +enable_home = true +redis = "localhost:6379" diff --git a/tests/oc-integration-tests/local/storage-oc.toml b/tests/oc-integration-tests/local/storage-oc.toml new file mode 100644 index 0000000000..b2e31c2e69 --- /dev/null +++ b/tests/oc-integration-tests/local/storage-oc.toml @@ -0,0 +1,37 @@ +# This storage.toml config file will start a reva service that: +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "localhost:19000" + +# - authenticates grpc storage provider requests using the internal jwt token +# - authenticates http upload and download requests requests using basic auth +# - serves the storage provider on grpc port 11000 +# - serves http dataprovider for this storage on port 11001 +# - /data - dataprovider: file up and download +[grpc] +address = "0.0.0.0:11000" + +# This is a storage provider that grants direct access to the wrapped storage +# we have a locally running dataprovider +[grpc.services.storageprovider] +driver = "owncloud" +mount_path = "/oc" +mount_id = "123e4567-e89b-12d3-a456-426655440000" +expose_data_server = true +data_server_url = "http://localhost:11001/data" + +[grpc.services.storageprovider.drivers.owncloud] +datadirectory = "/var/tmp/reva/data" +redis = "localhost:6379" +userprovidersvc = "localhost:18000" + +[http] +address = "0.0.0.0:11001" + +[http.services.dataprovider] +driver = "owncloud" +temp_folder = "/var/tmp/reva/tmp" + +[http.services.dataprovider.drivers.owncloud] +datadirectory = "/var/tmp/reva/data" +redis = "localhost:6379" diff --git a/tests/oc-integration-tests/local/storage-publiclink.toml b/tests/oc-integration-tests/local/storage-publiclink.toml new file mode 100644 index 0000000000..35e2d6b20c --- /dev/null +++ b/tests/oc-integration-tests/local/storage-publiclink.toml @@ -0,0 +1,22 @@ +# This storage.toml config file will start a reva service that: +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "localhost:19000" + +[grpc] +address = "0.0.0.0:13000" + +# This is a storage provider that grants direct access to the wrapped storage +# we have a locally running dataprovider +[grpc.services.publicstorageprovider] +driver = "owncloud" +mount_path = "/public/" +mount_id = "e1a73ede-549b-4226-abdf-40e69ca8230d" +expose_data_server = true +data_server_url = "http://localhost:13001/data" +gateway_addr = "0.0.0.0:19000" +enable_home_creation = true + +[grpc.services.publicstorageprovider.drivers.owncloud] +datadirectory = "/var/tmp/reva/data" +enable_home = true diff --git a/tests/oc-integration-tests/local/users.demo.json b/tests/oc-integration-tests/local/users.demo.json new file mode 100644 index 0000000000..5a68de8de3 --- /dev/null +++ b/tests/oc-integration-tests/local/users.demo.json @@ -0,0 +1,13 @@ +[ + { + "id": { + "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", + "idp": "http://localhost:20080" + }, + "username": "einstein", + "secret": "relativity", + "mail": "einstein@example.org", + "display_name": "Albert Einstein", + "groups": [] + } +] diff --git a/tests/oc-integration-tests/local/users.toml b/tests/oc-integration-tests/local/users.toml new file mode 100644 index 0000000000..7b24885c56 --- /dev/null +++ b/tests/oc-integration-tests/local/users.toml @@ -0,0 +1,20 @@ +[shared] +jwt_secret = "Pive-Fumkiu4" + +# This users.toml config file will start a reva service that: +# - handles user metadata and user preferences +# - serves the grpc services on port 18000 +[grpc] +address = "0.0.0.0:18000" + +[grpc.services.authprovider] +auth_manager = "json" + +[grpc.services.authprovider.auth_managers.json] +users = "users.demo.json" + +[grpc.services.userprovider] +driver = "json" + +[grpc.services.userprovider.drivers.json] +users = "users.demo.json" From 7cd97f14a7eab542c299acb11a981cf7f8e6c532 Mon Sep 17 00:00:00 2001 From: Artur Neumann Date: Tue, 11 Aug 2020 11:34:48 +0545 Subject: [PATCH 2/3] documentation about running tests locally --- README.md | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/README.md b/README.md index 195fe16490..5dd8957860 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,86 @@ $ ../../cmd/revad/revad -dev-dir . You can also read the [build from sources guide](https://reva.link/docs/getting-started/build-reva/). +## Run tests + +### unit tests / GRPC tests +`make test` + +### litmus tests +1. start the needed services + ``` + cd tests/oc-integration-tests/local + ../../../cmd/revad/revad -c frontend.toml & + ../../../cmd/revad/revad -c gateway.toml & + ../../../cmd/revad/revad -c storage-home.toml & + ../../../cmd/revad/revad -c storage-oc.toml & + ../../../cmd/revad/revad -c users.toml + ``` + +2. run litmus tests: + ``` + docker run --rm --network=host\ + -e LITMUS_URL=http://localhost:20080/remote.php/webdav \ + -e LITMUS_USERNAME=einstein \ + -e LITMUS_PASSWORD=relativity \ + owncloud/litmus:latest + ``` + + - add `TESTS` env. variable to test only a subset of tests e.g `-e TESTS="basic http copymove props"` + - change `LITMUS_URL` for other tests e.g. `-e LITMUS_URL=http://localhost:20080/remote.php/dav/files/einstein` or to a public-share link + +### ownCloud legacy integration tests +1. start an LDAP server + ``` + docker run --rm --hostname ldap.my-company.com \ + -e LDAP_TLS_VERIFY_CLIENT=never \ + -e LDAP_DOMAIN=owncloud.com \ + -e LDAP_ORGANISATION=ownCloud \ + -e LDAP_ADMIN_PASSWORD=admin \ + --name docker-slapd \ + -p 127.0.0.1:389:389 \ + -p 636:636 -d osixia/openldap + ``` +2. start a REDIS server + ``` + docker run --rm -e REDIS_DATABASES=1 -p 6379:6379 -d webhippie/redis:latest + ``` +3. start the needed services + ``` + cd tests/oc-integration-tests/local + ../../../cmd/revad/revad -c frontend.toml & + ../../../cmd/revad/revad -c gateway.toml & + ../../../cmd/revad/revad -c shares.toml & + ../../../cmd/revad/revad -c storage-home.toml & + ../../../cmd/revad/revad -c storage-oc.toml & + ../../../cmd/revad/revad -c storage-publiclink.toml & + ../../../cmd/revad/revad -c ldap-users.toml + ``` + +4. clone ownCloud 10 + `git clone https://github.com/owncloud/core.git ./testrunner` + +5. clone the testing app + `git clone https://github.com/owncloud/testing.git ./testrunner/apps/testing` + +6. run the tests + ``` + cd testrunner + TEST_SERVER_URL='http://localhost:20080' \ + OCIS_REVA_DATA_ROOT='/var/tmp/reva/' \ + SKELETON_DIR='./apps/testing/data/apiSkeleton' \ + TEST_EXTERNAL_USER_BACKENDS='true' \ + REVA_LDAP_HOSTNAME='localhost' \ + TEST_OCIS='true' \ + TEST_REVA='true' \ + BEHAT_FILTER_TAGS='~@skipOnOcis&&~@skipOnOcis-OC-Storage' \ + make test-acceptance-api + ``` + + This will run all tests that are relevant to reva. + + To run a single test add BEHAT_FEATURE= and specify the path to the feature file and an optional line number. For example: BEHAT_FEATURE='tests/acceptance/features/apiWebdavUpload1/uploadFile.feature:12' + ## Daily releases On every commit on the master branch (including merged Pull Requests) a new release will be created and available at [daily releases](https://reva-releases.web.cern.ch/reva-releases). From 2e79be4846f0f76726aebb35f797f8c26e6dcf83 Mon Sep 17 00:00:00 2001 From: Artur Neumann Date: Tue, 11 Aug 2020 11:36:54 +0545 Subject: [PATCH 3/3] move drone toml files --- .drone.yml | 6 +++--- .../oc-integration-tests/drone}/frontend.toml | 0 .../oc-integration-tests/drone}/gateway.toml | 0 .../oc-integration-tests/drone}/ldap-users.toml | 0 .../oc-integration-tests/drone}/shares.toml | 0 .../oc-integration-tests/drone}/storage-home.toml | 0 .../oc-integration-tests/drone}/storage-oc.toml | 0 .../oc-integration-tests/drone}/storage-publiclink.toml | 0 .../oc-integration-tests/drone}/users.demo.json | 0 .../oc-integration-tests/drone}/users.toml | 0 10 files changed, 3 insertions(+), 3 deletions(-) rename {drone/oc-integration-tests => tests/oc-integration-tests/drone}/frontend.toml (100%) rename {drone/oc-integration-tests => tests/oc-integration-tests/drone}/gateway.toml (100%) rename {drone/oc-integration-tests => tests/oc-integration-tests/drone}/ldap-users.toml (100%) rename {drone/oc-integration-tests => tests/oc-integration-tests/drone}/shares.toml (100%) rename {drone/oc-integration-tests => tests/oc-integration-tests/drone}/storage-home.toml (100%) rename {drone/oc-integration-tests => tests/oc-integration-tests/drone}/storage-oc.toml (100%) rename {drone/oc-integration-tests => tests/oc-integration-tests/drone}/storage-publiclink.toml (100%) rename {drone/oc-integration-tests => tests/oc-integration-tests/drone}/users.demo.json (100%) rename {drone/oc-integration-tests => tests/oc-integration-tests/drone}/users.toml (100%) diff --git a/.drone.yml b/.drone.yml index 57c5ff08f3..c48959b0dd 100644 --- a/.drone.yml +++ b/.drone.yml @@ -248,7 +248,7 @@ steps: image: golang:1.13 detach: true commands: - - cd /drone/src/drone/oc-integration-tests/ + - cd /drone/src/tests/oc-integration-tests/drone/ - /drone/src/cmd/revad/revad -c frontend.toml & - /drone/src/cmd/revad/revad -c gateway.toml & - /drone/src/cmd/revad/revad -c storage-home.toml & @@ -288,7 +288,7 @@ steps: image: golang:1.13 detach: true commands: - - cd /drone/src/drone/oc-integration-tests/ + - cd /drone/src/tests/oc-integration-tests/drone/ - /drone/src/cmd/revad/revad -c frontend.toml & - /drone/src/cmd/revad/revad -c gateway.toml & - /drone/src/cmd/revad/revad -c storage-home.toml & @@ -329,7 +329,7 @@ steps: image: golang:1.13 detach: true commands: - - cd /drone/src/drone/oc-integration-tests/ + - cd /drone/src/tests/oc-integration-tests/drone/ - /drone/src/cmd/revad/revad -c frontend.toml & - /drone/src/cmd/revad/revad -c gateway.toml & - /drone/src/cmd/revad/revad -c shares.toml & diff --git a/drone/oc-integration-tests/frontend.toml b/tests/oc-integration-tests/drone/frontend.toml similarity index 100% rename from drone/oc-integration-tests/frontend.toml rename to tests/oc-integration-tests/drone/frontend.toml diff --git a/drone/oc-integration-tests/gateway.toml b/tests/oc-integration-tests/drone/gateway.toml similarity index 100% rename from drone/oc-integration-tests/gateway.toml rename to tests/oc-integration-tests/drone/gateway.toml diff --git a/drone/oc-integration-tests/ldap-users.toml b/tests/oc-integration-tests/drone/ldap-users.toml similarity index 100% rename from drone/oc-integration-tests/ldap-users.toml rename to tests/oc-integration-tests/drone/ldap-users.toml diff --git a/drone/oc-integration-tests/shares.toml b/tests/oc-integration-tests/drone/shares.toml similarity index 100% rename from drone/oc-integration-tests/shares.toml rename to tests/oc-integration-tests/drone/shares.toml diff --git a/drone/oc-integration-tests/storage-home.toml b/tests/oc-integration-tests/drone/storage-home.toml similarity index 100% rename from drone/oc-integration-tests/storage-home.toml rename to tests/oc-integration-tests/drone/storage-home.toml diff --git a/drone/oc-integration-tests/storage-oc.toml b/tests/oc-integration-tests/drone/storage-oc.toml similarity index 100% rename from drone/oc-integration-tests/storage-oc.toml rename to tests/oc-integration-tests/drone/storage-oc.toml diff --git a/drone/oc-integration-tests/storage-publiclink.toml b/tests/oc-integration-tests/drone/storage-publiclink.toml similarity index 100% rename from drone/oc-integration-tests/storage-publiclink.toml rename to tests/oc-integration-tests/drone/storage-publiclink.toml diff --git a/drone/oc-integration-tests/users.demo.json b/tests/oc-integration-tests/drone/users.demo.json similarity index 100% rename from drone/oc-integration-tests/users.demo.json rename to tests/oc-integration-tests/drone/users.demo.json diff --git a/drone/oc-integration-tests/users.toml b/tests/oc-integration-tests/drone/users.toml similarity index 100% rename from drone/oc-integration-tests/users.toml rename to tests/oc-integration-tests/drone/users.toml