Currently, this repo is not being developed, A new test suite using Cypress is being developed in PonderSource Dev Stock Once completed it will be ported back to this repository.
This test suite tests various implementations of Open Cloud Mesh (OCM) against each other.
The current main branch of this repo runs a github action to test the share-with flow from each of the following servers to the ocm-stub server:
- ocm-stub
- Nextcloud
- OC-10
- Reva
There is a .gitpod.yml file that points to a gitpod-init.sh script and a gitpod-command.sh script. Use it to your liking with GitPod, GitHub Codespaces, or similar!
The following script sets up the testnet on an empty Ubuntu droplet on Digital Ocean (this takes about 15 minutes):
./doctl-up.sh
Then from your laptop connect using VNC (e.g. open vnc://ocmhost
in Safari), password 1234, you should see an Ubuntu desktop.
You can test that you made it into the testnet by opening Start->Internet->Firefox Web Browser and browsing to https://nc1.docker, once you
click 'accept the risk and continue', you should be able to log in to Nextcloud with 'alice'/'alice123'.
Now to run the tests, open a terminal (Start->System Tools->LXTerminal) and type (sudo password for user 'tester' is '1234'):
/bin/bash /ubuntu-init-script.sh
cd ~/ocm-test-suite
npm run debug
NB: We recently switched from vps-hosted to in-Docker, and the test suite is still a bit young.
Please join https://gitter.im/cs3org/OCM and ping @michielbdejong if you want more up-to-date info and guidance.
There are tests for four flows:
In the public-link flow, the provider gives the consumer a public link, and the consumer clicks 'save to my personal cloud' on there. In this flow, it is assumed that the consumer is already logged in to their personal cloud account before clicking 'save to my personal cloud' on the public link. After clicking, the consumer is redirected to their personal cloud account GUI, accepts the share, and then leaves it again.
Same as the previous flow, except the consumer is not logged in to their own personal cloud account yet when they get redirected to it from the public link.
In this flow, the provider uses their own personal cloud account GUI to share a resource with the consumer, and the consumer notices this from the notification in their personal cloud acccount GUI, accepts the share, then leaves it again.
Currently only supported by Reva, Nextcloud+Reva, and Stub. First an invite code is shared as a sort of friend request between sender and receiver. Then share-with flow is followed after that.