Table of Contents
We will be grateful to see you in the ranks of the contributors! We have some issues.
Development
Development takes place on GitHub, where the git-flow branch structure is used:
master- contains the latest released code.feature/XXX- feature branches are used for development of new features before they are merged tomaster.
Prepare development environment
It is recommended to use Unix systems. You can use free Oracle Virtualbox and Ubuntu.
Setup script for Ubuntu system (python version must be 3.8+):
python3 -m pip install tox
python3 -m pip install .[tests]
python3 -m pytest -munit
# install ruby (required for pre-commit)
sudo apt install ruby
# run pre-commit
python3 -m pre_commit install
python3 -m pre_commit run --all-files
If you use another system procedure might be different.
General script:
python -m pip install tox
python -m pip install .[tests]
python -m pytest -munit
# Install `pre-commit` hooks after clone:
pre-commit install
pre-commit run --all-files
Tests
Command snippet to run tests via tox
# Run unit tests
tox
# Run integration tests
tox -- -mintegration
# Run Unit and Integration tests
tox -- ""
Unit
If you can write unit tests, please do so. How to run them:
python -m pytest -munit
Integration
We also have some integration test. But you have to prepare your environment a little before you can run these tests.
- Get Trial License Key from JFrog
- Run Artifactory Pro (only Pro support full REST API) inside docker by command:
docker run --name artifactory-pro -d -p 8081:8081 -p8082:8082 docker.bintray.io/jfrog/artifactory-pro - Open http://localhost:8081 and wait until it’ll be ready
- Login with
admin \ passwordand complete initialize steps:- Change password to
P@ssw0rd. It’s important to use exactly this password, we hardcoded it in test.cfg - Change token to real one in test.cfg. Token authentation method is for some special components, like Projects
- Install trial license
- Change password to
That all, try to run integration tests!
# Run with current python
python -mpytest -mintegration
# Run through all versions with we do support
tox -- -mintegration
Some useful command with docker:
# Stop artifactory, but save License and user\password
docker stop artifactory-pro
# Start stopped Artifactory.
docker start artifactory-pro
# Remove installed Artifactory. You'll have to comlete initialize steps again!
docker rm artifactory-pro