Skip to content
Snippets Groups Projects
Commit 06a0e40d authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

DOC: Clarify instructions in README

parent d7181bda
Branches
Tags
1 merge request!81F local inttests
[![pipeline status](https://gitlab.com/caosdb/caosdb-pyinttest/badges/dev/pipeline.svg?job=codestyle)](https://gitlab.com/caosdb/caosdb-pyinttest/commits/dev)
# README # README
## Welcome ## Welcome
This is the **CaosDB Python Integration Testing** repository and a part of the This is the **Linkahead Python Integration Testing** repository and a part of the
CaosDB project. Linkahead project.
## Getting started # ## Getting started #
- To run tests, start up a CaosDB server with the following properties (documentation for this can ### Configuration
The following steps describe how to setup the tests for running agains
a plain LinkAhead server built from the sources. In case you want to
use LinkAhead Control instead, there is a pre-confidured [test
profile](/test_profile/profile.yml) in this repository that you can
use for this. Instructions can be found in the official LinkAhead
[documentation](https://docs.indiscale.com//caosdb-deploy/README_SETUP.html#integration-tests).
- To run tests, start up a Linkahead server with the following properties (documentation for this can
be found elsewhere): be found elsewhere):
- The CaosDB server must have debugging enabled. - The Linkahead server must have debugging enabled.
- The database should be empty. - The database should be empty.
- There should be a symlink named `debug-scripting-bin` inside the `custom` profile directory, - There should be a symlink named `debug-scripting-bin` inside the `custom` profile directory,
which points to the `resources` directory here in the pyinttest repository. You can create a which points to the `resources` directory here in the pyinttest repository. You can create a
symlink like that with the following command (adapt paths to match your setting): symlink like that with the following command (adapt paths to match your setting):
`custom$ ln -s ../../../../caosdb-pyinttest/resources debug-scripting-bin` `custom$ ln -s ../../../../linkahead-pyinttest/resources debug-scripting-bin`
- Modify `pycaosdb.ini.template` and save it as `pycaosdb.ini`, taking care of the following points: - Modify `pylinkahead.ini.template` and save it as `pylinkahead.ini`, taking care of the following points:
- Certificates must be valid and be specified in `pycaosdb.ini`. - Certificates must be valid and be specified in `pylinkahead.ini`.
- Server-side scripting paths must be given, otherwise server-side scripting will be omitted. - Server-side scripting paths must be given, otherwise server-side scripting will be omitted.
- The local path `test_server_side_scripting.bin_dir.local` should point to a - The local path `test_server_side_scripting.bin_dir.local` should point to a
`linkahead-server/scripting/bin` somwhere. `linkahead-server/scripting/bin` somwhere.
- The remote path `test_server_side_scripting.bin_dir.server` should probably be something like - The remote path `test_server_side_scripting.bin_dir.server` should probably be something like
`/opt/caosdb/git/caosdb-server/scripting/bin-debug`. `/opt/caosdb/git/caosdb-server/scripting/bin-debug`.
- Paths for the file tests must exist, or be creatable by the testing script and the server. - Paths for the file tests must exist, or be creatable by the testing script and the server.
### Run the tests
- Run the tests with `pytest` or `pytest-3` (depending on your system). - Run the tests with `pytest` or `pytest-3` (depending on your system).
- If you want to run just a single test, you can also select a single test file: - If you want to run just a single test, you can also select a single test file:
`pytest-3 tests/test_issues.py` `pytest-3 tests/test_issues.py`
or a test matching a regular expression: or a test matching a regular expression:
`pytest-3 tests/test_issues.py -k issue_123` `pytest-3 tests/test_issues.py -k issue_123`
## Requirements ## ## Requirements ##
...@@ -36,45 +46,45 @@ CaosDB project. ...@@ -36,45 +46,45 @@ CaosDB project.
- Running the tests needs `pytest`, obviously, and also the `nose` library: - Running the tests needs `pytest`, obviously, and also the `nose` library:
- `pip3 install pytest nose` - `pip3 install pytest nose`
## Run tests agains a remote caosdb server ## Run tests agains a remote linkahead server
* There is a special mark `local_server`, which marks all test which cannot * There is a special mark `local_server`, which marks all test which cannot
pass when the server is not on the host where the test suite is running. pass when the server is not on the host where the test suite is running.
* Start tests with `pytest -m "not local_server"` or * Start tests with `pytest -m "not local_server"` or
`tox -- -m "not local_server"`. `tox -- -m "not local_server"`.
* The remote caosdb server must have a TLS certificate which maches the name given in * The remote linkahead server must have a TLS certificate which maches the name given in
`pycaosdb.ini`. If you use the *LinkAhead* distribution of CaosDB, this can be achieved by: `pylinkahead.ini`. If you use LinkAhead Control, this can be achieved by:
* `linkahead cert_gen -- --hostname <your hostname>` * `linkahead cert_gen -- --hostname <your hostname>`
* `linkahead certs -d <your profile path>/custom/other/cert` * `linkahead certs -d <your profile path>/custom/other/cert`
* `linkahead start` * `linkahead start`
## Further Reading ## Further Reading
Please refer to the [official documentation](https://caosdb.gitlab.io/caosdb-pylib/) for more information. Please refer to the [official documentation](https://docs.indiscale.com/) for more information.
## Contributing ## Contributing
Thank you very much to all contributers—[past, present](https://gitlab.com/caosdb/caosdb/-/blob/dev/HUMANS.md), and prospective ones. Thank you very much to all contributers—[past, present](https://gitlab.com/linkahead/linkahead/-/blob/dev/HUMANS.md), and prospective ones.
### Code of Conduct ### Code of Conduct
By participating, you are expected to uphold our [Code of Conduct](https://gitlab.com/caosdb/caosdb/-/blob/dev/CODE_OF_CONDUCT.md). By participating, you are expected to uphold our [Code of Conduct](https://gitlab.com/linkahead/linkahead/-/blob/dev/CODE_OF_CONDUCT.md).
### How to Contribute ### How to Contribute
* You found a bug, have a question, or want to request a feature? Please * You found a bug, have a question, or want to request a feature? Please
[create an issue](https://gitlab.com/caosdb/caosdb-pyinttest/-/issues). [create an issue](https://gitlab.com/linkahead/linkahead-pyinttest/-/issues).
* You want to contribute code? Please fork the repository and create a merge * You want to contribute code? Please fork the repository and create a merge
request in GitLab and choose this repository as target. Make sure to select request in GitLab and choose this repository as target. Make sure to select
"Allow commits from members who can merge the target branch" under Contribution "Allow commits from members who can merge the target branch" under Contribution
when creating the merge request. This allows our team to work with you on your request. when creating the merge request. This allows our team to work with you on your request.
- You can also contact us at **info (AT) caosdb.org**. - You can also contact us at **info (AT) indiscale.com**.
## License ## License
* Copyright (C) 2018 Research Group Biomedical Physics, Max Planck Institute * Copyright (C) 2018 Research Group Biomedical Physics, Max Planck Institute
for Dynamics and Self-Organization Göttingen. for Dynamics and Self-Organization Göttingen.
* Copyright (C) 2020-2023 Indiscale GmbH <info@indiscale.com> * Copyright (C) 2020-2024 Indiscale GmbH <info@indiscale.com>
All files in this repository are licensed under the [GNU Affero General Public All files in this repository are licensed under the [GNU Affero General Public
License](LICENCE.md) (version 3 or later). License](LICENCE.md) (version 3 or later).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment