committed 10:26AM - 01 Jul 26 UTC
The Couchbase test container bound host ports 1:1 (8091, 11210, ...),
which clas…hes with any Couchbase Server already running on the
workstation and could fail test_couchbase_source_local outright. The
pending testcontainers-python Couchbase support binds the same ports
1:1, so it would not remove the conflict either.
Switch CouchbaseContainer to Docker-assigned host ports via
with_exposed_ports() and advertise those mapped ports to SDK clients
through Couchbase alternate addresses (couchbase-cli
setting-alternate-address for mgmt/kv/n1ql/capi). Connection strings now
use the mapped KV port with network=external, so the SDK bootstraps
through the alternate addresses instead of the container-internal ones.
To make network=external reach the SDK, CouchbaseSource.dlt_source() now
preserves non-ssl URI query parameters when building the connection
string, while still consuming ssl=true internally to upgrade couchbase://
to couchbases://.
Adds Docker-free unit tests for the URI query-parameter handling and
updates the integration-test docstring, which no longer requires stopping
a local Couchbase Server.