Skip to content

Conversation

@barkha06
Copy link
Contributor

This PR adds test coverage for multipeer functionality over Wi-Fi, as part of the CBL 3.3.0 release. It includes new test cases, helper functions, topology files, and setup scripts.

Features added :-

Added 9 test cases to cover multipeer scenarios over Wi-Fi (in test_multipeer.py and test_multipeer_system.py).
Created helper functions to support testing different scenarios and reduce code duplication (in couchbaseserver.py and json_generator.py).
Added topology files to define the test network setup (all files preceding with topology).
Included setup and orchestration scripts to configure and run components required for testing (all files in jenkins/pipelines/QE/multiplatform/ directory).
Code from dev team to modify existing test server to include merge-dict conflict resolution testing and additional logging (in servers/ directory).

barkha06 and others added 5 commits October 13, 2025 15:57
Remove mbed TLS server logs, remove all debug TS logs, make log level display properly in remote logger

Rework multipeer replicator status in Android

Only react to what we get from the status updates.  Remove STOPPED after sending it once so that disconnected peers don't cause false detection in tests.

Bump to Java 11 compatibility mode since Java 8 is deprecated.

Implement merge-dict resolver in Android

Fix bug in Android getMultipeerReplStatus

PeerID is not directly serializable, needs to be converted to string first

Adjust for 3.3.0-53 API changes

Create a multipeer dev_e2e pipeline (#240)

* Make a proper name for anonymous certificates

Otherwise there is a needless bottleneck in dns-sd trying to de-duplicate everything.  Now it will be "Test Server #"

The algorithm for calculating the folder name in http logs was wildly incorrect, and so every 100 logs would roll over to the same log files.  Also the test server was using iOS 16 specific API.

Remove no longer accurate or needed dev e2e test

* Add a Jenkins pipeline for dev functional testing

* Tweak Android display to force IPv4 address

* Remove replicator status of the disconnected peers (#236)

Remove replicator status of the disconnected peers so their replicator status will not be included next time.

* Rework multipeer replicator status in Android

Only react to what we get from the status updates.  Remove STOPPED after sending it once so that disconnected peers don't cause false detection in tests.

Bump to Java 11 compatibility mode since Java 8 is deprecated.

* Fix an error in http log folder naming

* Fix bug in Android getMultipeerReplStatus

PeerID is not directly serializable, needs to be converted to string first

* Adjust for 3.3.0-53 API changes

* Fix an issue saving iOS PID from multiple devices

Also mypy and ruff fixes

---------

Co-authored-by: Pasin Suriyentrakorn <pasin@couchbase.com>

CBL-7192: Don't reject a payload because of unknown keys (#241)

This means that any addition in the spec will be invalid until handled properly, which causes dev friction

Fix errors present in Jenkinsfile (#242)

* Put all locks in a single lock statement

* Make CBL_BUILD optional to prepare for its removal

Fix flaw in Android merge-dict conflict resolver

It was setting "docProp" on the resulting dictionary instead of "key"

Update verify_python.sh

Add explicit package bases to tests folder for validation

Use full path in import to account for new setting
* Added merge-dict conflict resolver spec.
* Bump API spec version to 2.0.1.
* Implemented merge-dict resolver in iOS.

Update iOS TestServer to log to console synchronously
@barkha06 barkha06 requested a review from borrrden October 13, 2025 14:06
@github-actions
Copy link

github-actions bot commented Oct 13, 2025

Redocly preview

API

@barkha06 barkha06 self-assigned this Oct 14, 2025
@borrrden borrrden self-requested a review October 24, 2025 22:21
@borrrden borrrden merged commit 0e75783 into main Oct 24, 2025
7 checks passed
@borrrden borrrden deleted the merge-3.3.0 branch October 24, 2025 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants