Skip to main content

Sycronise pytest results to Jira RMsis

Project description

Pytest Rmsis Plugin

This plugin synchronize test reports to Jira RMsis. Following test attributes are synchronized:

  • Run result: passed, failed, skipped
  • Description of testcase
  • Jira requirement

Free software: MIT license

Installation

pip install pytest-rmsis

Konfiguration

In order to synchronize test result with RMsis, you have to specify a few parameters:

  • RMsis User Name
  • RMsis Password
  • RMsis URL
  • RMsis Project Name (for example: DLE_RMsis_CI_integration)
  • RMsis Release Name (for example: helbling-test-framework)
  • Optional RMsis Testrun Name (otherwise the Testrun is named: Pytest)

These parameters can directly be set in the shell:

pytest --rmsis \
       --rmsis-user <USERNAME> \
       --rmsis-password <PASSWORD> \
       --rmsis-url https://jira.example.de:3601 \
       --rmsis-project "My Project" \
       --rmsis-release "My Release" \
       --rmsis-testrun "My Testrun"

or in the pytest.ini:

[pytest]
addopts = --rmsis 
          --rmsis-user <USERNAME> 
          --rmsis-password <PASSWORD> 
          --rmsis-url https://jira.example.de:3601 
          --rmsis-project "My Project" 
          --rmsis-release "My Release" 
          --rmsis-testrun "My Release"

The flag --rmsis is the On/Off flag for the synchronisation. So if you don't want to synchronize with RMsis, remove it from the parameter list.

All parameters can also be configured by environment variables: RMSIS_USR, RMSIS_PSW, RMSIS_URL, RMSIS_PROJECT, RMSIS_RELEASE and RMSIS_TESTRUN.

Synchronisation

Each test in pytest has an unique identification based on the file path of the test and the class name and the test name: r/test_sample.py::TestClass::test_one. This unique identifier is used as the name of a testcase. This allows to have a mapping of testcases in RMsis to testcases in pytest.

RMsis Screenshot

Description

The doc-string of a test is synchronized as description by each pytest execution. The description in Rmsis will be overwritten.

def test_me():
       """Description which is synchronized"""
       assert True

Planned Requirements

If a test is marked with @pytest.mark.rmsis_requirement("KEY"), the test case is linked to the planned requirement with the key.

@pytest.mark.rmsis_requirement("JRCI-R1")
def test_me():
       assert True

If the key changes in the python test, the old linking will not be deleted in RMsis. It has to be deleted manually.

Temporary Disable Synchronization

The synchronization can be disabled on function-scope:

@pytest.mark.skip_rmsis
def test_me():
       assert True

FAQ

  1. Does pytest delete testcases in RMsis? - No testcases are deleted
  2. What happens if a testcase is renamed in pytest? - Pytest will create a new testcase in RMsis. You have to manually delete the old testcase in RMsis.
  3. What will happen if a testcase in RMsis is deleted? - Pytest will create a new testcase in RMsis
  4. Are steps synchronized to RMsis? - No, native pytest does not support the concept of steps. pytest-steps is not supported.
  5. Can attachements be uploaded to RMsis as result of a testrun? - No, the RMsis API does not support the upload of attachements.

Roadmap

  1. Synchronization of Categories: @pytest.mark.rmsis_cateogry("category")
  2. Overwrite test case name: @pytest.mark.rmsis_testcase("Name of testcase")
  3. Porting to Rmsis on Jira Cloud

Project details


Download files

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

Source Distribution

pytest-rmsis-1.0.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

pytest_rmsis-1.0.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file pytest-rmsis-1.0.0.tar.gz.

File metadata

  • Download URL: pytest-rmsis-1.0.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for pytest-rmsis-1.0.0.tar.gz
Algorithm Hash digest
SHA256 14412d7ca3295ada09cddb54d008208c092f3f288ba6660c7a50b966a98f42cb
MD5 ce08d12b9bd769867d2785d575a588b3
BLAKE2b-256 a2fb979da225d4215f8602fbc4b395d18bbe790878c714cc8f4dbbcde760e476

See more details on using hashes here.

File details

Details for the file pytest_rmsis-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pytest_rmsis-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for pytest_rmsis-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6cd486e24d0af608821aa7eb57486a3b2298afb4190ae9e5c78f275019431e4
MD5 2473d9bebbb1098f2132654174c1076e
BLAKE2b-256 d5a2d12d848f13f531b9fc36733fa091efde9100ff0f82d77e5aa698dbb667c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page