Files
Nikita Fomichev 8aedaae883 Add e2e integration tests for Iceberg and DataLake catalogs
Copies three test suites from the private repository:
- `test_e2e_catalogs` — DataLakeCatalog backends (AWS Glue, OneLake, BigLake)
- `test_e2e_iceberg_engine` — Iceberg Table Engine (`IcebergS3`/`IcebergAzure`)
- `test_e2e_iceberg_tf` — Iceberg Table Functions

Also adds the required helpers:
- `catalog_manager.py` and backend-specific implementations for AWS Glue,
  BigLake, OneLake, `IcebergS3`, and `IcebergAzure`

Supporting changes:
- `pytest.ini`: register `e2e` and `only_backend` markers; exclude `e2e` tests
  from the default run (`-m 'not long_run and not e2e'`)
- `conftest.py`: load `.env` via `python-dotenv` when present (credentials
  for e2e tests, never committed)
- `.env.example`: template documenting all required environment variables
- `.gitignore`: ignore `.env` and `/tests/integration/.env`
2026-03-26 18:21:26 +01:00

30 lines
1.2 KiB
INI

[pytest]
python_files = test_*/test*.py
norecursedirs = _instances*
session_timeout = 7200
timeout = 900
junit_duration_report = call
junit_suite_name = integration
log_level = DEBUG
log_format = %(asctime)s [ %(process)d ] %(levelname)s : %(message)s (%(filename)s:%(lineno)s, %(funcName)s)
log_date_format=%Y-%m-%d %H:%M:%S.%f
log_cli = true
log_cli_level = INFO
log_cli_format = %(asctime)s [ %(process)d ] %(levelname)s : %(message)s (%(filename)s:%(lineno)s, %(funcName)s)
log_cli_date_format=%Y-%m-%d %H:%M:%S.%f
; log_file = pytest.log
; log_file_level = DEBUG
; log_file_format = %(asctime)s [ %(process)d ] %(levelname)s : %(message)s (%(filename)s:%(lineno)s, %(funcName)s)
; log_file_date_format = %Y-%m-%d %H:%M:%S.%f
markers =
long_run: marks tests which run for a long time
e2e: marks end-to-end tests that manage external dependencies
only_backend: restrict an e2e test to a specific storage backend (azure or s3)
addopts =
-m 'not long_run and not e2e'
; 'The asyncore module is deprecated' comes from casandra driver
; 'TripleDES has been moved' comes from paramiko library
filterwarnings =
ignore:The asyncore module is deprecated:DeprecationWarning
ignore:TripleDES has been moved:cryptography.utils.CryptographyDeprecationWarning