diff --git a/.drone.star b/.drone.star index 494c282bb05..101f46a0dac 100644 --- a/.drone.star +++ b/.drone.star @@ -105,6 +105,7 @@ def main(ctx): litmusOcisOldWebdav(), litmusOcisNewWebdav(), litmusOcisSpacesDav(), + virtualViews(), ] + ocisIntegrationTests(6) + s3ngIntegrationTests(12) @@ -484,6 +485,64 @@ def release(): "depends_on": ['changelog'], } +def virtualViews(): + return { + "kind": "pipeline", + "type": "docker", + "name": "virtual-views", + "platform": { + "os": "linux", + "arch": "amd64", + }, + "trigger": { + "event": { + "include": [ + "pull_request", + "tag", + ], + }, + }, + "steps": [ + makeStep("build-ci"), + { + "name": "revad-services", + "image": "registry.cern.ch/docker.io/library/golang:1.17", + "detach": True, + "commands": [ + "cd /drone/src/tests/oc-integration-tests/drone/", + "/drone/src/cmd/revad/revad -c frontend-global.toml &", + "/drone/src/cmd/revad/revad -c gateway.toml &", + "/drone/src/cmd/revad/revad -c storage-home-ocis.toml &", + "/drone/src/cmd/revad/revad -c storage-local-1.toml &", + "/drone/src/cmd/revad/revad -c storage-local-2.toml &", + "/drone/src/cmd/revad/revad -c users.toml", + ], + }, + cloneOc10TestReposStep(), + { + "name": "oC10APIAcceptanceTestsOcisStorage", + "image": "registry.cern.ch/docker.io/owncloudci/php:7.4", + "commands": [ + "cd /drone/src", + "make test-acceptance-api", + ], + "environment": { + "PATH_TO_CORE": "/drone/src/tmp/testrunner", + "TEST_SERVER_URL": "http://revad-services:20180", + "OCIS_REVA_DATA_ROOT": "/drone/src/tmp/reva/data/", + "DELETE_USER_DATA_CMD": "rm -rf /drone/src/tmp/reva/data/nodes/root/* /drone/src/tmp/reva/data/nodes/*-*-*-* /drone/src/tmp/reva/data/blobs/*", + "STORAGE_DRIVER": "OCIS", + "SKELETON_DIR": "/drone/src/tmp/testing/data/apiSkeleton", + "TEST_REVA": "true", + "REGULAR_USER_PASSWORD": "relativity", + "SEND_SCENARIO_LINE_REFERENCES": "true", + "BEHAT_SUITE": "apiVirtualViews", + }, + }, + ], + "depends_on": ['changelog'], + } + def litmusOcisOldWebdav(): return { "kind": "pipeline", @@ -701,7 +760,7 @@ def ocisIntegrationTests(parallelRuns, skipExceptParts = []): "environment": { "TEST_SERVER_URL": "http://revad-services:20080", "OCIS_REVA_DATA_ROOT": "/drone/src/tmp/reva/data/", - "DELETE_USER_DATA_CMD": "rm -rf /drone/src/tmp/reva/data/nodes/root/* /drone/src/tmp/reva/data/nodes/*-*-*-*", + "DELETE_USER_DATA_CMD": "rm -rf /drone/src/tmp/reva/data/nodes/root/* /drone/src/tmp/reva/data/nodes/*-*-*-* /drone/src/tmp/reva/data/blobs/*", "STORAGE_DRIVER": "OCIS", "SKELETON_DIR": "/drone/src/tmp/testing/data/apiSkeleton", "TEST_WITH_LDAP": "true", @@ -776,7 +835,7 @@ def s3ngIntegrationTests(parallelRuns, skipExceptParts = []): "environment": { "TEST_SERVER_URL": "http://revad-services:20080", "OCIS_REVA_DATA_ROOT": "/drone/src/tmp/reva/data/", - "DELETE_USER_DATA_CMD": "rm -rf /drone/src/tmp/reva/data/nodes/root/* /drone/src/tmp/reva/data/nodes/*-*-*-*", + "DELETE_USER_DATA_CMD": "rm -rf /drone/src/tmp/reva/data/nodes/root/* /drone/src/tmp/reva/data/nodes/*-*-*-* /drone/src/tmp/reva/data/blobs/*", "STORAGE_DRIVER": "S3NG", "SKELETON_DIR": "/drone/src/tmp/testing/data/apiSkeleton", "TEST_WITH_LDAP": "true", diff --git a/changelog/unreleased/add-virtual-view-tests.md b/changelog/unreleased/add-virtual-view-tests.md new file mode 100644 index 00000000000..17bdf6a721f --- /dev/null +++ b/changelog/unreleased/add-virtual-view-tests.md @@ -0,0 +1,3 @@ +Enhancement: add virtual view tests + +https://github.com/cs3org/reva/pull/2219 \ No newline at end of file diff --git a/examples/meshdirectory/groups.demo.json b/examples/meshdirectory/groups.demo.json index f78da191bca..42fd1af0c26 100644 --- a/examples/meshdirectory/groups.demo.json +++ b/examples/meshdirectory/groups.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "sailing-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "sailing-lovers", "mail": "sailing-lovers@example.org", @@ -12,7 +12,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -20,7 +20,7 @@ { "id": { "opaque_id": "violin-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "violin-haters", "mail": "violin-haters@example.org", @@ -30,7 +30,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -38,7 +38,7 @@ { "id": { "opaque_id": "radium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "radium-lovers", "mail": "radium-lovers@example.org", @@ -48,7 +48,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -56,7 +56,7 @@ { "id": { "opaque_id": "polonium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "polonium-lovers", "mail": "polonium-lovers@example.org", @@ -66,7 +66,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -74,7 +74,7 @@ { "id": { "opaque_id": "quantum-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "quantum-lovers", "mail": "quantum-lovers@example.org", @@ -84,7 +84,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -92,7 +92,7 @@ { "id": { "opaque_id": "philosophy-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "philosophy-haters", "mail": "philosophy-haters@example.org", @@ -102,7 +102,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -110,7 +110,7 @@ { "id": { "opaque_id": "physics-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "physics-lovers", "mail": "physics-lovers@example.org", @@ -120,19 +120,19 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] diff --git a/examples/meshdirectory/users.demo.json b/examples/meshdirectory/users.demo.json index 12c784f7eb0..893d69b99f7 100644 --- a/examples/meshdirectory/users.demo.json +++ b/examples/meshdirectory/users.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "einstein", @@ -14,7 +14,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "marie", @@ -26,7 +26,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "richard", diff --git a/examples/oc-phoenix/groups.demo.json b/examples/oc-phoenix/groups.demo.json index f78da191bca..42fd1af0c26 100644 --- a/examples/oc-phoenix/groups.demo.json +++ b/examples/oc-phoenix/groups.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "sailing-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "sailing-lovers", "mail": "sailing-lovers@example.org", @@ -12,7 +12,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -20,7 +20,7 @@ { "id": { "opaque_id": "violin-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "violin-haters", "mail": "violin-haters@example.org", @@ -30,7 +30,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -38,7 +38,7 @@ { "id": { "opaque_id": "radium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "radium-lovers", "mail": "radium-lovers@example.org", @@ -48,7 +48,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -56,7 +56,7 @@ { "id": { "opaque_id": "polonium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "polonium-lovers", "mail": "polonium-lovers@example.org", @@ -66,7 +66,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -74,7 +74,7 @@ { "id": { "opaque_id": "quantum-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "quantum-lovers", "mail": "quantum-lovers@example.org", @@ -84,7 +84,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -92,7 +92,7 @@ { "id": { "opaque_id": "philosophy-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "philosophy-haters", "mail": "philosophy-haters@example.org", @@ -102,7 +102,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -110,7 +110,7 @@ { "id": { "opaque_id": "physics-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "physics-lovers", "mail": "physics-lovers@example.org", @@ -120,19 +120,19 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] diff --git a/examples/oc-phoenix/users.demo.json b/examples/oc-phoenix/users.demo.json index 12c784f7eb0..893d69b99f7 100644 --- a/examples/oc-phoenix/users.demo.json +++ b/examples/oc-phoenix/users.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "einstein", @@ -14,7 +14,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "marie", @@ -26,7 +26,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "richard", diff --git a/examples/ocmd/users.demo.json b/examples/ocmd/users.demo.json index e1b52cb8065..0f96aeece1d 100644 --- a/examples/ocmd/users.demo.json +++ b/examples/ocmd/users.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "cernbox.cern.ch", + "idp": "https://cernbox.cern.ch", "type": 1 }, "username": "einstein", @@ -28,7 +28,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "cesnet.cz", + "idp": "https://cesnet.cz", "type": 1 }, "username": "marie", @@ -54,7 +54,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "example.org", + "idp": "https://example.org", "type": 1 }, "username": "richard", @@ -80,7 +80,7 @@ { "id": { "opaque_id": "932b4522-139b-4815-8ef4-42cdf82c3d51", - "idp": "example.com", + "idp": "https://example.com", "type": 1 }, "username": "test", diff --git a/examples/plugin/users.demo.json b/examples/plugin/users.demo.json index 21479c1ec7c..99a04a25540 100644 --- a/examples/plugin/users.demo.json +++ b/examples/plugin/users.demo.json @@ -2,7 +2,8 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "cernbox.cern.ch" + "idp": "https://cernbox.cern.ch", + "type": 1 }, "username": "einstein", "secret": "relativity", diff --git a/examples/standalone/groups.demo.json b/examples/standalone/groups.demo.json index f78da191bca..42fd1af0c26 100644 --- a/examples/standalone/groups.demo.json +++ b/examples/standalone/groups.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "sailing-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "sailing-lovers", "mail": "sailing-lovers@example.org", @@ -12,7 +12,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -20,7 +20,7 @@ { "id": { "opaque_id": "violin-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "violin-haters", "mail": "violin-haters@example.org", @@ -30,7 +30,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -38,7 +38,7 @@ { "id": { "opaque_id": "radium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "radium-lovers", "mail": "radium-lovers@example.org", @@ -48,7 +48,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -56,7 +56,7 @@ { "id": { "opaque_id": "polonium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "polonium-lovers", "mail": "polonium-lovers@example.org", @@ -66,7 +66,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -74,7 +74,7 @@ { "id": { "opaque_id": "quantum-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "quantum-lovers", "mail": "quantum-lovers@example.org", @@ -84,7 +84,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -92,7 +92,7 @@ { "id": { "opaque_id": "philosophy-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "philosophy-haters", "mail": "philosophy-haters@example.org", @@ -102,7 +102,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -110,7 +110,7 @@ { "id": { "opaque_id": "physics-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "physics-lovers", "mail": "physics-lovers@example.org", @@ -120,19 +120,19 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] diff --git a/examples/standalone/users.demo.json b/examples/standalone/users.demo.json index 12c784f7eb0..893d69b99f7 100644 --- a/examples/standalone/users.demo.json +++ b/examples/standalone/users.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "einstein", @@ -14,7 +14,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "marie", @@ -26,7 +26,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "richard", diff --git a/examples/storage-references/groups.demo.json b/examples/storage-references/groups.demo.json index f78da191bca..42fd1af0c26 100644 --- a/examples/storage-references/groups.demo.json +++ b/examples/storage-references/groups.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "sailing-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "sailing-lovers", "mail": "sailing-lovers@example.org", @@ -12,7 +12,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -20,7 +20,7 @@ { "id": { "opaque_id": "violin-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "violin-haters", "mail": "violin-haters@example.org", @@ -30,7 +30,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -38,7 +38,7 @@ { "id": { "opaque_id": "radium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "radium-lovers", "mail": "radium-lovers@example.org", @@ -48,7 +48,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -56,7 +56,7 @@ { "id": { "opaque_id": "polonium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "polonium-lovers", "mail": "polonium-lovers@example.org", @@ -66,7 +66,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -74,7 +74,7 @@ { "id": { "opaque_id": "quantum-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "quantum-lovers", "mail": "quantum-lovers@example.org", @@ -84,7 +84,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -92,7 +92,7 @@ { "id": { "opaque_id": "philosophy-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "philosophy-haters", "mail": "philosophy-haters@example.org", @@ -102,7 +102,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -110,7 +110,7 @@ { "id": { "opaque_id": "physics-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "physics-lovers", "mail": "physics-lovers@example.org", @@ -120,19 +120,19 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] diff --git a/examples/storage-references/users.demo.json b/examples/storage-references/users.demo.json index 426ba07b753..38932b65a07 100644 --- a/examples/storage-references/users.demo.json +++ b/examples/storage-references/users.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "einstein", @@ -14,7 +14,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "marie", @@ -26,7 +26,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 1 }, "username": "richard", @@ -38,7 +38,7 @@ { "id": { "opaque_id": "0e4d9dc1-8349-49fe-8afc-6b844aec1cf6", - "idp": "localhost:20080", + "idp": "http://localhost:20080", "type": 7 }, "username": "lwaccount", diff --git a/examples/two-server-setup/groups.demo.json b/examples/two-server-setup/groups.demo.json index f78da191bca..42fd1af0c26 100644 --- a/examples/two-server-setup/groups.demo.json +++ b/examples/two-server-setup/groups.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "sailing-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "sailing-lovers", "mail": "sailing-lovers@example.org", @@ -12,7 +12,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -20,7 +20,7 @@ { "id": { "opaque_id": "violin-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "violin-haters", "mail": "violin-haters@example.org", @@ -30,7 +30,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -38,7 +38,7 @@ { "id": { "opaque_id": "radium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "radium-lovers", "mail": "radium-lovers@example.org", @@ -48,7 +48,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -56,7 +56,7 @@ { "id": { "opaque_id": "polonium-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "polonium-lovers", "mail": "polonium-lovers@example.org", @@ -66,7 +66,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -74,7 +74,7 @@ { "id": { "opaque_id": "quantum-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "quantum-lovers", "mail": "quantum-lovers@example.org", @@ -84,7 +84,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -92,7 +92,7 @@ { "id": { "opaque_id": "philosophy-haters", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "philosophy-haters", "mail": "philosophy-haters@example.org", @@ -102,7 +102,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] @@ -110,7 +110,7 @@ { "id": { "opaque_id": "physics-lovers", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "group_name": "physics-lovers", "mail": "physics-lovers@example.org", @@ -120,19 +120,19 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } }, { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" } } ] diff --git a/tests/acceptance/config/behat.yml b/tests/acceptance/config/behat.yml index c75fd5d3676..bf2c3e1a456 100644 --- a/tests/acceptance/config/behat.yml +++ b/tests/acceptance/config/behat.yml @@ -2,6 +2,19 @@ default: autoload: '': '%paths.base%/../features/bootstrap' + suites: + apiVirtualViews: + paths: + - '%paths.base%/../features/apiVirtualViews' + contexts: + - RevaContext: + - FeatureContext: &common_feature_context_params + baseUrl: http://localhost:20180 + adminUsername: admin + adminPassword: admin + regularUserPassword: relativity + ocPath: apps/testing/api/v1/occ + extensions: jarnaiz\JUnitFormatter\JUnitFormatterExtension: filename: report.xml diff --git a/tests/acceptance/features/apiVirtualViews/virtualViews.feature b/tests/acceptance/features/apiVirtualViews/virtualViews.feature new file mode 100644 index 00000000000..3c1172a947a --- /dev/null +++ b/tests/acceptance/features/apiVirtualViews/virtualViews.feature @@ -0,0 +1,55 @@ +@api @virtual-views-required +Feature: virtual views + As admin + I want to be able to shard large folders over multiple storage providers + So that I can scale large numbers of users better. + + Background: + Given user "einstein" has created the following folders + | path | + | virtual/a | + | virtual/a/alice | + | virtual/b | + | virtual/c | + | virtual/k | + | virtual/l | + | virtual/z | + + Scenario: list large folder + Given using old DAV path + When user "einstein" lists the resources in "/virtual" with depth "0" using the WebDAV API + Then the HTTP status code should be "207" + And the last DAV response for user "einstein" should not contain these nodes + | name | + | virtual/a | + | virtual/b | + | virtual/c | + | virtual/k | + | virtual/l | + | virtual/z | + When user "einstein" lists the resources in "/virtual" with depth 1 using the WebDAV API + Then the HTTP status code should be "207" + And the last DAV response for user "einstein" should contain these nodes + | name | + | virtual/a | + | virtual/b | + | virtual/c | + | virtual/k | + | virtual/l | + | virtual/z | + And the last DAV response for user "einstein" should not contain these nodes + | name | + | virtual/a/alice | + When user "einstein" lists the resources in "/virtual" with depth "infinity" using the WebDAV API + Then the HTTP status code should be "207" + And the last DAV response for user "einstein" should contain these nodes + | name | + | virtual/a | + | virtual/a/alice | + | virtual/b | + | virtual/c | + | virtual/k | + | virtual/l | + | virtual/z | + #TODO verify mtime, etag, size and check files? + #And as "einstein" the mtime of the file "/virtual" should be :mtime diff --git a/tests/integration/grpc/fixtures/users.demo.json b/tests/integration/grpc/fixtures/users.demo.json index 62b7442aee9..0ade748d033 100644 --- a/tests/integration/grpc/fixtures/users.demo.json +++ b/tests/integration/grpc/fixtures/users.demo.json @@ -2,7 +2,7 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "username": "einstein", "secret": "relativity", @@ -14,7 +14,7 @@ { "id": { "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "username": "marie", "secret": "radioactivity", @@ -25,7 +25,7 @@ { "id": { "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", - "idp": "localhost:20080" + "idp": "http://localhost:20080" }, "username": "richard", "secret": "superfluidity", diff --git a/tests/integration/grpc/userprovider_test.go b/tests/integration/grpc/userprovider_test.go index 3108b1ad56d..c0252e457b0 100644 --- a/tests/integration/grpc/userprovider_test.go +++ b/tests/integration/grpc/userprovider_test.go @@ -246,7 +246,7 @@ var _ = Describe("user providers", func() { dependencies = map[string]string{ "users": "userprovider-json.toml", } - existingIdp = "localhost:20080" + existingIdp = "http://localhost:20080" }) assertFindUsersResponses() diff --git a/tests/oc-integration-tests/drone/frontend-global.toml b/tests/oc-integration-tests/drone/frontend-global.toml new file mode 100644 index 00000000000..3b47aa9efbd --- /dev/null +++ b/tests/oc-integration-tests/drone/frontend-global.toml @@ -0,0 +1,117 @@ +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "localhost:19000" + +# This frontend-global.toml config file will start a reva service that: +# - serves as the entrypoint for owncloud APIs but with a globally accessible namespace. +# - serves http endpoints on port 20180 +# - / --------------- 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 20199 +[grpc] +address = "0.0.0.0:20199" + +[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:20180" + +[http] +address = "0.0.0.0:20180" + +[http.middlewares.cors] +allow_credentials = true + +[http.services.ocdav] +# serve ocdav on the root path +prefix = "" +chunk_folder = "/drone/src/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 /users. 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 = "/" + +# 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 = "/" + +[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 = [] + +[http.services.ocs.capabilities.capabilities.files.tus_support] +version = "1.0.0" +resumable = "1.0.0" +extension = "creation,creation-with-upload" +http_method_override = "" +max_chunk_size = 0 diff --git a/tests/oc-integration-tests/drone/gateway.toml b/tests/oc-integration-tests/drone/gateway.toml index 916ad90e01a..6d2577c2ca9 100644 --- a/tests/oc-integration-tests/drone/gateway.toml +++ b/tests/oc-integration-tests/drone/gateway.toml @@ -69,6 +69,13 @@ home_provider = "/home" # mount a storage provider without a path wrapper for direct access to users. "/users" = {"address" = "localhost:11000"} "123e4567-e89b-12d3-a456-426655440000" = {"address" = "localhost:11000"} + +# the /virtual namespace is only accessible via the frontend-global service +"/virtual/[a-k]" = {"address" = "localhost:11100"} +"virtual-a-k" = {"address" = "localhost:11100"} +"/virtual/[l-z]" = {"address" = "localhost:11110"} +"virtual-l-z" = {"address" = "localhost:11110"} + # another mount point might be "/projects/" "/public" = {"address" = "localhost:13000"} diff --git a/tests/oc-integration-tests/drone/storage-local-1.toml b/tests/oc-integration-tests/drone/storage-local-1.toml new file mode 100644 index 00000000000..da0ae4fedc7 --- /dev/null +++ b/tests/oc-integration-tests/drone/storage-local-1.toml @@ -0,0 +1,36 @@ +# 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:11100" + +# This is a storage provider that grants direct access to the wrapped storage +# we have a locally running dataprovider +[grpc.services.storageprovider] +driver = "local" +mount_path = "/virtual" +mount_id = "virtual-a-k" +expose_data_server = true +data_server_url = "http://localhost:11101/data" + +[grpc.services.storageprovider.drivers.local] +root = "/drone/src/tmp/reva/data-local-1" +enable_home = false + +[http] +address = "0.0.0.0:11101" + +[http.services.dataprovider] +driver = "local" +temp_folder = "/drone/src/tmp/reva/tmp" + +[http.services.dataprovider.drivers.local] +root = "/drone/src/tmp/reva/data-local-1" +enable_home = false diff --git a/tests/oc-integration-tests/drone/storage-local-2.toml b/tests/oc-integration-tests/drone/storage-local-2.toml new file mode 100644 index 00000000000..e476d8edf62 --- /dev/null +++ b/tests/oc-integration-tests/drone/storage-local-2.toml @@ -0,0 +1,36 @@ +# 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:11110" + +# This is a storage provider that grants direct access to the wrapped storage +# we have a locally running dataprovider +[grpc.services.storageprovider] +driver = "local" +mount_path = "/virtual" +mount_id = "virtual-l-z" +expose_data_server = true +data_server_url = "http://localhost:11111/data" + +[grpc.services.storageprovider.drivers.local] +root = "/drone/src/tmp/reva/data-local-2" +enable_home = false + +[http] +address = "0.0.0.0:11111" + +[http.services.dataprovider] +driver = "local" +temp_folder = "/drone/src/tmp/reva/tmp" + +[http.services.dataprovider.drivers.local] +root = "/drone/src/tmp/reva/data-local-2" +enable_home = false diff --git a/tests/oc-integration-tests/drone/users.demo.json b/tests/oc-integration-tests/drone/users.demo.json index 5a68de8de31..893d69b99f7 100644 --- a/tests/oc-integration-tests/drone/users.demo.json +++ b/tests/oc-integration-tests/drone/users.demo.json @@ -2,12 +2,37 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "http://localhost:20080" + "idp": "http://localhost:20080", + "type": 1 }, "username": "einstein", "secret": "relativity", "mail": "einstein@example.org", "display_name": "Albert Einstein", - "groups": [] + "groups": ["sailing-lovers", "violin-haters", "physics-lovers"] + }, + { + "id": { + "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", + "idp": "http://localhost:20080", + "type": 1 + }, + "username": "marie", + "secret": "radioactivity", + "mail": "marie@example.org", + "display_name": "Marie Curie", + "groups": ["radium-lovers", "polonium-lovers", "physics-lovers"] + }, + { + "id": { + "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", + "idp": "http://localhost:20080", + "type": 1 + }, + "username": "richard", + "secret": "superfluidity", + "mail": "richard@example.org", + "display_name": "Richard Feynman", + "groups": ["quantum-lovers", "philosophy-haters", "physics-lovers"] } ] diff --git a/tests/oc-integration-tests/local/frontend-global.toml b/tests/oc-integration-tests/local/frontend-global.toml new file mode 100644 index 00000000000..f6a68a090c2 --- /dev/null +++ b/tests/oc-integration-tests/local/frontend-global.toml @@ -0,0 +1,117 @@ +[shared] +jwt_secret = "Pive-Fumkiu4" +gatewaysvc = "localhost:19000" + +# This frontend-global.toml config file will start a reva service that: +# - serves as the entrypoint for owncloud APIs but with a globally accessible namespace. +# - serves http endpoints on port 20180 +# - / --------------- 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 20199 +[grpc] +address = "0.0.0.0:20199" + +[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:20180" + +[http] +address = "0.0.0.0:20180" + +[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 /users. 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 = "/" + +# 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 = "/" + +[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 = [] + +[http.services.ocs.capabilities.capabilities.files.tus_support] +version = "1.0.0" +resumable = "1.0.0" +extension = "creation,creation-with-upload" +http_method_override = "" +max_chunk_size = 0 diff --git a/tests/oc-integration-tests/local/gateway.toml b/tests/oc-integration-tests/local/gateway.toml index 71289e93088..717bc766ca0 100644 --- a/tests/oc-integration-tests/local/gateway.toml +++ b/tests/oc-integration-tests/local/gateway.toml @@ -62,6 +62,13 @@ home_provider = "/home" # mount a storage provider without a path wrapper for direct access to users. "/users" = {"address" = "localhost:11000"} "123e4567-e89b-12d3-a456-426655440000" = {"address" = "localhost:11000"} + +# the /virtual namespace is only accessible via the frontend-global service +"/virtual/[a-k]" = {"address" = "localhost:11100"} +"virtual-a-k" = {"address" = "localhost:11100"} +"/virtual/[l-z]" = {"address" = "localhost:11110"} +"virtual-l-z" = {"address" = "localhost:11110"} + # another mount point might be "/projects/" "/public" = {"address" = "localhost:13000"} diff --git a/tests/oc-integration-tests/local/storage-local-1.toml b/tests/oc-integration-tests/local/storage-local-1.toml new file mode 100644 index 00000000000..3ec67b99d08 --- /dev/null +++ b/tests/oc-integration-tests/local/storage-local-1.toml @@ -0,0 +1,36 @@ +# 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:11100" + +# This is a storage provider that grants direct access to the wrapped storage +# we have a locally running dataprovider +[grpc.services.storageprovider] +driver = "local" +mount_path = "/virtual" +mount_id = "virtual-a-k" +expose_data_server = true +data_server_url = "http://localhost:11101/data" + +[grpc.services.storageprovider.drivers.local] +root = "/var/tmp/reva/data-local-1" +enable_home = false + +[http] +address = "0.0.0.0:11101" + +[http.services.dataprovider] +driver = "local" +temp_folder = "/var/tmp/reva/tmp" + +[http.services.dataprovider.drivers.local] +root = "/var/tmp/reva/data-local-1" +enable_home = false diff --git a/tests/oc-integration-tests/local/storage-local-2.toml b/tests/oc-integration-tests/local/storage-local-2.toml new file mode 100644 index 00000000000..8643a7834d9 --- /dev/null +++ b/tests/oc-integration-tests/local/storage-local-2.toml @@ -0,0 +1,36 @@ +# 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:11110" + +# This is a storage provider that grants direct access to the wrapped storage +# we have a locally running dataprovider +[grpc.services.storageprovider] +driver = "local" +mount_path = "/virtual" +mount_id = "virtual-l-z" +expose_data_server = true +data_server_url = "http://localhost:11111/data" + +[grpc.services.storageprovider.drivers.local] +root = "/var/tmp/reva/data-local-2" +enable_home = false + +[http] +address = "0.0.0.0:11111" + +[http.services.dataprovider] +driver = "local" +temp_folder = "/var/tmp/reva/tmp" + +[http.services.dataprovider.drivers.local] +root = "/var/tmp/reva/data-local-2" +enable_home = false diff --git a/tests/oc-integration-tests/local/users.demo.json b/tests/oc-integration-tests/local/users.demo.json index 5a68de8de31..893d69b99f7 100644 --- a/tests/oc-integration-tests/local/users.demo.json +++ b/tests/oc-integration-tests/local/users.demo.json @@ -2,12 +2,37 @@ { "id": { "opaque_id": "4c510ada-c86b-4815-8820-42cdf82c3d51", - "idp": "http://localhost:20080" + "idp": "http://localhost:20080", + "type": 1 }, "username": "einstein", "secret": "relativity", "mail": "einstein@example.org", "display_name": "Albert Einstein", - "groups": [] + "groups": ["sailing-lovers", "violin-haters", "physics-lovers"] + }, + { + "id": { + "opaque_id": "f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c", + "idp": "http://localhost:20080", + "type": 1 + }, + "username": "marie", + "secret": "radioactivity", + "mail": "marie@example.org", + "display_name": "Marie Curie", + "groups": ["radium-lovers", "polonium-lovers", "physics-lovers"] + }, + { + "id": { + "opaque_id": "932b4540-8d16-481e-8ef4-588e4b6b151c", + "idp": "http://localhost:20080", + "type": 1 + }, + "username": "richard", + "secret": "superfluidity", + "mail": "richard@example.org", + "display_name": "Richard Feynman", + "groups": ["quantum-lovers", "philosophy-haters", "physics-lovers"] } ]