Skip to main content

opentmi-client

Project description

Python Client library for OpenTMI

CI Pipeline Coverage Status PyPI version

This is the Python client library for OpenTMI.

installation

To install, simply use pip:

$ pip install --upgrade opentmi-client

See the Developers Guide if you want to develop this library.

Command Line Interface

Library provides Command line Interface to communicate with OpenTMI -backend

$ opentmi --help
usage: opentmi [-h] [-v] [-s] [--host HOST] [--user USER]
               [--password PASSWORD] [--token TOKEN]
               [--token_service TOKEN_SERVICE] [-p PORT]
               <subcommand> ...

optional arguments:
  -h, --help            show this help message and exit
  -v                    verbose level... repeat up to three times.
  -s, --silent          Silent - only errors will be printed
  --host HOST           OpenTMI host, default: localhost
  --user USER           username
  --password PASSWORD   password
  --token TOKEN         Authentication token
  --token_service TOKEN_SERVICE
                        Optional authentication service
  -p PORT, --port PORT  OpenTMI port

subcommand:
  <subcommand>          sub-command help
    version             Display version information
    list                List something
    store               Create something

example:

opentmi --host localhost --port 3000 --list --testcases 1

Python API

from opentmi_client import OpenTmiClient, Result, Event
client = Client("https://127.0.0.1")
client.login_with_access_token("my-github-access-token")

# post result
result = Result()
result.tcid = "test-case-a"
result.verdict = "pass"
client.post_result(result)

# post event
event = Event()
event.msgid = "ALLOCATED"
event.priority.level = "info",
event.ref.resource = "5697740f956cd2fd35c69062"
client.post_event(event)

See more examples from here.

Server side Result schema can be found from here. and Test case schema is available here.

notes

  • tcid -field have to be unique for each test cases.
  • There is couple mandatory fields by default: tcid and exec.verdict. Allowed values for result verdict is: pass, fail, inconclusive, blocked and error. upload_results() -function also create test case document if it doesn't exists in database.

Authentication

There are multiple options to authenticate:

  • use Client.login(<username>, <password>)
  • use Client.login_with_access_token(<token>, [<service>])
    • service are optional and supported values depend on server support. By default github is in use.
  • Use environment variables (tries login automatically when constructor is called):
    • Using username and password: OPENTMI_USERNAME and OPENTMI_PASSWORD or
    • Using github access token: OPENTMI_GITHUB_ACCESS_TOKEN
  • use token in host like http://<token>@localhost

LICENSE

MIT

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

opentmi_client-0.11.0.tar.gz (35.6 kB view details)

Uploaded Source

Built Distribution

opentmi_client-0.11.0-py3-none-any.whl (43.1 kB view details)

Uploaded Python 3

File details

Details for the file opentmi_client-0.11.0.tar.gz.

File metadata

  • Download URL: opentmi_client-0.11.0.tar.gz
  • Upload date:
  • Size: 35.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for opentmi_client-0.11.0.tar.gz
Algorithm Hash digest
SHA256 1511b445fc5aa2582ec940829e4f0cb0522ac859d93975b02d7062565589fe83
MD5 379b0f554cccbbea040d6416cb9009ae
BLAKE2b-256 82380fe421bef4e2c2897b90b9345eca569be22211afe00185ecc18582dbd0bb

See more details on using hashes here.

File details

Details for the file opentmi_client-0.11.0-py3-none-any.whl.

File metadata

File hashes

Hashes for opentmi_client-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51903db772107c98343334217a9dab9d00334abe018632c8a56868aacaa54387
MD5 89f1dbb78d6bbba6796f1b70759e0f43
BLAKE2b-256 806bfad54d21ac93f3747cb15875b53891c549a22b5dcea47e7da2ca82a6c2d9

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