Add Python client integration test suite#46
Conversation
|
Would you consider using Testcontainers (via testcontainers-python) for testing instead? I'm not sure what all bells and whistles your existing framework offers, but using something "standard" here would be nice. We use testcontainers for our Python test cases targeting the emulator and could very likely contribute most (all?) of our helpers, allowing use of a import unittest
from google.cloud.bigquery import Client
from some_new_module_maybe import test_bigquery_context
class MyTestCase(unittest.TestCase):
@test_bigquery_context
def test_foo(self, ctx: tuple[Client, str]) -> None:
client, project = ctx
client.query_and_wait("SELECT TRUE")This would also be useful outside of the emulator's internal tests to people wanting to write unit tests against the emulator. |
|
Not tied to this implementation at all! There's nothing particularly useful in this version of the The |
switch to `testcontainers` for the integration test suite
This ports all of the existing emulator-specific tests from Recidiviz/pulse-data into this repo. I've also added a new integration test for #45
uvis very cool and very fastcc @simi @pgcamus failing test cases can now be submitted with Python code samples