Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pytest-tinybird

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pytest-tinybird

A pytest plugin to report test results to tinybird

  • 0.3.0
  • PyPI
  • Socket score

Maintainers
1

pytest-tinybird

A pytest plugin to report test results to Tinybird. At the end of every run, this plugin posts results using the Tinybird Events API.

PyPI version Passed Top test passed

Requirements

Installation

pypi install package: https://pypi.org/project/pytest-tinybird/

You can install the plugin with the following bash command:

  $ pip install pytest-tinybird

Usage

You just need your Tinybird account and a Token with append permissions

Set these env variables:

export TINYBIRD_URL=<https://api.tinybird.co|https://api.us-east.tinybird.co>   # depends on your region
export TINYBIRD_DATASOURCE=<datasource_name>  # will be created with first results posted
export TINYBIRD_TOKEN=<token_with_append_permissions>

Then run pytest with --report-to-tinybird.

$ pytest tests --report-to-tinybird

CI execution info can also be set using some env variables. These are from GitLab:

CI_COMMIT_SHA
CI_COMMIT_BRANCH
CI_JOB_ID
CI_JOB_NAME
CI_JOB_URL

If you are not using GitLab, you will need to set them manually. For instance, for GitHub actions you can check our current GitHub actions workflow.

Data Source details

The pytest-tinybird plugin creates and sends report objects via the Events API with this structure:

{
	'date': now,
	'commit': self.commit,
	'branch': self.branch,
	'job_id': self.job_id,
	'job_url': self.job_url,
	'job_name': self.job_name,
	'test_nodeid': test.nodeid,
	'test_name': test.head_line,
	'test_part': test.when,
	'duration': test.duration,
	'outcome': test.outcome
}

When a report object is first sent to Tinybird, a Data Source with the following definition and schema is created:

TOKEN "pytest-executor-write" APPEND

SCHEMA >
    `commit` String `json:$.commit`,
    `branch` String `json:$.branch`,
    `date` DateTime `json:$.date`,
    `duration` Float32 `json:$.duration`,
    `job_id` String `json:$.job_id`,
    `job_name` String `json:$.job_name`,
    `job_url` String `json:$.job_url`,
    `outcome` LowCardinality(String) `json:$.outcome`,
    `test_name` String `json:$.test_name`,
    `test_nodeid` String `json:$.test_nodeid`,
    `test_part` LowCardinality(String) `json:$.test_part`

ENGINE MergeTree
ENGINE_PARTITION_KEY toYYYYMM(date)

You can also see the Data Source schema with this data sample from an API Endpoint created from the Data Source the pytest-tinybird plugin populates.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc