forked from exasol/bucketfs-utils-python
-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
bugUnwanted / harmful behaviorUnwanted / harmful behavior
Description
The slow tests are failing due to the following error in CI pipeline
`Run poetry run -- pytest --backend=all test/integration
poetry run -- pytest --backend=all test/integration
shell: /usr/bin/bash -e {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.10.18/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.10.18/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.18/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.18/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.10.18/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.10.18/x64/lib
SAAS_HOST: ***
SAAS_ACCOUNT_ID: ***
SAAS_PAT: ***
============================= test session starts ==============================
platform linux -- Python 3.10.18, pytest-7.4.4, pluggy-1.6.0
rootdir: /home/runner/work/bucketfs-python/bucketfs-python
plugins: pyfakefs-5.8.0, exasol-backend-1.0.0, anyio-4.9.0, prysk-0.2.0, localserver-0.8.1
collected 38 items
test/integration/test_path.py EEEE [ 10%]
test/integration/test_service_onprem.py E [ 13%]
test/integration/test_service_saas.py EEEEE [ 26%]
test/integration/test_path.py EEEE [ 36%]
test/integration/test_service_onprem.py E [ 39%]
test/integration/test_service_saas.py EEEEE [ 52%]
test/integration/test_service_onprem.py EEEEEEEEEEEEEEEEEE [100%]
==================================== ERRORS ====================================
________________ ERROR at setup of test_write_read_back[onprem] ________________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
------------------------------ Captured log setup ------------------------------
INFO exasol.saas.client.api_access:api_access.py:220 Creating database 1756374941BFSP-runne
WARNING exasol.saas.client.api_access:api_access.py:289 Cannot delete db None
____________ ERROR at setup of test_write_read_back_tar_gz[onprem] _____________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
_______________ ERROR at setup of test_write_list_files[onprem] ________________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
_________________ ERROR at setup of test_write_delete[onprem] __________________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
_____ ERROR at setup of test_upload_and_udf_path[onprem-default-<genexpr>] _____
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
__________ ERROR at setup of test_write_bytes_to_saas_bucket[onprem] ___________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
___________ ERROR at setup of test_write_file_to_saas_bucket[onprem] ___________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
__________ ERROR at setup of test_read_bytes_from_saas_bucket[onprem] __________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
__________ ERROR at setup of test_read_file_from_saas_bucket[onprem] ___________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
_________ ERROR at setup of test_delete_file_from_saas_bucket[onprem] __________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
___________ ERROR at setup of test_read_bytes_from_saas_bucket[saas] ___________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
return response_200
if client.raise_on_unexpected_status:
> raise errors.UnexpectedStatus(response.status_code, response.content)
E exasol.saas.client.openapi.errors.UnexpectedStatus: Unexpected status code: 400
E
E Response content:
E {"code":400,"message":"stream Type should be provided","requestId":"1df9d884-935e-4935-916b-8d1e2f761385","logId":"2025/08/28/[$LATEST]5c45d37c30c047f4b07ea65bd8ccad3a","path":"/staging/api/v1/accounts/***/databases","method":"POST","handler":"saas-api-service-databases-staging-databases","timestamp":"2025-08-28T09:55:47Z"}
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:52: UnexpectedStatus
___________ ERROR at setup of test_read_file_from_saas_bucket[saas] ____________
request = <SubRequest 'backend_aware_saas_database_id_async' for <Function test_write_read_back[onprem]>>
use_saas = True, database_name = '1756374941BFSP-runne'
saas_api_access = <exasol.saas.client.api_access.OpenApiAccess object at 0x7f876c7ac730>
@pytest.fixture(scope="session", autouse=True)
def backend_aware_saas_database_id_async(
request, use_saas, database_name, saas_api_access
) -> Generator[str]:
"""
If the saas is a selected backend, this fixture starts building a temporary SaaS
database and keeps it running for the duration of the session. It returns before the
database is ready. The "autouse" parameter assures that the SaaS database, and other
lengthy setup procedures are started preemptively before they are needed anywhere in
the tests.
The fixture shall not be used directly in tests.
"""
if saas_api_access is not None:
keep = request.config.getoption("--keep-saas-database")
idle_hours = float(request.config.getoption("--saas-max-idle-hours"))
# Create a temporary database
> with saas_api_access.database(
name=database_name, keep=keep, idle_time=timedelta(hours=idle_hours)
) as db:
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/pytest_backend/__init__.py:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/hostedtoolcache/Python/3.10.18/x64/lib/python3.10/contextlib.py:135: in __enter__
return next(self.gen)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:276: in database
db = self.create_database(name, idle_time=idle_time)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/api_access.py:221: in create_database
return create_database.sync(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:118: in sync
return sync_detailed(
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:96: in sync_detailed
return _build_response(client=client, response=response)
../../../.cache/pypoetry/virtualenvs/exasol-bucketfs-IGmolym6-py3.10/lib/python3.10/site-packages/exasol/saas/client/openapi/api/databases/create_database.py:64: in _build_response
parsed=_parse_response(client=client, response=response),
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[ExasolDatabase]:
if response.status_code == 200:
response_200 = ExasolDatabase.from_dict(response.json())
> > return response_200`
Metadata
Metadata
Assignees
Labels
bugUnwanted / harmful behaviorUnwanted / harmful behavior