Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use CrateDB test layer based on "Testcontainers", in order to improve platform coverage #402

Open
amotl opened this issue Oct 9, 2023 · 0 comments

Comments

@amotl
Copy link
Member

amotl commented Oct 9, 2023

Goal

Extend platform / operating system coverage when testing CrateDB and associated infrastructure.

Introduction

At Testcontainers for Java and CrateDB, we demonstrate how to run integration tests of Java applications with CrateDB, based on Testcontainers for Java.

Based on observations at GH-343, crate/crate-python#388, or mfussenegger/cr8#337, we experience problems with different hand-made test layers for CrateDB, written in Python. They may have their advantages, but are not platform agnostic, so they can't be used on macOS and Windows platforms without further ado.

Currently, the integration tests here are only being invoked on Linux.

if sys.platform != "linux":
raise SkipTest("Integration tests only supported on Linux")

Proposal

On behalf of two other projects, we started the corresponding Testcontainers for Python implementation, and converged it into the cratedb-toolkit package, to make it reusable by downstream packages like crash, crate-python, and others.

This issue outlines what is needed to make the test layer usable here.

Task

Use the unittest-based adapter conceived to resolve crate/cratedb-toolkit#58 here, instead of crate.testing.layer in crash's tests/test_integration.py. Contributions are very welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant