diff --git a/pyproject.toml b/pyproject.toml index a530c76..074a4aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ license = "MIT" name = "pytest-databases" readme = "README.md" requires-python = ">=3.9" -version = "0.12.1" +version = "0.12.2" # authors = [{ name = "Cody Fincher", email = "cody@litestar.dev" }] keywords = [ @@ -117,7 +117,7 @@ dev = [ allow_dirty = true commit = true commit_args = "--no-verify" -current_version = "0.12.1" +current_version = "0.12.2" ignore_missing_files = false ignore_missing_version = false message = "chore(release): bump to v{new_version}" diff --git a/src/pytest_databases/docker/oracle.py b/src/pytest_databases/docker/oracle.py index 4a02086..14d685e 100644 --- a/src/pytest_databases/docker/oracle.py +++ b/src/pytest_databases/docker/oracle.py @@ -95,22 +95,46 @@ def check(_service: ServiceContainer) -> bool: @pytest.fixture(autouse=False, scope="session") -def oracle_23ai_service(docker_service: DockerService) -> Generator[OracleService, None, None]: +def oracle_23ai_image() -> str: + return "gvenzl/oracle-free:23-slim-faststart" + + +@pytest.fixture(autouse=False, scope="session") +def oracle_23ai_service_name() -> str: + return "FREEPDB1" + + +@pytest.fixture(autouse=False, scope="session") +def oracle_18c_image() -> str: + return "gvenzl/oracle-xe:18-slim-faststart" + + +@pytest.fixture(autouse=False, scope="session") +def oracle_18c_service_name() -> str: + return "xepdb1" + + +@pytest.fixture(autouse=False, scope="session") +def oracle_23ai_service( + docker_service: DockerService, oracle_23ai_image: str, oracle_23ai_service_name: str +) -> Generator[OracleService, None, None]: with _provide_oracle_service( - image="gvenzl/oracle-free:23-slim-faststart", + image=oracle_23ai_image, name="oracle23ai", - service_name="FREEPDB1", + service_name=oracle_23ai_service_name, docker_service=docker_service, ) as service: yield service @pytest.fixture(autouse=False, scope="session") -def oracle_18c_service(docker_service: DockerService) -> Generator[OracleService, None, None]: +def oracle_18c_service( + docker_service: DockerService, oracle_18c_image: str, oracle_18c_service_name: str +) -> Generator[OracleService, None, None]: with _provide_oracle_service( - image="gvenzl/oci-oracle-xe:18-slim-faststart", + image=oracle_18c_image, name="oracle18c", - service_name="xepdb1", + service_name=oracle_18c_service_name, docker_service=docker_service, ) as service: yield service diff --git a/tests/test_oracle.py b/tests/test_oracle.py index bd725ed..ef405e7 100644 --- a/tests/test_oracle.py +++ b/tests/test_oracle.py @@ -2,15 +2,12 @@ import pytest -pytestmark = pytest.mark.skip() - @pytest.mark.parametrize( "service_fixture", [ "oracle_18c_service", "oracle_23ai_service", - "oracle_23ai_service", ], ) def test_service_fixture(pytester: pytest.Pytester, service_fixture: str) -> None: @@ -20,21 +17,23 @@ def test_service_fixture(pytester: pytest.Pytester, service_fixture: str) -> Non def test({service_fixture}): conn = oracledb.connect( - user=service_fixture.user, - password=service_fixture.password, - dsn=f"{{{service_fixture}.host}}:{{{service_fixture}.port!s}}/{{{service_fixture}.service_name}}", + user={service_fixture}.user, + password={service_fixture}.password, + service_name={service_fixture}.service_name, + host={service_fixture}.host, + port={service_fixture}.port, ) with conn.cursor() as cur: - cur.execute("SELECT 'Hello World!' FROM dual") - res = cur.fetchall()[0][0] - assert "Hello World!" in res + cur.execute("SELECT 1 FROM dual") + res = cur.fetchone()[0] + assert res == 1 """) result = pytester.runpytest() result.assert_outcomes(passed=1) -@pytest.mark.parametrize("connection_fixture", ["oracle_18c_connection"]) +@pytest.mark.parametrize("connection_fixture", ["oracle_18c_connection", "oracle_23ai_connection"]) def test_connection_fixture(pytester: pytest.Pytester, connection_fixture: str) -> None: pytester.makepyfile(f""" import oracledb diff --git a/uv.lock b/uv.lock index 3f7c667..d033423 100644 --- a/uv.lock +++ b/uv.lock @@ -1935,7 +1935,7 @@ wheels = [ [[package]] name = "pytest-databases" -version = "0.12.1" +version = "0.12.2" source = { editable = "." } dependencies = [ { name = "docker" },