1
0
mirror of https://github.com/owncloud/ocis.git synced 2025-04-17 12:37:07 +03:00

tests: update ocm setup and docs

docs: separate provider config

tests: substitution for local and remote server urls

tests: create local configs

tests: fix vscode debugger config

tests: separate federation share steps
This commit is contained in:
Saw-jan 2024-11-08 18:30:53 +05:45
parent 22d80256d6
commit c3b442491d
No known key found for this signature in database
GPG Key ID: 8CB52C9ABF046F4A
18 changed files with 576 additions and 420 deletions

417
.vscode/launch.json vendored
View File

@ -1,214 +1,211 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch"
},
{
"name": "Debug remote :40000",
"type": "go",
"request": "attach",
"mode": "remote",
"port": 40000
},
{
"name": "oCIS server",
"type": "go",
"request": "launch",
"mode": "debug",
"buildFlags": [
// "-tags", "enable_vips"
],
"program": "${workspaceFolder}/ocis/cmd/ocis",
"args": [
"server"
],
"env": {
// log settings for human developers
"OCIS_LOG_LEVEL": "debug",
"OCIS_LOG_PRETTY": "true",
"OCIS_LOG_COLOR": "true",
// set insecure options because we don't have valid certificates in dev environments
"OCIS_INSECURE": "true",
// enable basic auth for dev setup so that we can use curl for testing
"PROXY_ENABLE_BASIC_AUTH": "true",
// demo users
"IDM_CREATE_DEMO_USERS": "true",
// OCIS_RUN_SERVICES allows to start a subset of services even in the supervised mode
//"OCIS_RUN_SERVICES": "settings,storage-system,graph,idp,idm,ocs,store,thumbnails,web,webdav,frontend,gateway,users,groups,auth-basic,storage-authmachine,storage-users,storage-shares,storage-publiclink,storage-system,app-provider,sharing,proxy,ocdav",
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch"
},
{
"name": "Debug remote :40000",
"type": "go",
"request": "attach",
"mode": "remote",
"port": 40000
},
{
"name": "oCIS server",
"type": "go",
"request": "launch",
"mode": "debug",
"buildFlags": [
// "-tags", "enable_vips"
],
"program": "${workspaceFolder}/ocis/cmd/ocis",
"args": ["server"],
"env": {
// log settings for human developers
"OCIS_LOG_LEVEL": "debug",
"OCIS_LOG_PRETTY": "true",
"OCIS_LOG_COLOR": "true",
// set insecure options because we don't have valid certificates in dev environments
"OCIS_INSECURE": "true",
// enable basic auth for dev setup so that we can use curl for testing
"PROXY_ENABLE_BASIC_AUTH": "true",
// demo users
"IDM_CREATE_DEMO_USERS": "true",
// OCIS_RUN_SERVICES allows to start a subset of services even in the supervised mode
//"OCIS_RUN_SERVICES": "settings,storage-system,graph,idp,idm,ocs,store,thumbnails,web,webdav,frontend,gateway,users,groups,auth-basic,storage-authmachine,storage-users,storage-shares,storage-publiclink,storage-system,app-provider,sharing,proxy,ocdav",
/*
* Keep secrets and passwords in one block to allow easy uncommenting
*/
// user id of "admin", for user creation and admin role assignement
"OCIS_ADMIN_USER_ID": "some-admin-user-id-0000-000000000000", // FIXME currently must have the length of a UUID, see reva/pkg/storage/utils/decomposedfs/spaces.go:228
// admin user default password
"IDM_ADMIN_PASSWORD": "admin",
// system user
"OCIS_SYSTEM_USER_ID": "some-system-user-id-000-000000000000", // FIXME currently must have the length of a UUID, see reva/pkg/storage/utils/decomposedfs/spaces.go:228
"OCIS_SYSTEM_USER_API_KEY": "some-system-user-machine-auth-api-key",
// set some hardcoded secrets
"OCIS_JWT_SECRET": "some-ocis-jwt-secret",
"OCIS_MACHINE_AUTH_API_KEY": "some-ocis-machine-auth-api-key",
"OCIS_TRANSFER_SECRET": "some-ocis-transfer-secret",
// collaboration
"COLLABORATION_WOPIAPP_SECRET": "some-wopi-secret",
// idm ldap
"IDM_SVC_PASSWORD": "some-ldap-idm-password",
"GRAPH_LDAP_BIND_PASSWORD": "some-ldap-idm-password",
// reva ldap
"IDM_REVASVC_PASSWORD": "some-ldap-reva-password",
"GROUPS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"USERS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"AUTH_BASIC_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
// idp ldap
"IDM_IDPSVC_PASSWORD": "some-ldap-idp-password",
"IDP_LDAP_BIND_PASSWORD": "some-ldap-idp-password",
// storage users mount ID
"GATEWAY_STORAGE_USERS_MOUNT_ID": "storage-users-1",
"STORAGE_USERS_MOUNT_ID": "storage-users-1",
// graph application ID
"GRAPH_APPLICATION_ID": "application-1",
/*
* Keep secrets and passwords in one block to allow easy uncommenting
*/
// user id of "admin", for user creation and admin role assignement
"OCIS_ADMIN_USER_ID": "some-admin-user-id-0000-000000000000", // FIXME currently must have the length of a UUID, see reva/pkg/storage/utils/decomposedfs/spaces.go:228
// admin user default password
"IDM_ADMIN_PASSWORD": "admin",
// system user
"OCIS_SYSTEM_USER_ID": "some-system-user-id-000-000000000000", // FIXME currently must have the length of a UUID, see reva/pkg/storage/utils/decomposedfs/spaces.go:228
"OCIS_SYSTEM_USER_API_KEY": "some-system-user-machine-auth-api-key",
// set some hardcoded secrets
"OCIS_JWT_SECRET": "some-ocis-jwt-secret",
"OCIS_MACHINE_AUTH_API_KEY": "some-ocis-machine-auth-api-key",
"OCIS_TRANSFER_SECRET": "some-ocis-transfer-secret",
// collaboration
"COLLABORATION_WOPIAPP_SECRET": "some-wopi-secret",
// idm ldap
"IDM_SVC_PASSWORD": "some-ldap-idm-password",
"GRAPH_LDAP_BIND_PASSWORD": "some-ldap-idm-password",
// reva ldap
"IDM_REVASVC_PASSWORD": "some-ldap-reva-password",
"GROUPS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"USERS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"AUTH_BASIC_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
// idp ldap
"IDM_IDPSVC_PASSWORD": "some-ldap-idp-password",
"IDP_LDAP_BIND_PASSWORD": "some-ldap-idp-password",
// storage users mount ID
"GATEWAY_STORAGE_USERS_MOUNT_ID": "storage-users-1",
"STORAGE_USERS_MOUNT_ID": "storage-users-1",
// graph application ID
"GRAPH_APPLICATION_ID": "application-1",
// service accounts
"OCIS_SERVICE_ACCOUNT_ID": "service-account-id",
"OCIS_SERVICE_ACCOUNT_SECRET": "service-account-secret"
}
},
{
"name": "10200",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/ocis/cmd/ocis/main.go",
"args": [
"server"
],
"env": {
"OCM_OCM_PROVIDER_AUTHORIZER_PROVIDERS_FILE": "${workspaceFolder}/tests/config/drone/providers.json",
"OCM_OCM_INVITE_MANAGER_INSECURE": "true",
"OCM_OCM_SHARE_PROVIDER_INSECURE": "true",
"OCM_OCM_STORAGE_PROVIDER_INSECURE": "true",
"OCIS_BASE_DATA_PATH": "${env:HOME}/.ocis-10200",
"OCIS_CONFIG_DIR": "${env:HOME}/.ocis-10200/config",
"OCIS_EVENTS_ENDPOINT": "127.0.0.1:10233",
"OCIS_LDAP_URI": "ldaps://localhost:10235",
"OCIS_RUNTIME_PORT": "10250",
"OCIS_URL": "https://federation-ocis-server:10200",
"OCIS_ADD_RUN_SERVICES": "ocm",
"OCIS_ENABLE_OCM": "true",
"APP_PROVIDER_DEBUG_ADDR": "127.0.0.1:10165",
"APP_PROVIDER_GRPC_ADDR": "127.0.0.1:10164",
"APP_REGISTRY_DEBUG_ADDR": "127.0.0.1:10243",
"APP_REGISTRY_GRPC_ADDR": "127.0.0.1:10242",
"AUTH_BASIC_DEBUG_ADDR": "127.0.0.1:10147",
"AUTH_BASIC_GRPC_ADDR": "127.0.0.1:10146",
"AUTH_MACHINE_DEBUG_ADDR": "127.0.0.1:10167",
"AUTH_MACHINE_GRPC_ADDR": "127.0.0.1:10166",
"AUTH_SERVICE_DEBUG_ADDR": "127.0.0.1:10169",
"AUTH_SERVICE_GRPC_ADDR": "127.0.0.1:10199",
"CLIENTLOG_DEBUG_ADDR": "127.0.0.1:10260",
"ACTIVITYLOG_HTTP_ADDR": "127.0.0.1:10195",
"ACTIVITYLOG_DEBUG_ADDR": "127.0.0.1:10261",
"EVENTHISTORY_GRPC_ADDR": "127.0.0.1:10274",
"EVENTHISTORY_DEBUG_ADDR": "127.0.0.1:10270",
"FRONTEND_DEBUG_ADDR": "127.0.0.1:10141",
"FRONTEND_HTTP_ADDR": "127.0.0.1:10140",
"GATEWAY_DEBUG_ADDR": "127.0.0.1:10143",
"GATEWAY_GRPC_ADDR": "127.0.0.1:10142",
"GRAPH_DEBUG_ADDR": "127.0.0.1:10124",
"GRAPH_HTTP_ADDR": "127.0.0.1:10120",
"GROUPS_DEBUG_ADDR": "127.0.0.1:10161",
"GROUPS_GRPC_ADDR": "127.0.0.1:10160",
"IDM_DEBUG_ADDR": "127.0.0.1:10239",
"IDM_LDAPS_ADDR": "127.0.0.1:10235",
"IDP_DEBUG_ADDR": "127.0.0.1:10134",
"IDP_HTTP_ADDR": "127.0.0.1:10130",
"NATS_DEBUG_ADDR": "127.0.0.1:10234",
"NATS_NATS_PORT": "10233",
"OCDAV_HTTP_ADDR": "127.0.0.1:10350",
"OCDAV_DEBUG_ADDR": "127.0.0.1:10163",
"OCM_DEBUG_ADDR": "127.0.0.1:10281",
"OCM_HTTP_ADDR": "127.0.0.1:10280",
"OCM_GRPC_ADDR": "127.0.0.1:10282",
"OCS_DEBUG_ADDR": "127.0.0.1:10114",
"OCS_HTTP_ADDR": "127.0.0.1:10110",
"POSTPROCESSING_DEBUG_ADDR": "127.0.0.1:10255",
"POSTPROCESSING_SERVICE_DEBUG_ADDR": "127.0.0.1:10255",
"PROXY_DEBUG_ADDR": "127.0.0.1:10205",
"PROXY_HTTP_ADDR": "127.0.0.1:10200",
"SEARCH_DEBUG_ADDR": "127.0.0.1:10224",
"SEARCH_GRPC_ADDR": "127.0.0.1:10220",
"SETTINGS_DEBUG_ADDR": "127.0.0.1:10189",
"SETTINGS_GRPC_ADDR": "127.0.0.1:10185",
"SETTINGS_HTTP_ADDR": "127.0.0.1:10186",
"SHARING_DEBUG_ADDR": "127.0.0.1:10151",
"SHARING_GRPC_ADDR": "127.0.0.1:10150",
"SSE_HTTP_ADDR": "127.0.0.1:10132",
"SSE_DEBUG_ADDR": "127.0.0.1:10135",
"STORAGE_PUBLICLINK_DEBUG_ADDR": "127.0.0.1:10179",
"STORAGE_PUBLICLINK_GRPC_ADDR": "127.0.0.1:10178",
"STORAGE_SHARES_DEBUG_ADDR": "127.0.0.1:10156",
"STORAGE_SHARES_GRPC_ADDR": "127.0.0.1:10154",
"STORAGE_SYSTEM_DATA_SERVER_URL": "http://localhost:10216/data",
"STORAGE_SYSTEM_DEBUG_ADDR": "127.0.0.1:10217",
"STORAGE_SYSTEM_GRPC_ADDR": "127.0.0.1:10215",
"STORAGE_SYSTEM_HTTP_ADDR": "127.0.0.1:10216",
"STORAGE_USERS_DEBUG_ADDR": "127.0.0.1:10159",
"STORAGE_USERS_GRPC_ADDR": "127.0.0.1:10157",
"STORAGE_USERS_HTTP_ADDR": "127.0.0.1:10158",
"STORAGE_USERS_DATA_SERVER_URL": "http://localhost:10158/data",
"STORE_DEBUG_ADDR": "127.0.0.1:10464",
"STORE_GRPC_ADDR": "127.0.0.1:10460",
"THUMBNAILS_DEBUG_ADDR": "127.0.0.1:10194",
"THUMBNAILS_GRPC_ADDR": "127.0.0.1:10191",
"THUMBNAILS_HTTP_ADDR": "127.0.0.1:10190",
"USERLOG_HTTP_ADDR": "127.0.0.1:10211",
"USERLOG_DEBUG_ADDR": "127.0.0.1:10210",
"USERS_DEBUG_ADDR": "127.0.0.1:10145",
"USERS_GRPC_ADDR": "127.0.0.1:10144",
"WEB_DEBUG_ADDR": "localhost:10104",
"WEB_HTTP_ADDR": "localhost:10100",
"WEBDAV_DEBUG_ADDR": "127.0.0.1:10119",
"WEBDAV_HTTP_ADDR": "127.0.0.1:10115",
"WEBFINGER_DEBUG_ADDR": "127.0.0.1:10279",
"WEBFINGER_HTTP_ADDR": "127.0.0.1:10275",
"OCIS_SERVICE_ACCOUNT_ID": "serviceaccount",
"OCIS_SERVICE_ACCOUNT_SECRET": "serviceaccountsecret",
"OCIS_DECOMPOSEDFS_PROPAGATOR": "async",
"STORAGE_USERS_ASYNC_PROPAGATOR_PROPAGATION_DELAY": "10s",
"TLS_INSECURE": "true",
"OCIS_INSECURE": "true",
"IDP_ACCESS_TOKEN_EXPIRATION": "9000",
"GATEWAY_STORAGE_USERS_MOUNT_ID": "storage-users-1",
"STORAGE_USERS_MOUNT_ID": "storage-users-1",
"MICRO_REGISTRY": "memory",
"SHARING_PUBLIC_DRIVER": "jsoncs3",
"FRONTEND_OCS_RESOURCE_INFO_CACHE_TTL": "0",
"OCIS_LOG_LEVEL": "info",
"OCIS_LOG_PRETTY": "true",
"OCIS_LOG_COLOR": "true",
"PROXY_ENABLE_BASIC_AUTH": "true",
"IDM_CREATE_DEMO_USERS": "true",
"OCIS_ADMIN_USER_ID": "some-admin-user-id-0000-000000000000",
"IDM_ADMIN_PASSWORD": "admin",
"OCIS_SYSTEM_USER_ID": "some-system-user-id-000-000000000000",
"OCIS_SYSTEM_USER_API_KEY": "some-system-user-machine-auth-api-key",
"OCIS_JWT_SECRET": "some-ocis-jwt-secret",
"OCIS_MACHINE_AUTH_API_KEY": "some-ocis-machine-auth-api-key",
"OCIS_TRANSFER_SECRET": "some-ocis-transfer-secret",
"IDM_SVC_PASSWORD": "some-ldap-idm-password",
"GRAPH_LDAP_BIND_PASSWORD": "some-ldap-idm-password",
"IDM_REVASVC_PASSWORD": "some-ldap-reva-password",
"GROUPS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"USERS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"AUTH_BASIC_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"IDM_IDPSVC_PASSWORD": "some-ldap-idp-password",
"IDP_LDAP_BIND_PASSWORD": "some-ldap-idp-password",
"GRAPH_APPLICATION_ID": "application-1"
}
},
]
// service accounts
"OCIS_SERVICE_ACCOUNT_ID": "service-account-id",
"OCIS_SERVICE_ACCOUNT_SECRET": "service-account-secret"
}
},
{
"name": "Fed oCIS server",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/ocis/cmd/ocis/main.go",
"args": ["server"],
"env": {
"WEB_UI_CONFIG_FILE": "${workspaceFolder}/tests/config/local/fed-ocis-web.json",
"OCM_OCM_PROVIDER_AUTHORIZER_PROVIDERS_FILE": "${workspaceFolder}/tests/config/local/providers.json",
"OCM_OCM_INVITE_MANAGER_INSECURE": "true",
"OCM_OCM_SHARE_PROVIDER_INSECURE": "true",
"OCM_OCM_STORAGE_PROVIDER_INSECURE": "true",
"OCIS_BASE_DATA_PATH": "${env:HOME}/.ocis-10200",
"OCIS_CONFIG_DIR": "${env:HOME}/.ocis-10200/config",
"OCIS_EVENTS_ENDPOINT": "127.0.0.1:10233",
"OCIS_LDAP_URI": "ldaps://localhost:10235",
"OCIS_RUNTIME_PORT": "10250",
"OCIS_URL": "https://localhost:10200",
"OCIS_ADD_RUN_SERVICES": "ocm",
"OCIS_ENABLE_OCM": "true",
"APP_PROVIDER_DEBUG_ADDR": "127.0.0.1:10165",
"APP_PROVIDER_GRPC_ADDR": "127.0.0.1:10164",
"APP_REGISTRY_DEBUG_ADDR": "127.0.0.1:10243",
"APP_REGISTRY_GRPC_ADDR": "127.0.0.1:10242",
"AUTH_BASIC_DEBUG_ADDR": "127.0.0.1:10147",
"AUTH_BASIC_GRPC_ADDR": "127.0.0.1:10146",
"AUTH_MACHINE_DEBUG_ADDR": "127.0.0.1:10167",
"AUTH_MACHINE_GRPC_ADDR": "127.0.0.1:10166",
"AUTH_SERVICE_DEBUG_ADDR": "127.0.0.1:10169",
"AUTH_SERVICE_GRPC_ADDR": "127.0.0.1:10199",
"CLIENTLOG_DEBUG_ADDR": "127.0.0.1:10260",
"ACTIVITYLOG_HTTP_ADDR": "127.0.0.1:10195",
"ACTIVITYLOG_DEBUG_ADDR": "127.0.0.1:10261",
"EVENTHISTORY_GRPC_ADDR": "127.0.0.1:10274",
"EVENTHISTORY_DEBUG_ADDR": "127.0.0.1:10270",
"FRONTEND_DEBUG_ADDR": "127.0.0.1:10141",
"FRONTEND_HTTP_ADDR": "127.0.0.1:10140",
"GATEWAY_DEBUG_ADDR": "127.0.0.1:10143",
"GATEWAY_GRPC_ADDR": "127.0.0.1:10142",
"GRAPH_DEBUG_ADDR": "127.0.0.1:10124",
"GRAPH_HTTP_ADDR": "127.0.0.1:10120",
"GROUPS_DEBUG_ADDR": "127.0.0.1:10161",
"GROUPS_GRPC_ADDR": "127.0.0.1:10160",
"IDM_DEBUG_ADDR": "127.0.0.1:10239",
"IDM_LDAPS_ADDR": "127.0.0.1:10235",
"IDP_DEBUG_ADDR": "127.0.0.1:10134",
"IDP_HTTP_ADDR": "127.0.0.1:10130",
"NATS_DEBUG_ADDR": "127.0.0.1:10234",
"NATS_NATS_PORT": "10233",
"OCDAV_HTTP_ADDR": "127.0.0.1:10350",
"OCDAV_DEBUG_ADDR": "127.0.0.1:10163",
"OCM_DEBUG_ADDR": "127.0.0.1:10281",
"OCM_HTTP_ADDR": "127.0.0.1:10280",
"OCM_GRPC_ADDR": "127.0.0.1:10282",
"OCS_DEBUG_ADDR": "127.0.0.1:10114",
"OCS_HTTP_ADDR": "127.0.0.1:10110",
"POSTPROCESSING_DEBUG_ADDR": "127.0.0.1:10255",
"POSTPROCESSING_SERVICE_DEBUG_ADDR": "127.0.0.1:10255",
"PROXY_DEBUG_ADDR": "127.0.0.1:10205",
"PROXY_HTTP_ADDR": "127.0.0.1:10200",
"SEARCH_DEBUG_ADDR": "127.0.0.1:10224",
"SEARCH_GRPC_ADDR": "127.0.0.1:10220",
"SETTINGS_DEBUG_ADDR": "127.0.0.1:10189",
"SETTINGS_GRPC_ADDR": "127.0.0.1:10185",
"SETTINGS_HTTP_ADDR": "127.0.0.1:10186",
"SHARING_DEBUG_ADDR": "127.0.0.1:10151",
"SHARING_GRPC_ADDR": "127.0.0.1:10150",
"SSE_HTTP_ADDR": "127.0.0.1:10132",
"SSE_DEBUG_ADDR": "127.0.0.1:10135",
"STORAGE_PUBLICLINK_DEBUG_ADDR": "127.0.0.1:10179",
"STORAGE_PUBLICLINK_GRPC_ADDR": "127.0.0.1:10178",
"STORAGE_SHARES_DEBUG_ADDR": "127.0.0.1:10156",
"STORAGE_SHARES_GRPC_ADDR": "127.0.0.1:10154",
"STORAGE_SYSTEM_DATA_SERVER_URL": "http://localhost:10216/data",
"STORAGE_SYSTEM_DEBUG_ADDR": "127.0.0.1:10217",
"STORAGE_SYSTEM_GRPC_ADDR": "127.0.0.1:10215",
"STORAGE_SYSTEM_HTTP_ADDR": "127.0.0.1:10216",
"STORAGE_USERS_DEBUG_ADDR": "127.0.0.1:10159",
"STORAGE_USERS_GRPC_ADDR": "127.0.0.1:10157",
"STORAGE_USERS_HTTP_ADDR": "127.0.0.1:10158",
"STORAGE_USERS_DATA_SERVER_URL": "http://localhost:10158/data",
"STORE_DEBUG_ADDR": "127.0.0.1:10464",
"STORE_GRPC_ADDR": "127.0.0.1:10460",
"THUMBNAILS_DEBUG_ADDR": "127.0.0.1:10194",
"THUMBNAILS_GRPC_ADDR": "127.0.0.1:10191",
"THUMBNAILS_HTTP_ADDR": "127.0.0.1:10190",
"USERLOG_HTTP_ADDR": "127.0.0.1:10211",
"USERLOG_DEBUG_ADDR": "127.0.0.1:10210",
"USERS_DEBUG_ADDR": "127.0.0.1:10145",
"USERS_GRPC_ADDR": "127.0.0.1:10144",
"WEB_DEBUG_ADDR": "localhost:10104",
"WEB_HTTP_ADDR": "localhost:10100",
"WEBDAV_DEBUG_ADDR": "127.0.0.1:10119",
"WEBDAV_HTTP_ADDR": "127.0.0.1:10115",
"WEBFINGER_DEBUG_ADDR": "127.0.0.1:10279",
"WEBFINGER_HTTP_ADDR": "127.0.0.1:10275",
"OCIS_SERVICE_ACCOUNT_ID": "serviceaccount",
"OCIS_SERVICE_ACCOUNT_SECRET": "serviceaccountsecret",
"OCIS_DECOMPOSEDFS_PROPAGATOR": "async",
"STORAGE_USERS_ASYNC_PROPAGATOR_PROPAGATION_DELAY": "10s",
"TLS_INSECURE": "true",
"OCIS_INSECURE": "true",
"IDP_ACCESS_TOKEN_EXPIRATION": "9000",
"GATEWAY_STORAGE_USERS_MOUNT_ID": "storage-users-1",
"STORAGE_USERS_MOUNT_ID": "storage-users-1",
"MICRO_REGISTRY": "memory",
"SHARING_PUBLIC_DRIVER": "jsoncs3",
"FRONTEND_OCS_RESOURCE_INFO_CACHE_TTL": "0",
"OCIS_LOG_LEVEL": "info",
"OCIS_LOG_PRETTY": "true",
"OCIS_LOG_COLOR": "true",
"PROXY_ENABLE_BASIC_AUTH": "true",
"IDM_CREATE_DEMO_USERS": "true",
"OCIS_ADMIN_USER_ID": "some-admin-user-id-0000-000000000000",
"IDM_ADMIN_PASSWORD": "admin",
"OCIS_SYSTEM_USER_ID": "some-system-user-id-000-000000000000",
"OCIS_SYSTEM_USER_API_KEY": "some-system-user-machine-auth-api-key",
"OCIS_JWT_SECRET": "some-ocis-jwt-secret",
"OCIS_MACHINE_AUTH_API_KEY": "some-ocis-machine-auth-api-key",
"OCIS_TRANSFER_SECRET": "some-ocis-transfer-secret",
"IDM_SVC_PASSWORD": "some-ldap-idm-password",
"GRAPH_LDAP_BIND_PASSWORD": "some-ldap-idm-password",
"IDM_REVASVC_PASSWORD": "some-ldap-reva-password",
"GROUPS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"USERS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"AUTH_BASIC_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"IDM_IDPSVC_PASSWORD": "some-ldap-idp-password",
"IDP_LDAP_BIND_PASSWORD": "some-ldap-idp-password",
"GRAPH_APPLICATION_ID": "application-1"
}
}
]
}

