Migrate the S3 storage connector's test-connection off the legacy test_connection_steps helper onto the declarative @check / ChecksProvider / ErrorPack framework.
S3 is the first connector of the Storage vertical to migrate, so this also seeds the shared checks/storage.py scaffolding (a StorageStep enum + reusable boto3 helpers) that the remaining storage connectors (gcs, …) will reuse.
Scope
- New
core/connections/test_connection/checks/storage.py: StorageStep enum (ListBuckets, GetMetrics) + list_buckets / probe_buckets / list_metrics helpers that return Evidence and raise CheckError on failure.
S3Checks provider + S3_ERRORS botocore ErrorPack (folding in the shared network pack); S3Connection.checks() replaces the old test_connection override.
- Set
category: ConnectionGate on the ListBuckets step in testConnections/storage/s3.json so a failed access gate short-circuits.
- Colocated unit test at
ingestion/tests/unit/source/storage/s3/test_connection.py.
Migrate the S3 storage connector's test-connection off the legacy
test_connection_stepshelper onto the declarative@check/ChecksProvider/ErrorPackframework.S3 is the first connector of the Storage vertical to migrate, so this also seeds the shared
checks/storage.pyscaffolding (aStorageStepenum + reusable boto3 helpers) that the remaining storage connectors (gcs, …) will reuse.Scope
core/connections/test_connection/checks/storage.py:StorageStepenum (ListBuckets,GetMetrics) +list_buckets/probe_buckets/list_metricshelpers that returnEvidenceand raiseCheckErroron failure.S3Checksprovider +S3_ERRORSbotocoreErrorPack(folding in the shared network pack);S3Connection.checks()replaces the oldtest_connectionoverride.category: ConnectionGateon theListBucketsstep intestConnections/storage/s3.jsonso a failed access gate short-circuits.ingestion/tests/unit/source/storage/s3/test_connection.py.