Open amotl opened 12 months ago
Extend platform / operating system coverage when testing CrateDB and associated infrastructure.
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, https://github.com/crate/crate-python/pull/388, or https://github.com/mfussenegger/cr8/pull/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. https://github.com/crate/crash/blob/623ffb33bea81fcdae38e7b0c2929ac9bc7da503/tests/test_integration.py#L28-L29
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.
crash
crate-python
This issue outlines what is needed to make the test layer usable here.
Use the unittest-based adapter conceived to resolve https://github.com/crate-workbench/cratedb-toolkit/issues/58 here, instead of crate.testing.layer in crash's tests/test_integration.py. Contributions are very welcome.
unittest
crate.testing.layer
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, https://github.com/crate/crate-python/pull/388, or https://github.com/mfussenegger/cr8/pull/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. https://github.com/crate/crash/blob/623ffb33bea81fcdae38e7b0c2929ac9bc7da503/tests/test_integration.py#L28-L29
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 https://github.com/crate-workbench/cratedb-toolkit/issues/58 here, instead ofcrate.testing.layer
in crash's tests/test_integration.py. Contributions are very welcome.