README
Welcome
This is the Linkahead Python Integration Testing repository and a part of the Linkahead project.
Getting started
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 in this repository that you can use for this. Instructions can be found in the official LinkAhead documentation.
- To run tests, start up a Linkahead server with the following properties (documentation for this can
be found elsewhere):
- The Linkahead server must have debugging enabled.
- The database should be empty.
- The
resources
directory should be made visible, e.g., by symlinking or copying its contents, to the server inscripting/bin-debug
.
- Modify
pylinkahead.ini.template
and save it aspylinkahead.ini
, taking care of the following points:- Certificates must be valid and be specified in
pylinkahead.ini
. - Server-side scripting paths must be given, otherwise server-side
scripting will be omitted. The remote path
test_server_side_scripting.bin_dir.server
should probably be something like/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.
- Certificates must be valid and be specified in
Run the tests
- Run the tests with
pytest
orpytest-3
(depending on your system). - If you want to run just a single test, you can also select a single test file:
pytest-3 tests/test_issues.py
or a test matching a regular expression:pytest-3 tests/test_issues.py -k issue_123
Requirements
- Running the tests needs
pytest
, obviously, and also thenose
library:pip3 install pytest nose
Run tests agains a remote linkahead server
- 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. - Start tests with
pytest -m "not local_server"
ortox -- -m "not local_server"
. - The remote linkahead server must have a TLS certificate which maches the name given in
pylinkahead.ini
. If you use LinkAhead Control, this can be achieved by:linkahead cert_gen -- --hostname <your hostname>
linkahead certs -d <your profile path>/custom/other/cert
linkahead start
Further Reading
Please refer to the official documentation for more information.
Contributing
Thank you very much to all contributers—past, present, and prospective ones.
Code of Conduct
By participating, you are expected to uphold our Code of Conduct.
How to Contribute
- You found a bug, have a question, or want to request a feature? Please create an issue.
- 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 "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.
- You can also contact us at info (AT) indiscale.com.
License
- Copyright (C) 2018 Research Group Biomedical Physics, Max Planck Institute for Dynamics and Self-Organization Göttingen.
- Copyright (C) 2020-2024 Indiscale GmbH info@indiscale.com
All files in this repository are licensed under the GNU Affero General Public License (version 3 or later).