GithubHelp home page GithubHelp logo

kiwitcms / tap-plugin Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 3.0 104 KB

Test Anything Protocol (TAP) plugin for Kiwi TCMS

Home Page: http://kiwitcms.org

License: GNU General Public License v3.0

Python 65.28% Makefile 5.58% Shell 29.14%

tap-plugin's People

Contributors

atodorov avatar dependabot-preview[bot] avatar dependabot[bot] avatar kryskool avatar lgtm-migrator avatar pre-commit-ci[bot] avatar pyup-bot avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tap-plugin's Issues

Feature: Include traceback as comments

Consider the following TAP output:

not ok 4 test_when_plugin_initializes_then_uses_environment (tests.test_api_config.GivenConfigurationFileDoesntExist)
# Traceback (most recent call last):
#   File "/opt/rh/rh-python36/root/usr/lib64/python3.6/unittest/case.py", line 60, in testPartExecutor
#     yield
#   File "/opt/rh/rh-python36/root/usr/lib64/python3.6/unittest/case.py", line 643, in run
#     testMethod()
#   File "/home/senko/tap-plugin/tests/test_api_config.py", line 11, in test_when_plugin_initializes_then_uses_environment
#     self.fail('not implemented')
#   File "/opt/rh/rh-python36/root/usr/lib64/python3.6/unittest/case.py", line 708, in fail
#     raise self.failureException(msg)
# AssertionError: not implemented
# TAP results for GivenConfigurationFileExists
not ok 5 test_when_plugin_initializes_then_uses_config (tests.test_api_config.GivenConfigurationFileExists)
# Traceback (most recent call last):
#   File "/opt/rh/rh-python36/root/usr/lib64/python3.6/unittest/case.py", line 60, in testPartExecutor
#     yield
#   File "/opt/rh/rh-python36/root/usr/lib64/python3.6/unittest/case.py", line 643, in run
#     testMethod()
#   File "/home/senko/tap-plugin/tests/test_api_config.py", line 6, in test_when_plugin_initializes_then_uses_config
#     self.fail('not implemented')
#   File "/opt/rh/rh-python36/root/usr/lib64/python3.6/unittest/case.py", line 708, in fail
#     raise self.failureException(msg)
# AssertionError: not implemented
# TAP results for GivenBuildDoesntExistInDatabase
ok 6 test_when_get_build_id_then_will_add_it (tests.test_build.GivenBuildDoesntExistInDatabase)
# TAP results for GivenBuildEnvironmentIsNotPresent
ok 7 test_when_get_build_id_then_will_raise (tests.test_build.GivenBuildEnvironmentIsNotPresent)

I want the traceback as comments b/c this will make it easier to figure out what happened, directly in Kiwi TCMS.

Feature: Reference link for TP and TR

If running in Travis (possibly Jenkins) add reference link and notes to the TP and TR that are created.

For TC objects can include a link to the file on GitHub (or only the repository) - not sure.

Traceback will not be added for the last test

The traceback is added conditionally as a comment if a traceback already exists while parsing a new line. This causes the code to not get hit if there is only one test case, or the last one fails.

A quick workaround is to have a dummy test that executes last.

Feature: TCMS_PARENT_PLAN

If variable TCMS_PARENT_PLAN is specified use it when creating new TestPlans. This will help with organizing the data structure in Kiwi TCMS: we can have one plan for the entire product and separate plans for manual and automated testing.

Bug: Traceback not adding

When the last result in tap results includes traceback, the plugin does not add it to TestExecution comments.

Feature: Add the possibility to parse several tap files at once

Hi Kiwi team!

I am currently testing the tap-plugin to create test cases and tests run on a kiwi tenant (in my case the public one).

It works well but I have noticed that the command line tool name tcms-tap-plugin only parse the first file given to him.
For example, the following command line would take into account only the file name result_file_1.tap:

$ tcms-tap-plugin result_file_1.tap result_file_2.tap

It would be great if the tcms-tap-plugin tool would parse all the files given as arguments to insert every tests contained in it in the same test run!

Thanks by advance,
Armand.

Plugins

How to add the plugins in kiwi-tcms dashboard?

I tried running the below steps.

  1. docker compose down
  2. pip install kiwitcms-tap-plugin
  3. docker compose up

then i logged in dashboard and checked its not showing any plugins.
i created below file as well

Minimal config file ~/.tcms.conf:

[tcms]
url = https://tcms.server/xml-rpc/
username = your-username
password = your-password

After saving not sure what to do.

Please help.

RFE: Make prefix configurable via ENV

As of now plugin_helpers.Backend receives a prefix string from the plugins but this is hard-coded.

In the plugin-demo repository I am using both tap and junit.xml plugins and I'd like for the TP prefix to be the same while for TR prefix to be different. This is a plausible scenario where you are running several test runs via different frameworks/plugins on a more complex product.

For example a mobile app with iOS and Android versions where the requirement is to have all TRs under the same TP, maybe for easier reporting of statistics.

Note: some of the changes will probably have to go into plugin_helper.py itself.

Initial Update

The bot created this issue to inform you that pyup.io has been set up on this repo.
Once you have closed it, the bot will open pull requests for updates as soon as they are available.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.