Skip to content

Commit

Permalink
Revamp ScienceMesh integration tests (cs3org#4246)
Browse files Browse the repository at this point in the history
* Minor clarifications

* Incorporated WOPI in dockerized sciencemesh testing

* Added new example to run ScienceMesh integration tests against cernbox and removed unneeded files from sciencemesh example

* Cleaned up spurious paths

* Prepared certs for the new containers

* Mock meshdir includes cernbox

* Reworked wiring of reva (sm and cernbox flavours) and wopi servers + collabora

* Added cernbox scenarios

* Changelog

* Fixes

* Linting

* Removed self-signed certs, they are generated at init time

* Fixed references to cert files

* Further tweak the wopi config for OC/NC

* Fixed Collabora config

* Moved to scripts

* Executables

* Use dedicated TLS folders also for reva

* Fixes

* Use trace-level debug for tests

* Wired in nginx and keycloak for CERNBox to serve the OCIS web UI

* Keycloak served through https

* CA self-signed cert back in git

* cernbox web extensions are temporarily served from a custom tgz

* Minor change

* Another minor change

* Updated following service rename in upstream master

* Also copy the browser CA DB to a scratch area as it is modified by firefox

* Updated tutorial

* git-ignore all testing artifacts

* Fixed example

* Fixed cert for mock meshdir

* Serve datagateway with the hostname for the cert to match

* Cleaner struct to parse JSON payload from PHP SM app

* Prepared config for serving cernbox web from reva
  • Loading branch information
glpatcern authored Oct 31, 2023
1 parent 75c4ffa commit cb356f4
Show file tree
Hide file tree
Showing 106 changed files with 3,854 additions and 1,524 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ docs/tech-doc-hugo

dist/
bin/
vendor/

# API acceptance tests
tests/acceptance/output
Expand Down
7 changes: 7 additions & 0 deletions changelog/unreleased/sm-config-wopi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Enhancement: revamp ScienceMesh integration tests

This extends the ScienceMesh tests by running a wopiserver next
to each EFSS/IOP, and by including a CERNBox-like minimal configuration.
The latter is based on local storage and in-memory shares (no db dependency).

https://github.com/cs3org/reva/pull/4246
45 changes: 4 additions & 41 deletions docs/content/en/docs/tutorials/wopi-tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ git clone https://github.com/cs3org/reva
```

## 2. Configure Reva
Add `disable_tus = true` under `[http.services.dataprovider]` and under `[grpc.services.storageprovider]` in the file `ocmd-server-1.toml`.
Add `disable_tus = true` under `[http.services.dataprovider]` and under `[grpc.services.storageprovider]` in the file `server-1.toml`.

## 3. Build Reva
Follow the instructions in https://reva.link/docs/getting-started/install-reva/ for how to build reva. If you will do local
Expand All @@ -41,51 +41,14 @@ Now you need to run Revad (the Reva daemon). Follow these steps
from the *reva* folder:

```
cd examples/ocm/ && ../../cmd/revad/revad -c ocmd-server-1.toml & ../../cmd/revad/revad -c ocmd-server-2.toml &.
cd examples/ocm/ && ../../cmd/revad/revad -c server-1.toml & ../../cmd/revad/revad -c server-2.toml &.
```

The Reva daemon (revad) should now be running.

## 5. Configure the wopiserver
Follow the instructions in the readme for running the server locally ("Run the WOPI server locally", https://github.com/cs3org/wopiserver). You will need to do come changes in the config file, here is a more relevant example of a wopi config when runnning the server together with reva:

```
#
# wopiserver.conf - basic working configuration for a docker image
#
[general]
storagetype = cs3
port = 8880
allowedclients = localhost
oosurl = https://oos.web.cern.ch
codeurl = https://collabora.cern.ch:9980/byoa/collabora
codimdurl = http://cbox-wopidev-01.cern.ch:8000
tokenvalidity = 86400
wopiurl = localhost:8880
downloadurl = localhost:8880/wopi/cbox/download
# Logging level. Debug enables the Flask debug mode as well.
# Valid values are: Debug, Info, Warning, Error.
loglevel = Debug
[security]
usehttps = no
# location of the secret files. Requires a restart of the
# WOPI server when either the files or their content change.
wopisecretfile = /etc/wopi/wopisecret
iopsecretfile = /etc/wopi/iopsecret
[cs3]
revahost = localhost:19000
authtokenvalidity = 3600
[io]
# Size used for buffered xroot reads [bytes]
chunksize = 4194304
```
Follow the instructions in the readme for running the server locally ("Run the WOPI server locally", https://github.com/cs3org/wopiserver).
You will need to do some changes in the config file, but you can start from this [reference configuration](https://github.com/cs3org/wopiserver/blob/master/docker/etc/wopiserver.cs3.conf).

## 6. Run wopiserver
Run according to instructions in the readme ("Run the WOPI server locally", https://github.com/cs3org/wopiserver).
Expand Down
Binary file added examples/cernbox/cernbox-extensions-bundle.tgz
Binary file not shown.
Loading

0 comments on commit cb356f4

Please sign in to comment.