Skip to main content

API testing for BC Data Catalog

Project description

Automated BCDC API Testing

Intention is to test the CKAN API after deployment.

Current tests include:

  • verification of preconfigured orgs required for testing
  • CRUD tests for packages.

OC Build for BCDC-TEST

pulls package from https://pypi.org/project/bcdc-apitests/ new OC build triggered by github actions on commit to master branch

how to create new build from build config

oc create -f https://raw.githubusercontent.com/bcgov/bcdc-test/dev/k8s/bcdc-test-buildconfig.yaml

start build

oc start-build bcdc-test -n databcdc

OC Jobs for BCDC-TEST

each environment will have its own defined .yaml file within the k8s dir.

  • test-dwelf-job-template.yaml
  • test-toyger-job-template.yaml

how to run job from yaml as template, so we can change the name using a generated value appended to name

  • CADI
oc process -f https://raw.githubusercontent.com/bcgov/bcdc-test/dev/k8s/test-dwelf-job-template.yaml | oc create -f -
  • CATI
oc process -f https://raw.githubusercontent.com/bcgov/bcdc-test/dev/k8s/test-toyger-job-template.yaml | oc create -f -

OC Development Build for BCDC-TEST-DEV

pulls from https://pypi.org/project/bcdc-apitests-dev/ new OC build triggered by github actions on push to dev branch

oc create -f https://raw.githubusercontent.com/bcgov/bcdc-test/dev/k8s/bcdc-test-buildconfig-dev.yaml

OC Developmnet Jobs for BCDC-TEST-DEV

  • CADI
oc process -f https://raw.githubusercontent.com/bcgov/bcdc-test/dev/k8s/test-dwelf-job-template-dev.yaml | oc create -f -
  • CATI
oc process -f https://raw.githubusercontent.com/bcgov/bcdc-test/dev/k8s/test-toyger-job-template-dev.yaml | oc create -f -

Run Tests locally

pip install bcdc_apitests
pytest --pyargs bcdc_apitests --junitxml=<xml report name.xml>

Packaging

disable teardown

--df Include this switch if you want to disable teardown that deletes the test data that gets generated by the test suite. The various options basically tell the test suite not to delete a particular type of data that are generated by the tests.

Options include:

  • orgs
  • groups
  • packages
  • resources
  • users
  • other
  • ALL

Packaging

Packaging is currently configured to be built automatically by github actions when a pull request on master has been successfully merged.

packaging version numbers

When a new package is built it will automatically check what the last version is in PYPI for the package and increment that number.

Example if the version in pypi is 7.3.45, the next time the github action triggers it will be 7.3.46. If you want the change either the major or the minor number set the number in packages init.py file, for example to increment the major version number to 8.

...
version=8.0.0
...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for bcdc-apitests-dev, version 1.0.10
Filename, size File type Python version Upload date Hashes
Filename, size bcdc_apitests_dev-1.0.10-py3-none-any.whl (95.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size bcdc-apitests-dev-1.0.10.tar.gz (68.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page