Skip to content

crate/crate-qa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a5f3a3f · Mar 24, 2025
Nov 21, 2024
Mar 24, 2025
Nov 12, 2020
Jun 30, 2020
Mar 13, 2023
Nov 21, 2018
Apr 26, 2019
Apr 9, 2024
Jan 27, 2025
Aug 19, 2022
Mar 14, 2023
Dec 4, 2024

Repository files navigation

Quality Assurance (QA) for CrateDB

This repository contains frameworks to validate various aspects of CrateDB accross different versions.

Installation

This project requires Python 3.6 or greater.

Check out repository:

git clone https://github.com/crate/crate-qa.git
cd crate-qa

Create virtualenv and install requirements:

python3 -m venv env
source env/bin/activate
# optional: pip install --upgrade pip wheel
pip install --upgrade -e .

ODBC Library Installation

To successfully run the client_tests/odbc tests, the postgresql odbc (and its dependency unixodbc) library must be installed first.

MacOS

Recommended way is to use brew or macports for installation.

brew install psqlodbc

or

sudo port install psqlodbc

Linux

Use the package manager of your distribution of choice for installation.

Examples:

Apt:

apt-get install odbc-postgresql unixodbc-dev

Yum:

yum install postgresql-odbc unixODBC-devel

Test Suites

  • startup/: test CrateDB startup with critical settings provided by CLI and crate.yml
  • restart/: test that metadata/partitions/blobs are persisted across cluster restarts
  • bwc/: backwards compatibility tests
  • client_tests/: smoke test various clients written in Python, Go, etc.

Usage

Tests can be run by changing into the test directory and run python3 -m unittest. See python3 -m unittest --help for further options.

Run all test cases (tests in Python files that are prefixed with test_) inside tests/ and subfolders.

cd tests/
$ python3 -m unittest -v

Run a specific test method (e.g. restart.test_query_partitioned_table)

$ python3 -m unittest -v restart.test_partitions.PartitionTestCase.test_query_partitioned_table

Help

Looking for more help?