Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Short doc about (acceptance) testing? #1836

Closed
michielbdejong opened this issue Jun 28, 2021 · 3 comments
Closed

Short doc about (acceptance) testing? #1836

michielbdejong opened this issue Jun 28, 2021 · 3 comments

Comments

@michielbdejong
Copy link
Contributor

I writing tests for the new Nextcloud storage driver. Is there any short doc about the different kind of tests that exist for reva and how they interrelate?

I understand that Reva's acceptance tests are a fork of the ownCloud10 core API tests?

What are the litmus tests? Why are there old and new litmus tests?

make test-acceptance-api fails with "/bin/bash: /tests/acceptance/run.sh: No such file or directory" on my computer.

@michielbdejong
Copy link
Contributor Author

Ah,

export PATH_TO_CORE=../../owncloud/core/
make test-acceptance-api

works better.

Is there a way to run these tests for only my own storage driver?

@phil-davis
Copy link
Contributor

As you already discovered, you need a local clone of owncloud/core. The test runner (run.sh script and the PHP Behat Gherkin framework and the code for the test steps) comes from there. The feature files are mostly the ones from owncloud/core - the aim is to get the reva implementation to pass the end-to-end API tests that should also pass for owncloud/core

Have a look in https://github.com/cs3org/reva/tree/master/tests/oc-integration-tests/drone for toml files that exist for each of the storages that are currently tested. You should be able to add toml files for a new storage.

Basically, you need to have a "reva" running (with whatever back-end storage and mix of micro-services talking to each other...) that ultimately provides external APIs for doing the "file sync and share" stuff.

The end-to-end API tests just expect to "blindly" access an implementation that is waiting for those API requests.

@michielbdejong
Copy link
Contributor Author

Great, thanks! That helps. I'll also see if I can add some docs about this on https://reva.link/docs/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants