Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 1 addition & 9 deletions .github/workflows/slow-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,9 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

- name: Start Exasol Test Environment
run: |
poetry run itde spawn-test-environment \
--environment-name test \
--docker-db-image-version ${{ matrix.exasol-version }} \
--database-port-forward 8563 \
--bucketfs-port-forward 2580

- name: Run Tests and Collect Coverage
run: |
poetry run -- nox -s test:integration -- --coverage --db-version ${{ matrix.exasol-version }}
poetry run -- nox -s test:integration -- --coverage --db-version ${{ matrix.exasol-version }} --backend onprem

- name: Upload Artifacts
uses: actions/upload-artifact@v5
Expand Down
7 changes: 2 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,10 @@ Quick Start

We recommend to make the object factory a fixture in your integration test and purge the database before each test. This ensures test isolation.

The object factory needs a database connection. In case of the Exasol dialect, the `pytest-exasol-backend` (https://github.com/exasol/pytest-backend) makes creating an Exasol backend and getting a connection very convenient.

.. code-block:: python3

@pytest.fixture(scope="module")
def connection():
with connect() as connection:
yield connection

@pytest.fixture
def factory(connection):
factory = ExasolObjectFactory(connection)
Expand Down
1 change: 1 addition & 0 deletions doc/changes/unreleased.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ With that done, the test preparation gets very compact.

* #1: Added MIT license and security policy
* #3: Transformed project to comply with the standard layout of Exasol's Python projects by adding the Exasol Python Toolbox
* #5: Removed the workaround to get the host fingerprint
* #12: Removed unused `Config` class from `noxconfig.py`

## Features
Expand Down
22 changes: 17 additions & 5 deletions doc/developer_guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,29 @@ Prerequisites

This project is tested with Python 3.12.

As test environment uses the the ITDE_.
Running the Unit Tests
-----------------------------

Execute the command below on the shell to run the unit tests:

.code-block: shell::
pip install exasol-integration-test-docker-environment
poetry run -- nox -s test:unit


Running the Integration Tests
-----------------------------

Exasol Integration Tests
~~~~~~~~~~~~~~~~~~~~~~~~
Exasol Dialect Integration Tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For the Exasol dialect, the project uses the `integration-test-docker-environment` (ITDE_) which starts Exasol in a docker container and creates a docker network with a second docker container in which the tests run.

.. _ITDE: https://github.com/exasol/integration-test-docker-environment
The `pytest-exasol-backend` serves as an abstraction, so that we do not have to start the ITDE by hand. This project only tests against the on-prem backend (read: `docker-db`).

To run the integration tests, use

.code-block: shell::
poetry run -- nox -s test:integration -- --backend onprem

.. _ITDE: https://github.com/exasol/integration-test-docker-environment/
.. _PEB: https://github.com/exasol/pytest-backend/
15 changes: 0 additions & 15 deletions exasol/tdbp/dialects/exasol/exasol_connection_factory.py

This file was deleted.

50 changes: 0 additions & 50 deletions exasol/tdbp/dialects/exasol/exasol_fingerprint_provider.py

This file was deleted.

Loading