Commit Graph
18 Commits
Author SHA1 Message Date
qdrant-cloud-bot 07caef93fd build(deps): bump anyio from 4.13.0 to 4.14.2 in /tests (#10713)
Bumps anyio from 4.13.0 to 4.14.2 (same change as #10703, retargeted to dev).
2026-09-21 15:13:29 +02:00
Anton Antonov 4c4c3d967e test: improve consensus test suite (#10671)
* test: add a gated proxy for peer RPCs

Pause one selected internal request while other peer traffic continues.
Preserve payloads, metadata, deadlines, and cancellation so consensus
tests can control transfer timing without blocking unrelated requests.

Cover forwarding, independent gates, and cleanup with socket tests.

* test: connect peer proxies to consensus clusters

Let consensus tests route internal RPCs through request gates. Keep each
proxy alive across peer restarts so advertised addresses remain stable,
and close all proxies during test cleanup.

Wait for the upstream gRPC connection before returning from proxied
startup. Verify consensus progress during a held WAL-delta request,
recovery data, and restart behavior with both URI configuration modes.

* test: fix potentially misleading peer proxy method names

Explicitly state the guarantees, or lack of.

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>

* test: add support for hold_snapshot_download

Removes flakiness from snapshot-related consensus tests too

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>

* test: improve asserts when force deleting peer

Actually verify survivors recover and retain the expected data.
Making sure no data loss happens.

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>

* test: add OsError socket handling + explicit wal_delta tests

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>

* test: reject zero as a defined consensus leader

* test: recheck leader agreement on each poll

After a restart, the leader can change during election. Let the cluster
wait resample the leader on each poll and require agreement on a nonzero
leader before the snapshot test starts its transfer.

Keep explicit leader checks for existing callers, membership-size checks,
and the existing timeout. Cover election changes and offline peers.

* test: verify independent snapshot download gates

* test: use a positive peer connection deadline

* test: cover recovery after the removed source exits

* chore: add clarifying comment on timeout=0 usage

It's not obvious at first why it's like so.

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>

* test: share consensus response gates

Move response gates, their tests, and Raft decoding from the leader
removal proof into the base test infrastructure. Both removal scenarios
can then use the same successful-response check.

* test: support selective RPC blocking

Keep a removed source unaware of membership changes while its transfer
continues. Block its Raft traffic in both directions so election
attempts cannot disrupt survivor recovery.

* test: make source removal scenarios deterministic

Separate recovery after source exit from late data sent by a removed
source. Require a successful receiver response in the late scenario,
and retain complete data and replica-state checks in both cases.

* test: refactor timeouts and deadlines

* Cancellation happens after observing the intended phase, without an RPC deadline.
* Separate deadline tests cover held requests, upstream work, and held responses.

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>

* test: bound peer probes and removal requests

Give cluster probes and peer removal finite client timeouts so a stalled
HTTP request cannot leave the test waiting indefinitely.

* test: separate RPC release from termination

Keep the upstream handler blocked until the test releases it or the RPC
terminates. Use a separate termination event for cancellation assertions,
and release the handler during teardown instead of racing a fixture timer.

* test: use monotonic polling deadlines

Measure elapsed polling time with a monotonic clock so system clock
adjustments cannot shorten or extend the wait.

* test: allow more time to observe proxy events

Allow ten seconds for proxy observations and ordinary test requests.
Event and future waits still return as soon as they complete. Keep the
one-second expiry tests and document the HTTP deadline setup race.

* test: bound leader and replication requests

Limit how long leader lookup and transfer submission wait for an HTTP
response. A stalled submission must fail so the test can release its
transfer gates and clean up the peers.

* test: preserve readiness failures in diagnostics

Catch request failures while collecting cluster diagnostics, including
read timeouts. Report the original readiness failure instead of replacing
it with a diagnostic error.

* test: assert points calls for the correct collection

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>

* test: make sure check_cluster_size and check_leader cannot stall

Have an explicit timeout.

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>

* test: retry timeouts during initial leader lookup

Treat request timeouts as retryable while discovering the expected leader,
matching the subsequent leader and membership checks. Keep polling after
a transient timeout instead of aborting the cluster-status wait.

* test: ensure batch data is different

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>

---------

Signed-off-by: Anton Antonov <anton.synd.antonov@gmail.com>
2026-09-21 12:04:51 +03:00
tellet-qandClaude Opus 5 663ae2c236 tests: use local cache when building image for e2e tests (#8822)
* tests: use local cache when building image for e2e tests

* tests: make e2e local-cache image build safe under pytest-xdist

- Serialize builder creation and the build with a `filelock` lock (the
  approach recommended by pytest-xdist for session fixtures), since
  every xdist worker runs the session fixture; workers that wait on the
  lock reuse the image built by the first one instead of rebuilding.
- Keep the buildx builder between sessions instead of removing it in a
  finalizer, which also avoided one worker deleting a shared builder.
- Fix README: CI pre-builds the image in the workflow (there is no
  `build-e2e-image` artifact); note the cache dir is never pruned.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 11:52:27 +02:00
qdrant-cloud-bot 366c872c91 build(deps): bump qdrant-client from 1.18.0 to 1.19.0 in /tests (#10164)
Raise the minimum test dependency to qdrant-client 1.19.0 and refresh uv.lock.
2026-08-10 16:55:52 +02:00
qdrant-cloud-botanddependabot[bot] 32aa3268ee build(deps): bump h2 from 4.3.0 to 4.4.1 in /tests (#10157)
Bumps [h2](https://github.com/python-hyper/h2) from 4.3.0 to 4.4.1.
- [Changelog](https://github.com/python-hyper/h2/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/python-hyper/h2/compare/v4.3.0...v4.4.1)

---
updated-dependencies:
- dependency-name: h2
  dependency-version: 4.4.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 11:13:18 +02:00
qdrant-cloud-botanddependabot[bot] e3cc417121 build(deps): bump cryptography from 48.0.1 to 50.0.0 in /tests (#10083)
Bumps [cryptography](https://github.com/pyca/cryptography) from 48.0.1 to 50.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/48.0.1...50.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 50.0.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 11:57:57 +02:00
qdrant-cloud-botandCursor b7136bd1ba build(deps): bump pyasn1 from 0.6.3 to 0.6.4 in /tests (#9976)
Security release addressing CVE-2026-59884, CVE-2026-59885, and CVE-2026-59886.
Equivalent to #9973 for the dev branch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 17:42:28 +02:00
qdrant-cloud-botanddependabot[bot] 3ae11a513c build(deps): bump cryptography from 48.0.0 to 48.0.1 in /tests (#9492)
Bumps [cryptography](https://github.com/pyca/cryptography) from 48.0.0 to 48.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/48.0.0...48.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 48.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-17 10:23:01 +02:00
qdrant-cloud-botandCursor c958e0a74e build(deps): bump pyjwt from 2.12.1 to 2.13.0 in /tests (#9482)
Ports https://github.com/qdrant/qdrant/pull/9480 to dev.

Bumps pyjwt from 2.12.1 to 2.13.0 (security release).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 10:37:56 +02:00
c8a9d26934 build(deps): bump idna from 3.14 to 3.15 in /tests (#9115)
Port of #9098 to dev branch.

Co-authored-by: Cursor Agent <agent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 15:43:38 +02:00
Arnaud Gourlay 1f99a0b589 Bump integration tests Pytho tests (#9011) 2026-05-12 15:53:02 +02:00
Tim Viséeanddependabot[bot] ecb2fb757f build(deps): bump cryptography from 46.0.5 to 46.0.7 in /tests (#8634)
Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.5 to 46.0.7.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.5...46.0.7)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-09 11:30:42 +02:00
Arnaud Gourlay 3f57eb0345 Bump Python CI test deps (#8582) 2026-04-01 11:43:43 +02:00
qdrant-cloud-botandCursor Agent 623db4c2a5 build(deps): bump cryptography from 46.0.5 to 46.0.6 in /tests (#8569)
Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.5 to 46.0.6.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.5...46.0.6)

Made-with: Cursor

Co-authored-by: Cursor Agent <agent@cursor.com>
2026-04-01 10:19:32 +02:00
qdrant-cloud-botandCursor Agent f6acad5086 chore: upgrade test dependencies (#8442)
Run `uv --project tests lock --upgrade` to update all test dependencies
to their latest compatible versions.

Updated packages:
- certifi: 2026.1.4 -> 2026.2.25
- charset-normalizer: 3.4.4 -> 3.4.6
- google-api-core: 2.29.0 -> 2.30.0
- google-auth: 2.48.0 -> 2.49.1
- googleapis-common-protos: 1.72.0 -> 1.73.0
- graphql-core: 3.2.7 -> 3.2.8
- hypothesis: 6.151.6 -> 6.151.9
- numpy: 2.4.2 -> 2.4.3
- pyasn1: 0.6.2 -> 0.6.3
- pyjwt: 2.11.0 -> 2.12.1
- pytest-cases: 3.9.1 -> 3.10.1
- qdrant-client: 1.16.2 -> 1.17.1
- werkzeug: 3.1.5 -> 3.1.6
- yarl: 1.22.0 -> 1.23.0

Removed:
- rsa: 4.9.1 (no longer needed by google-auth)

Made-with: Cursor

Co-authored-by: Cursor Agent <agent@cursor.com>
2026-03-18 11:32:08 +01:00
Arnaud Gourlay 134ffde18f uv dependencies upgrade (#8124) 2026-02-13 12:05:30 +01:00
db4aa33e6e Update Python dependencies: urllib3, protobuf, werkzeug, pyasn1 (#8119)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: agourlay <606963+agourlay@users.noreply.github.com>
2026-02-13 08:21:17 +01:00
tellet-q 2ae05890c5 Move test dependencies to tests (#7793)
* Move pyproject and uv.lock to tests folder

* Make tests working-dir agnostic

* Fix test

* Address review
2025-12-17 15:50:28 +01:00