View File

@ -472,6 +472,10 @@ docker run -d -p 3310:3310 -v /your/local/filesystem/path/to/clamav/:/var/lib/cl
As `antivirus` service is not enabled by default we need to enable the service while running oCIS server. We also need to enable `async upload` and as virus scan is performed in post-processing step, we need to set it as well. Documentation for environment variables related to antivirus is available [here](https://owncloud.dev/services/antivirus/#environment-variables)
```bash
# init oCIS
IDM_ADMIN_PASSWORD=admin \
ocis/bin/ocis init --insecure true
# run oCIS
PROXY_ENABLE_BASIC_AUTH=true \
ANTIVIRUS_SCANNER_TYPE="clamav" \
@ -504,47 +508,47 @@ make test-acceptance-api
Test suites that are tagged with `@ocm` require running two different ocis instances. More detailed information and configuration related to it can be found [here](https://doc.owncloud.com/ocis/5.0/deployment/services/s-list/ocm.html).
Put
### Setup First oCIS Instance
```bash
127.0.0.1 ocis-server
127.0.0.1 federation-ocis-server
```
# init oCIS
IDM_ADMIN_PASSWORD=admin \
ocis/bin/ocis init --insecure true
in the `/etc/hosts` file
### Setup first ocis instance
```bash
# run oCIS
OCIS_URL="https://ocis-server:9200" \
OCIS_URL="https://localhost:9200" \
PROXY_ENABLE_BASIC_AUTH=true \
OCIS_ENABLE_OCM=true \
OCM_OCM_PROVIDER_AUTHORIZER_PROVIDERS_FILE="${workspaceFolder}/tests/config/drone/providers.json" \
OCM_OCM_PROVIDER_AUTHORIZER_PROVIDERS_FILE="tests/config/local/providers.json" \
OCIS_ADD_RUN_SERVICES="ocm" \
OCM_OCM_INVITE_MANAGER_INSECURE=true \
OCM_OCM_SHARE_PROVIDER_INSECURE=true \
OCM_OCM_STORAGE_PROVIDER_INSECURE=true \
WEB_UI_CONFIG_FILE="tests/config/local/ocis-web.json" \
ocis/bin/ocis server
```
The first oCIS instance should be available at: https://ocis-server:9200/
The first oCIS instance should be available at: https://localhost:9200/
### Setup second ocis instance
### Setup Second oCIS Instance
#### Using .vscode/launch.json
You can run the second oCIS instance in two ways:
#### Using .env file
#### Using `.vscode/launch.json`
From the `Run and Debug` panel of VSCode, select `Fed oCIS Server` and start the debugger.
#### Using env file
```bash
# init oCIS
source tests/config/drone/.env-federation && ocis/bin/ocis init
source tests/config/local/.env-federation && ocis/bin/ocis init
# run oCIS
ocis/bin/ocis server
```
The second oCIS instance should be available at: https://federation-ocis-server:10200/
The second oCIS instance should be available at: https://localhost:10200/
{{< hint info >}}
To enable ocm in the web interface, you need to set the following envs:
@ -557,8 +561,8 @@ To enable ocm in the web interface, you need to set the following envs:
Run the acceptance test with the following command:
```bash
TEST_SERVER_URL="https://ocis-server:9200" \
TEST_SERVER_FED_URL="https://federation-ocis-server:10200" \
TEST_SERVER_URL="https://localhost:9200" \
TEST_SERVER_FED_URL="https://localhost:10200" \
BEHAT_FEATURE="tests/acceptance/features/apiOcm/ocm.feature" \
make test-acceptance-api
```

View File

@ -43,6 +43,16 @@ class OcisHelper {
return 'https://localhost:9200';
}
/**
* @return string
*/
public static function getFederatedServerUrl(): string {
if (\getenv('TEST_SERVER_FED_URL')) {
return \getenv('TEST_SERVER_FED_URL');
}
return 'https://localhost:10200';
}
/**
* @return bool
*/

View File

@ -146,10 +146,6 @@ class FeatureContext extends BehatVariablesContext {
*/
private string $stepLineRef = '';
/**
* @var boolean true if TEST_SERVER_FED_URL is defined
*/
private bool $federatedServerExists;
private int $ocsApiVersion = 1;
private ?ResponseInterface $response = null;
private string $responseUser = '';
@ -484,19 +480,10 @@ class FeatureContext extends BehatVariablesContext {
$this->alternateAdminPassword = "IHave99LotsOfPriv";
$this->publicLinkSharePassword = "publicPwd:1";
$testServerUrl = OcisHelper::getServerUrl();
$this->baseUrl = \rtrim($testServerUrl, '/');
$this->baseUrl = OcisHelper::getServerUrl();
$this->localBaseUrl = $this->baseUrl;
// federated server url from the environment
$testRemoteServerUrl = \getenv('TEST_SERVER_FED_URL');
if ($testRemoteServerUrl !== false) {
$this->remoteBaseUrl = \rtrim($testRemoteServerUrl, '/');
$this->federatedServerExists = true;
} else {
$this->remoteBaseUrl = $this->localBaseUrl;
$this->federatedServerExists = false;
}
$this->remoteBaseUrl = OcisHelper::getFederatedServerUrl();
// get the admin username from the environment (if defined)
$adminUsernameFromEnvironment = $this->getAdminUsernameFromEnvironment();
@ -737,11 +724,8 @@ class FeatureContext extends BehatVariablesContext {
* @return string
*/
public function removeSchemeFromUrl(string $url): string {
return \preg_replace(
"(^https?://)",
"",
$url
);
$parsedUrl = parse_url($url);
return $parsedUrl["host"] . ":" . $parsedUrl["port"];
}
/**
@ -1018,14 +1002,6 @@ class FeatureContext extends BehatVariablesContext {
return $previousServer;
}
/**
*
* @return boolean
*/
public function federatedServerExists(): bool {
return $this->federatedServerExists;
}
/**
* Parses the response as XML
*
@ -2146,6 +2122,46 @@ class FeatureContext extends BehatVariablesContext {
],
"parameter" => []
],
[
"code" => "%local_base_url%",
"function" => [
$this,
"getLocalBaseUrl"
],
"parameter" => []
],
[
"code" => "%remote_base_url%",
"function" => [
$this,
"getRemoteBaseUrl"
],
"parameter" => []
],
[
"code" => "%base_host_port%",
"function" => [
$this,
"getBaseUrlWithoutScheme"
],
"parameter" => []
],
[
"code" => "%local_host_port%",
"function" => [
$this,
"getLocalBaseUrlWithoutScheme"
],
"parameter" => []
],
[
"code" => "%remote_host_port%",
"function" => [
$this,
"getRemoteBaseUrlWithoutScheme"
],
"parameter" => []
],
[
"code" => "%storage_path%",
"function" => [

View File

@ -52,20 +52,6 @@ class OcmContext implements Context {
$this->featureContext = BehatHelper::getContext($scope, $environment, 'FeatureContext');
}
/**
* @return string
*/
public function getOcisDomain(): string {
return $this->extractDomain(OcisHelper::getServerUrl());
}
/**
* @return string
*/
public function getFedOcisDomain(): string {
return $this->extractDomain(\getenv('TEST_SERVER_FED_URL'));
}
/**
* @return string
* @throws Exception
@ -77,18 +63,6 @@ class OcmContext implements Context {
return $this->invitationToken;
}
/**
* @param string $url
*
* @return string
*/
public function extractDomain($url): string {
if (!$url) {
return "localhost";
}
return parse_url($url)["host"];
}
/**
* @param string $user
* @param string $email
@ -152,7 +126,10 @@ class OcmContext implements Context {
* @throws GuzzleException
*/
public function acceptInvitation(string $user, string $token = null): ResponseInterface {
$providerDomain = ($this->featureContext->getCurrentServer() === "LOCAL") ? $this->getFedOcisDomain() : $this->getOcisDomain();
$providerDomain = $this->featureContext->getLocalBaseUrlWithoutScheme();
if ($this->featureContext->getCurrentServer() === "LOCAL") {
$providerDomain = $this->featureContext->getRemoteBaseUrlWithoutScheme();
}
return OcmHelper::acceptInvitation(
$this->featureContext->getBaseUrl(),
$this->featureContext->getStepLineRef(),

View File

@ -451,13 +451,8 @@ trait Provisioning {
$entry['ownCloudUUID'] = WebDavHelper::generateUUIDv4();
}
if ($this->federatedServerExists()) {
if (!\in_array($setting['userid'], $this->ldapCreatedUsers)) {
$this->ldap->add($newDN, $entry);
}
} else {
$this->ldap->add($newDN, $entry);
}
$this->ldap->add($newDN, $entry);
$this->ldapCreatedUsers[] = $setting["userid"];
}

View File

@ -237,6 +237,7 @@ class SharingNgContext implements Context {
* @param string $user
* @param array $shareInfo
* @param string|null $fileId
* @param bool $federatedShare
*
* @return ResponseInterface
*
@ -244,7 +245,12 @@ class SharingNgContext implements Context {
* @throws GuzzleException
* @throws Exception
*/
public function sendShareInvitation(string $user, array $shareInfo, string $fileId = null): ResponseInterface {
public function sendShareInvitation(
string $user,
array $shareInfo,
string $fileId = null,
bool $federatedShare = false
): ResponseInterface {
if ($shareInfo['space'] === 'Personal' || $shareInfo['space'] === 'Shares') {
$space = $this->spacesContext->getSpaceByName($user, $shareInfo['space']);
} else {
@ -280,7 +286,7 @@ class SharingNgContext implements Context {
$shareeId = "";
if ($shareType === "user") {
$shareeId = $this->featureContext->getAttributeOfCreatedUser($sharee, 'id');
if (isset($shareInfo['federatedServer'])) {
if ($federatedShare) {
$shareeId = ($this->featureContext->ocmContext->getAcceptedUserByName($user, $sharee))['user_id'];
}
} elseif ($shareType === "group") {
@ -319,6 +325,7 @@ class SharingNgContext implements Context {
*
* @param string $user
* @param TableNode $table
* @param bool $federatedShare
*
* @return ResponseInterface
*
@ -326,7 +333,7 @@ class SharingNgContext implements Context {
* @throws GuzzleException
* @throws Exception
*/
public function sendDriveShareInvitation(string $user, TableNode $table): ResponseInterface {
public function sendDriveShareInvitation(string $user, TableNode $table, bool $federatedShare = false): ResponseInterface {
$shareeIds = [];
$rows = $table->getRowsHash();
if ($rows['space'] === 'Personal' || $rows['space'] === 'Shares') {
@ -349,7 +356,7 @@ class SharingNgContext implements Context {
$shareeId = "";
if ($shareType === "user") {
$shareeId = $this->featureContext->getAttributeOfCreatedUser($sharee, 'id');
if (isset($rows['federatedServer'])) {
if ($federatedShare) {
$shareeId = ($this->featureContext->ocmContext->getAcceptedUserByName($user, $sharee))['user_id'];
}
} elseif ($shareType === "group") {
@ -379,7 +386,6 @@ class SharingNgContext implements Context {
/**
* @Given /^user "([^"]*)" has sent the following resource share invitation:$/
* @Given /^user "([^"]*)" has sent the following resource share invitation to federated user:$/
*
* @param string $user
* @param TableNode $table
@ -395,6 +401,23 @@ class SharingNgContext implements Context {
$this->featureContext->theHTTPStatusCodeShouldBe(200, "", $response);
}
/**
* @Given /^user "([^"]*)" has sent the following resource share invitation to federated user:$/
*
* @param string $user
* @param TableNode $table
*
* @return void
* @throws Exception
* @throws GuzzleException
*/
public function userHasSentTheFollowingResourceShareInvitationToFederatedUser(string $user, TableNode $table): void {
$rows = $table->getRowsHash();
Assert::assertArrayHasKey("resource", $rows, "'resource' should be provided in the data-table while sharing a resource");
$response = $this->sendShareInvitation($user, $rows, null, true);
$this->featureContext->theHTTPStatusCodeShouldBe(200, "", $response);
}
/**
* @Given /^user "([^"]*)" has sent the following space share invitation:$/
*
@ -415,7 +438,6 @@ class SharingNgContext implements Context {
/**
* @When /^user "([^"]*)" sends the following resource share invitation using the Graph API:$/
* @When /^user "([^"]*)" tries to send the following resource share invitation using the Graph API:$/
* @When /^user "([^"]*)" sends the following resource share invitation to federated user using the Graph API:$/
*
* @param string $user
* @param TableNode $table
@ -432,9 +454,26 @@ class SharingNgContext implements Context {
);
}
/**
* @When /^user "([^"]*)" sends the following resource share invitation to federated user using the Graph API:$/
*
* @param string $user
* @param TableNode $table
*
* @return void
* @throws Exception
* @throws GuzzleException
*/
public function userSendsTheFollowingResourceShareInvitationToFederatedUserUsingTheGraphApi(string $user, TableNode $table): void {
$rows = $table->getRowsHash();
Assert::assertArrayHasKey("resource", $rows, "'resource' should be provided in the data-table while sharing a resource");
$this->featureContext->setResponse(
$this->sendShareInvitation($user, $rows, null, true)
);
}
/**
* @When /^user "([^"]*)" sends the following space share invitation using permissions endpoint of the Graph API:$/
* @When /^user "([^"]*)" tries to send the following space share invitation to federated user using permissions endpoint of the Graph API:$/
*
* @param string $user
* @param TableNode $table
@ -451,6 +490,24 @@ class SharingNgContext implements Context {
);
}
/**
* @When /^user "([^"]*)" tries to send the following space share invitation to federated user using permissions endpoint of the Graph API:$/
*
* @param string $user
* @param TableNode $table
*
* @return void
* @throws Exception
* @throws GuzzleException
*/
public function userSendsTheFollowingSpaceShareInvitationToFederatedUserUsingPermissionsEndpointOfTheGraphApi(string $user, TableNode $table): void {
$rows = $table->getRowsHash();
Assert::assertArrayNotHasKey("resource", $rows, "'resource' should not be provided in the data-table while sharing a space");
$this->featureContext->setResponse(
$this->sendShareInvitation($user, $rows, null, true)
);
}
/**
* @When user :user updates the last resource share with the following using the Graph API:
*
@ -1428,7 +1485,6 @@ class SharingNgContext implements Context {
/**
* @When /^user "([^"]*)" (?:tries to send|sends) the following space share invitation using root endpoint of the Graph API:$/
* @When /^user "([^"]*)" tries to send the following space share invitation to federated user using root endpoint of the Graph API:$/
*
* @param string $user
* @param TableNode $table
@ -1441,6 +1497,20 @@ class SharingNgContext implements Context {
$this->featureContext->setResponse($response);
}
/**
* @When /^user "([^"]*)" tries to send the following space share invitation to federated user using root endpoint of the Graph API:$/
*
* @param string $user
* @param TableNode $table
*
* @return void
* @throws GuzzleException
*/
public function userSendsTheFollowingShareInvitationToFederatedUserUsingRootEndPointTheGraphApi(string $user, TableNode $table):void {
$response = $this->sendDriveShareInvitation($user, $table, true);
$this->featureContext->setResponse($response);
}
/**
* @When user :user updates the last drive share with the following using root endpoint of the Graph API:
*

View File

@ -255,7 +255,7 @@ The expected failures in this file are from features in the owncloud/ocis repo.
#### [OCM. server crash after deleting share for ocm user](https://github.com/owncloud/ocis/issues/10213)
- [apiOcm/deleteFederatedConnections.feature:103](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiOcm/deleteFederatedConnections.feature#L103)
- [apiOcm/deleteFederatedConnections.feature:102](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiOcm/deleteFederatedConnections.feature#L102)
#### [same href in REPORT request for all dav-path-version](https://github.com/owncloud/ocis/issues/7060)

View File

@ -148,7 +148,7 @@ Feature: create invitation
Please visit your federation settings and use the following details:
Token: %fed_invitation_token%
ProviderDomain: https://ocis-server:9200
ProviderDomain: %local_base_url%
"""
@env-config

View File

@ -71,12 +71,11 @@ Feature: delete federated connections
And using server "LOCAL"
And user "Alice" has created folder "folderToShare"
And user "Alice" has sent the following resource share invitation to federated user:
| resource | folderToShare |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
| federatedServer | @federation-ocis-server:10200 |
| resource | folderToShare |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
And using server "REMOTE"
When user "Brian" deletes federated connection with user "Alice" using the Graph API
Then the HTTP status code should be "200"
@ -108,12 +107,11 @@ Feature: delete federated connections
And using server "LOCAL"
And user "Alice" has created folder "folderToShare"
And user "Alice" has sent the following resource share invitation to federated user:
| resource | folderToShare |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
| federatedServer | @federation-ocis-server:10200 |
| resource | folderToShare |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
When user "Alice" deletes federated connection with user "Brian" using the Graph API
Then the HTTP status code should be "200"
And using server "REMOTE"

View File

@ -64,7 +64,7 @@ Feature: search federation users
],
"properties": {
"issuer": {
"const": "ocis-server:9200"
"const": "%local_host_port%"
},
"issuerAssignedId": {
"type": "string",
@ -126,7 +126,7 @@ Feature: search federation users
],
"properties": {
"issuer": {
"const": "federation-ocis-server:10200"
"const": "%remote_host_port%"
},
"issuerAssignedId": {
"type": "string",
@ -194,7 +194,7 @@ Feature: search federation users
],
"properties": {
"issuer": {
"const": "ocis-server:9200"
"const": "%local_host_port%"
},
"issuerAssignedId": {
"type": "string",
@ -256,7 +256,7 @@ Feature: search federation users
],
"properties": {
"issuer": {
"const": "federation-ocis-server:10200"
"const": "%remote_host_port%"
},
"issuerAssignedId": {
"type": "string",
@ -346,7 +346,7 @@ Feature: search federation users
},
"idp": {
"type": "string",
"const": "federation-ocis-server:10200"
"const": "%remote_host_port%"
},
"mail": {
"type": "string",
@ -385,7 +385,7 @@ Feature: search federation users
"const": "Alice Hansen"
},
"idp": {
"const": "ocis-server:9200"
"const": "%local_host_port%"
},
"mail": {
"pattern": "alice@example.org"
@ -409,7 +409,7 @@ Feature: search federation users
"const": "Carol King"
},
"idp": {
"const": "ocis-server:9200"
"const": "%local_host_port%"
},
"mail": {
"pattern": "carol@example.org"
@ -480,7 +480,7 @@ Feature: search federation users
],
"properties": {
"issuer": {
"const": "ocis-server:9200"
"const": "%local_host_port%"
},
"issuerAssignedId": {
"type": "string",
@ -545,7 +545,7 @@ Feature: search federation users
],
"properties": {
"issuer": {
"const": "federation-ocis-server:10200"
"const": "%remote_host_port%"
},
"issuerAssignedId": {
"type": "string",
@ -692,7 +692,7 @@ Feature: search federation users
],
"properties": {
"issuer": {
"const": "federation-ocis-server:10200"
"const": "%remote_host_port%"
},
"issuerAssignedId": {
"type": "string",

View File

@ -18,12 +18,11 @@ Feature: an user shares resources using ScienceMesh application
And user "Alice" has created folder "folderToShare"
And user "Alice" has uploaded file with content "ocm test" to "/textfile.txt"
When user "Alice" sends the following resource share invitation to federated user using the Graph API:
| resource | <resource> |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
| federatedServer | @federation-ocis-server:10200 |
| resource | <resource> |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
Then the HTTP status code should be "200"
When using server "REMOTE"
And user "Brian" lists the shares shared with him without retry using the Graph API
@ -112,12 +111,11 @@ Feature: an user shares resources using ScienceMesh application
And user "Alice" has created a space "projectSpace" with the default quota using the Graph API
And user "Alice" has created a folder "folderToShare" in space "projectSpace"
When user "Alice" sends the following resource share invitation to federated user using the Graph API:
| resource | folderToShare |
| space | projectSpace |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
| federatedServer | @federation-ocis-server:10200 |
| resource | folderToShare |
| space | projectSpace |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
Then the HTTP status code should be "200"
When using server "REMOTE"
And user "Brian" lists the shares shared with him without retry using the Graph API
@ -185,12 +183,11 @@ Feature: an user shares resources using ScienceMesh application
And user "Brian" has created folder "folderToShare"
And user "Brian" has uploaded file with content "ocm test" to "/textfile.txt"
When user "Brian" sends the following resource share invitation to federated user using the Graph API:
| resource | <resource> |
| space | Personal |
| sharee | Alice |
| shareType | user |
| permissionsRole | Viewer |
| federatedServer | @ocis-server:9200 |
| resource | <resource> |
| space | Personal |
| sharee | Alice |
| shareType | user |
| permissionsRole | Viewer |
Then the HTTP status code should be "200"
When using server "LOCAL"
And user "Alice" lists the shares shared with her without retry using the Graph API
@ -277,11 +274,10 @@ Feature: an user shares resources using ScienceMesh application
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Alice" has created a space "alice's space" with the default quota using the Graph API
When user "Alice" tries to send the following space share invitation to federated user using permissions endpoint of the Graph API:
| space | alice's space |
| sharee | Brian |
| shareType | user |
| permissionsRole | <permissions-role> |
| federatedServer | @federation-ocis-server:10200 |
| space | alice's space |
| sharee | Brian |
| shareType | user |
| permissionsRole | <permissions-role> |
Then the HTTP status code should be "400"
And the JSON data of the response should match
"""
@ -334,11 +330,10 @@ Feature: an user shares resources using ScienceMesh application
And "Brian" has accepted invitation
And using server "LOCAL"
When user "Alice" tries to send the following space share invitation to federated user using root endpoint of the Graph API:
| space | alice's space |
| sharee | Brian |
| shareType | user |
| permissionsRole | <permissions-role> |
| federatedServer | @federation-ocis-server:10200 |
| space | alice's space |
| sharee | Brian |
| shareType | user |
| permissionsRole | <permissions-role> |
Then the HTTP status code should be "400"
And the JSON data of the response should match
"""
@ -389,12 +384,11 @@ Feature: an user shares resources using ScienceMesh application
And "Brian" has accepted invitation
And using server "LOCAL"
And user "Alice" has sent the following resource share invitation to federated user:
| resource | textfile.txt |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
| federatedServer | @federation-ocis-server:10200 |
| resource | textfile.txt |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
When user "Alice" lists the shares shared by her using the Graph API
Then the HTTP status code should be "200"
And the JSON data of the response should contain resource "textfile.txt" with the following data:
@ -511,12 +505,11 @@ Feature: an user shares resources using ScienceMesh application
And using server "LOCAL"
And user "Alice" has uploaded file with content "ocm test" to "/textfile.txt"
And user "Alice" has sent the following resource share invitation to federated user:
| resource | textfile.txt |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
| federatedServer | @federation-ocis-server:10200 |
| resource | textfile.txt |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Viewer |
And using server "LOCAL"
When user "Alice" gets permissions list for file "textfile.txt" of the space "Personal" using the Graph API
Then the HTTP status code should be "200"

View File

@ -1,15 +0,0 @@
---
# OpenID Connect client registry.
clients:
- id: web
name: OCIS
application_type: web
trusted: yes
redirect_uris:
- https://ocis-server:9200/oidc-callback.html
- https://ocis-server:9200/
origins:
- https://ocis-server:9200
authorities:

View File

@ -1,46 +1,46 @@
[
{
"name": "ocis-server",
"full_name": "first-ocis-instance",
"organization": "Owncloud",
"domain": "ocis-server:9200",
"homepage": "https://owncloud.com",
"services": [
{
"endpoint": {
"type": {
"name": "OCM",
"description": "CERNBox Open Cloud Mesh API"
},
"name": "CERNBox - OCM API",
"path": "https://ocis-server:9200/ocm/",
"is_monitored": true
},
"api_version": "0.0.1",
"host": "ocis-server:9200"
}
]
"name": "ocis-server",
"full_name": "first-ocis-instance",
"organization": "Owncloud",
"domain": "ocis-server:9200",
"homepage": "https://owncloud.com",
"services": [
{
"endpoint": {
"type": {
"name": "OCM",
"description": "CERNBox Open Cloud Mesh API"
},
"name": "CERNBox - OCM API",
"path": "https://ocis-server:9200/ocm/",
"is_monitored": true
},
"api_version": "0.0.1",
"host": "ocis-server:9200"
}
]
},
{
"name": "federation-ocis-server",
"full_name": "Federation ocis",
"organization": "Owncloud",
"domain": "federation-ocis-server:10200",
"homepage": "https://owncloud.com",
"services": [
{
"endpoint": {
"type": {
"name": "OCM",
"description": "CERNBox Open Cloud Mesh API"
},
"name": "CERNBox - OCM API",
"path": "https://federation-ocis-server:10200/ocm/",
"is_monitored": true
},
"api_version": "0.0.1",
"host": "federation-ocis-server:10200"
}
]
"name": "federation-ocis-server",
"full_name": "Federation ocis",
"organization": "Owncloud",
"domain": "federation-ocis-server:10200",
"homepage": "https://owncloud.com",
"services": [
{
"endpoint": {
"type": {
"name": "OCM",
"description": "CERNBox Open Cloud Mesh API"
},
"name": "CERNBox - OCM API",
"path": "https://federation-ocis-server:10200/ocm/",
"is_monitored": true
},
"api_version": "0.0.1",
"host": "federation-ocis-server:10200"
}
]
}
]

View File

@ -1,4 +1,7 @@
export OCM_OCM_PROVIDER_AUTHORIZER_PROVIDERS_FILE=tests/config/drone/providers.json
#!/bin/bash
export WEB_UI_CONFIG_FILE=tests/config/local/fed-ocis-web.json
export OCM_OCM_PROVIDER_AUTHORIZER_PROVIDERS_FILE=tests/config/local/providers.json
export OCM_OCM_INVITE_MANAGER_INSECURE=true
export OCM_OCM_SHARE_PROVIDER_INSECURE=true
export OCM_OCM_STORAGE_PROVIDER_INSECURE=true
@ -7,7 +10,7 @@ export OCIS_CONFIG_DIR=${HOME}/.ocis-10200/config
export OCIS_EVENTS_ENDPOINT=127.0.0.1:10233
export OCIS_LDAP_URI=ldaps://localhost:10235
export OCIS_RUNTIME_PORT=10250
export OCIS_URL=https://federation-ocis-server:10200
export OCIS_URL=https://localhost:10200
export OCIS_ADD_RUN_SERVICES=ocm
export OCIS_ENABLE_OCM=true
export APP_PROVIDER_DEBUG_ADDR=127.0.0.1:10165

View File

@ -0,0 +1,31 @@
{
"server": "https://localhost:10200",
"theme": "https://localhost:10200/themes/owncloud/theme.json",
"version": "0.1.0",
"openIdConnect": {
"metadata_url": "https://localhost:10200/.well-known/openid-configuration",
"authority": "https://localhost:10200",
"client_id": "web",
"response_type": "code",
"scope": "openid profile email"
},
"options": {
"topCenterNotifications": true,
"displayResourcesLazy": false,
"sidebar": {
"shares": {
"showAllOnLoad": true
}
}
},
"apps": [
"files",
"ocm",
"text-editor",
"preview",
"pdf-viewer",
"search",
"admin-settings",
"app-store"
]
}

View File

@ -0,0 +1,31 @@
{
"server": "https://localhost:9200",
"theme": "https://localhost:9200/themes/owncloud/theme.json",
"version": "0.1.0",
"openIdConnect": {
"metadata_url": "https://localhost:9200/.well-known/openid-configuration",
"authority": "https://localhost:9200",
"client_id": "web",
"response_type": "code",
"scope": "openid profile email"
},
"options": {
"topCenterNotifications": true,
"displayResourcesLazy": false,
"sidebar": {
"shares": {
"showAllOnLoad": true
}
}
},
"apps": [
"files",
"ocm",
"text-editor",
"preview",
"pdf-viewer",
"search",
"admin-settings",
"app-store"
]
}

View File

@ -0,0 +1,46 @@
[
{
"name": "ocis-server",
"full_name": "first-ocis-instance",
"organization": "Owncloud",
"domain": "localhost:9200",
"homepage": "https://owncloud.com",
"services": [
{
"endpoint": {
"type": {
"name": "OCM",
"description": "CERNBox Open Cloud Mesh API"
},
"name": "CERNBox - OCM API",
"path": "https://localhost:9200/ocm/",
"is_monitored": true
},
"api_version": "0.0.1",
"host": "localhost:9200"
}
]
},
{
"name": "federation-ocis-server",
"full_name": "Federation ocis",
"organization": "Owncloud",
"domain": "localhost:10200",
"homepage": "https://owncloud.com",
"services": [
{
"endpoint": {
"type": {
"name": "OCM",
"description": "CERNBox Open Cloud Mesh API"
},
"name": "CERNBox - OCM API",
"path": "https://localhost:10200/ocm/",
"is_monitored": true
},
"api_version": "0.0.1",
"host": "localhost:10200"
}
]
}
]