Skip to main content

ShreQT

codecov Build Status PyPi Version

⢀⡴⠑⡄⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠸⡇⠀⠿⡀⠀⠀⠀⣀⡴⢿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠑⢄⣠⠾⠁⣀⣄⡈⠙⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⢀⡀⠁⠀⠀⠈⠙⠛⠂⠈⣿⣿⣿⣿⣿⠿⡿⢿⣆⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢀⡾⣁⣀⠀⠴⠂⠙⣗⡀⠀⢻⣿⣿⠭⢤⣴⣦⣤⣹⠀⠀⠀⢀⢴⣶⣆
⠀⠀⢀⣾⣿⣿⣿⣷⣮⣽⣾⣿⣥⣴⣿⣿⡿⢂⠔⢚⡿⢿⣿⣦⣴⣾⠁⠸⣼⡿
⠀⢀⡞⠁⠙⠻⠿⠟⠉⠀⠛⢹⣿⣿⣿⣿⣿⣌⢤⣼⣿⣾⣿⡟⠉⠀⠀⠀⠀⠀
⠀⣾⣷⣶⠇⠀⠀⣤⣄⣀⡀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀  Tests have layers
⠀⠉⠈⠉⠀⠀⢦⡈⢻⣿⣿⣿⣶⣶⣶⣶⣤⣽⡹⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀  Ogres have layers
⠀⠀⠀⠀⠀⠀⠀⠉⠲⣽⡻⢿⣿⣿⣿⣿⣿⣿⣷⣜⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀        ~ Anonymous
⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣷⣶⣮⣭⣽⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣀⣀⣈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⠿⠿⠿⠛⠉

Overview

Query testing framework.

Currently supports only Exasol DB.

This project uses Poetry for dependency management and packaging.

Development

To setup your virtual environment run the following command. The default location for poetry venvs is ~/Library/Caches/pypoetry/virtualenvs

poetry install

To run tests and lint checks:

make checks

To format on all files:

make fmt

Usage

Prequisite

Currently we only support Exasol connections. To run local instance of Exasol as docker container run:

docker run  -p 8999:8888 --detach --privileged --stop-timeout 120  exasol/docker-db:6.0.13-d1

(MacOS) Keep in mind that Exasol is memory-heavy and you need to increase docker memory limit to at least 4GB

Credentials

ShreQT uses following environment variables to connect to database.

Variable Default Value
SHREQT_DSN localhost:8999
SHREQT_USER sys
SHREQT_PASS exasol

Example

The example directory contains simple example which illustrates the example usage.

  • conftest.py includes simple User schema and code which sets up the database for test session.
  • example.py includes a tested function.
  • example_test.py include example test function.

You can run the example with:

make run-example

Build && Deploy

Setup ~/.pypirc with credentials.

Run checks and build package:

make build

Deploy package to pypi using poetry:

make deploy

TODO

  • Automate deployment step with travis
  • Decorator functionality for temporary layer

Release files for shreqt 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shreqt 0.6.2
File Size Uploaded
shreqt-0.6.2.tar.gz 6.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for shreqt 0.6.2
File Interpreter ABI Platform
shreqt-0.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 13.0 kB

Release files / shreqt-0.6.2.tar.gz

Download URL shreqt-0.6.2.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
318a9f99a7c6f5be65e21b1cf7182d812dccedc64588d38d8cb91eee696c91bc
BLAKE2b-256 checksum
How to use checksums
cd6b69fec0cedda8df41de755e5d01357669c0beedec9d9912b3ccb65e43ef7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

Release files / shreqt-0.6.2-py3-none-any.whl

Download URL shreqt-0.6.2-py3-none-any.whl
Size 6.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
915ec49ffa485cbf72e5eb0cb2a7847f5c92153c0ea91b3b23af9dc78c0e74dc
BLAKE2b-256 checksum
How to use checksums
230f9043c6591954b17e309bb196aa8bca62325e73cff914e73cb8a66e5d894d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

Release history Release notifications | RSS feed

This release

0.6.2 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page