Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
5dcd7af
Added code for VM orchestration
sanjivanipatrax Dec 24, 2024
a97f13f
Added code to generate config.json using pool.json
sanjivanipatrax Dec 27, 2024
ea9e8b3
Added code to uninstall existing couchbase server installations on VMs
sanjivanipatrax Jan 2, 2025
d468bb9
Added code to install couchbase server in VMs specified in config file
sanjivanipatrax Jan 2, 2025
3684821
Added sync gateway clean-up code
sanjivanipatrax Jan 8, 2025
09ebda8
Added code to install sync gateway in VMs specified in config file
sanjivanipatrax Jan 8, 2025
07476a8
REST API changes
barkha06 Jan 11, 2025
73b4c52
Added code to configure couchbase cluster
sanjivanipatrax Jan 15, 2025
b0b6ac1
Added code to install edge server on VM
sanjivanipatrax Jan 15, 2025
59e2689
Added support for doc crud testing
barkha06 Jan 15, 2025
8233199
Made generate_config code cleaner
sanjivanipatrax Jan 16, 2025
276563d
Changed edge server start command based on changes made to product
sanjivanipatrax Jan 19, 2025
860bd57
E2E testcase boilerplate code added
sanjivanipatrax Jan 19, 2025
6230493
Added support for multiple http clients
barkha06 Jan 19, 2025
ec1014a
Removed dynamic config files
barkha06 Jan 19, 2025
b91d99b
Fixes for uninstall failing
sanjivanipatrax Jan 27, 2025
3bf5222
Modified Edge server and HTTP client classes. Added cert and db insta…
barkha06 Jan 30, 2025
c7aa677
Merge changes
sanjivanipatrax Jan 30, 2025
7bb41e8
Added E2E testcases
sanjivanipatrax Jan 30, 2025
6e10063
Added system test cases for one client
sanjivanipatrax Jan 30, 2025
6271352
Added support to modify users, modify configs in edge server
barkha06 Feb 4, 2025
07eeaf0
Authentication and Replication tests
barkha06 Feb 16, 2025
ca4accd
CRUD tests
barkha06 Feb 16, 2025
7f6a600
Chaos test
barkha06 Feb 16, 2025
301ef30
Added script to dynamically update sync gateway IP in config based on…
sanjivanipatrax Feb 24, 2025
6c16f40
Added script to dynamically update server IP in config based on VMs a…
sanjivanipatrax Feb 24, 2025
f1e25d6
Added test cases for changes feed testing
sanjivanipatrax Feb 24, 2025
9ef67b8
Added tests for testing database uuid reset
sanjivanipatrax Feb 24, 2025
dd48946
Added test cases for testing logging configuration
sanjivanipatrax Feb 24, 2025
7971319
Modified edge server install and uninstall scripts to account for it …
sanjivanipatrax Feb 24, 2025
e65d17b
Added test case for edge server end to end testing
sanjivanipatrax Feb 24, 2025
c4c2cb6
Added test cases for edge server system testing
sanjivanipatrax Feb 24, 2025
48c1403
Added few helper functions that are required by tests
sanjivanipatrax Feb 24, 2025
7488e54
Modified functions added to make response return as RemoteDocument ob…
sanjivanipatrax Feb 24, 2025
100eedb
Added additional requirements in requirements.txt
sanjivanipatrax Feb 24, 2025
a1aa7ad
Added end_to_end test in TEST_COMPONENTS_MAPPING
sanjivanipatrax Feb 24, 2025
c49058d
Added few edge server configs for the tests
sanjivanipatrax Feb 24, 2025
5b12377
Added sync gateway bootstrap config
sanjivanipatrax Feb 24, 2025
a4e873f
Added edge server sample config
sanjivanipatrax Feb 24, 2025
bcfd8b7
Modified tests to setup edge server as a systemd service
barkha06 Feb 24, 2025
9e2449b
Modified requirements.txt
barkha06 Mar 4, 2025
5621ff1
Add command to ensure sshpass exists else install it
sanjivanipatrax Mar 5, 2025
9c74604
Added await for connect()
sanjivanipatrax Mar 5, 2025
a9db825
Ensured functions are async which have awaited commands
sanjivanipatrax Mar 5, 2025
e445285
Added asyncio for main
sanjivanipatrax Mar 5, 2025
67b146e
Awaiting run commands for asyncssh
sanjivanipatrax Mar 5, 2025
027e69b
Changed command to install sshpass if missing
sanjivanipatrax Mar 6, 2025
55d0b7d
Fixed a typo in vm provisioning script
sanjivanipatrax Mar 6, 2025
c7d4099
Added function to install sshpass in install scripts
sanjivanipatrax Mar 6, 2025
127e2b3
Changed function for installing sshpass to VM
sanjivanipatrax Mar 6, 2025
c55f168
Added full path for sshpass
sanjivanipatrax Mar 6, 2025
b157f09
Changed all install scripts to use paramiko
sanjivanipatrax Mar 10, 2025
e3d4316
Uncommented code
sanjivanipatrax Mar 10, 2025
b33fbed
Modified it to use paramiko and not sshpass
sanjivanipatrax Mar 10, 2025
a499336
Reduced RAM allocation since VMs don't have enough RAM
sanjivanipatrax Mar 10, 2025
6958f2e
Moved the configs
sanjivanipatrax Mar 10, 2025
55d06ac
Added code to fix hostname in uninstall scripts
sanjivanipatrax Mar 10, 2025
26f10e5
Removed strip() for hostnames
sanjivanipatrax Mar 10, 2025
28504f0
Added code to fix hostname in edge server VMs
sanjivanipatrax Mar 10, 2025
231a175
Updated requirements.txt
sanjivanipatrax Mar 11, 2025
38656af
Updated requirements.txt to include new modules used in edgeserver.py…
sanjivanipatrax Mar 11, 2025
a0bff51
Updated generate_config.py to account for http-clients
sanjivanipatrax Mar 11, 2025
9c4abc6
Changed script used to configure cluster
sanjivanipatrax Mar 11, 2025
d2ccb87
Changed RAM quota for Server bucket
sanjivanipatrax Mar 11, 2025
2306c18
Changed config file path for edge server
sanjivanipatrax Mar 11, 2025
542be55
Changed edge server config path
sanjivanipatrax Mar 12, 2025
1aee121
Added use_views in sync gateway database payload
sanjivanipatrax Mar 12, 2025
cda23a9
Changed boolean value
sanjivanipatrax Mar 12, 2025
4c73f0b
Removed use_views from database payload
sanjivanipatrax Mar 13, 2025
cca574b
Changed the pool from which VMs are picked up
sanjivanipatrax Mar 24, 2025
6fa5c13
Set default os for edge server tests as ubuntu
sanjivanipatrax Mar 24, 2025
65c7b85
Changed the way edge server VMs are found
sanjivanipatrax Mar 24, 2025
c9d9240
Corrected syntax for subdoc operations
sanjivanipatrax Mar 24, 2025
fa71191
Corrected syntax for subdoc operations
sanjivanipatrax Mar 24, 2025
7526ceb
Made changes to verify user in script for configuring cluster
sanjivanipatrax Mar 24, 2025
3c60d9f
Changed install script for edge server for check for edge server running
sanjivanipatrax Mar 24, 2025
57692a5
Fixed sync gateway uninstall script
sanjivanipatrax Mar 24, 2025
6b6c008
Refactored install and uninstall scripts
sanjivanipatrax Mar 28, 2025
b27cfea
Refactored Couchbase server uninstall script
sanjivanipatrax Mar 28, 2025
3e33df5
Changed path for sgw config
sanjivanipatrax Mar 31, 2025
0704700
Changed path for sgw config
sanjivanipatrax Mar 31, 2025
a2c9902
Changed pool.json
sanjivanipatrax Apr 2, 2025
7537b8b
Refactored uninstall scripts
sanjivanipatrax Apr 7, 2025
2d2c9bd
Categorized tests into edge server
sanjivanipatrax Apr 7, 2025
1fa683e
Added VM config for tests
barkha06 Apr 7, 2025
2a3afc2
Added certs and user config to installation script
barkha06 Apr 7, 2025
c45ea99
Updated script to take path to edge server config
sanjivanipatrax Apr 14, 2025
7df1832
Uncommented code which was commented for debugging purposes
sanjivanipatrax Apr 14, 2025
6e58cc0
Resolved merge conflicts
sanjivanipatrax Apr 14, 2025
cb1c759
Added images used in blobs tests
sanjivanipatrax Apr 14, 2025
9ef79e6
Adding blobs test code
sanjivanipatrax Apr 14, 2025
2949666
Changed http to ws in IP
sanjivanipatrax May 21, 2025
60b8ec1
Added helper functions for edge server: to take it offline and bring …
sanjivanipatrax Sep 1, 2025
ddabfa5
Fixed a typo
sanjivanipatrax Sep 1, 2025
1fbe879
Updated default version and build to recent Couchbase build
sanjivanipatrax Sep 1, 2025
d9115b0
Added test case for conflict resolution
sanjivanipatrax Sep 1, 2025
2a0619d
Added query edge-server tests
barkha06 Oct 29, 2025
2fe1846
Restore conf.py and prepare branch for sync
sanjivanipatrax Oct 29, 2025
2b6f023
Moved tests to QE folder
sanjivanipatrax Oct 29, 2025
2a51bf0
Removed unused packages
sanjivanipatrax Oct 29, 2025
11eb849
Removed redundant code
sanjivanipatrax Oct 29, 2025
f873044
Apply automatic Ruff fixes
sanjivanipatrax Oct 29, 2025
aa97736
Fixes based on ruff checks
sanjivanipatrax Oct 29, 2025
cb77d71
After ruff format
sanjivanipatrax Oct 30, 2025
4f0e665
Cleaned code
sanjivanipatrax Oct 31, 2025
a2ff87e
Ruff changes
sanjivanipatrax Oct 31, 2025
7556dff
JS Server work
snej Oct 29, 2025
276e601
Ruff changes
sanjivanipatrax Oct 31, 2025
dd7c7cc
Fix mypy failures
sanjivanipatrax Oct 31, 2025
391aaed
After ruff fixes
sanjivanipatrax Oct 31, 2025
1488960
Mypy fixes
sanjivanipatrax Oct 31, 2025
9fad715
Mypy fixes
sanjivanipatrax Oct 31, 2025
fcc54c7
Mypy fixes
sanjivanipatrax Oct 31, 2025
b1f495b
Mypy fixes
sanjivanipatrax Oct 31, 2025
b3c2b7c
Move selected images to Git LFS
sanjivanipatrax Nov 3, 2025
9719de4
Removed all nameof usage
sanjivanipatrax Nov 3, 2025
6380eee
Changed signature to not use Optional but use |
sanjivanipatrax Nov 3, 2025
129c7e2
Removed confligure-cluster.sh
sanjivanipatrax Nov 3, 2025
f31ed35
After ruff checks
sanjivanipatrax Nov 3, 2025
16499e5
Added action to install python 3.10.10 for uv setup
sanjivanipatrax Nov 4, 2025
539d92c
Removed additional add_document function from couchbaseserver.py and …
barkha06 Nov 12, 2025
be27b1e
Fixed duplicated code
barkha06 Nov 13, 2025
da7e27c
Ruff checks
sanjivanipatrax Nov 17, 2025
220775e
Fixed the merge conflicts
sanjivanipatrax Nov 17, 2025
269d2bf
Added spec files for multipeer functional tests (#311)
sanjivanipatrax Nov 13, 2025
1d47712
Added 2 new tests related to the SGW database - CBS bucket connectivi…
vipbhardwaj Nov 14, 2025
fd8bfaf
Ruff formats
sanjivanipatrax Nov 17, 2025
1bfffa1
Removed python version file, and changes to workflow
barkha06 Nov 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ dataset/server/**/*.jpg filter=lfs diff=lfs merge=lfs -text
dataset/server/**/*.png filter=lfs diff=lfs merge=lfs -text
dataset/server/**/*.blob filter=lfs diff=lfs merge=lfs -text
dataset/couchbase-server/**/*.zip filter=lfs diff=lfs merge=lfs -text
resources/images/20mb.jpg filter=lfs diff=lfs merge=lfs -text
resources/images/test.png filter=lfs diff=lfs merge=lfs -text
resources/images/test2.png filter=lfs diff=lfs merge=lfs -text
2 changes: 1 addition & 1 deletion .github/workflows/python_verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,4 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/ruff-action@v3
- uses: astral-sh/ruff-action@v3
2 changes: 2 additions & 0 deletions client/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ dependencies = [
"aiohttp==3.11.11",
"aiosignal==1.3.2",
"async-timeout==5.0.1",
"asyncssh==2.19.0",
"attrs==24.3.0",
"bcrypt==4.2.1",
"certifi==2024.12.14",
Expand Down Expand Up @@ -57,6 +58,7 @@ dependencies = [
"propcache==0.2.1",
"protobuf==5.29.3",
"pycparser==2.22",
"pyjson5==2.0.0",
"PyNaCl==1.5.0",
"pytest==8.3.4",
"pytest-asyncio==0.25.2",
Expand Down
22 changes: 22 additions & 0 deletions client/src/cbltest/__init__.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
from json import dumps

from .api.couchbaseserver import CouchbaseServer
from .api.edgeserver import EdgeServer
from .api.syncgateway import SyncGateway
from .api.testserver import TestServer
from .assertions import _assert_not_null
from .configparser import (
CouchbaseServerInfo,
EdgeServerInfo,
HTTPClientInfo,
ParsedConfig,
SyncGatewayInfo,
TestServerInfo,
Expand Down Expand Up @@ -63,6 +66,14 @@ def load_balancers(self) -> list[str]:
"""Gets the list of Load Balancers available"""
return self.__config.load_balancers

@property
def edge_servers(self) -> list[EdgeServer]:
return self.__edge_servers

@property
def http_clients(self) -> list[str]:
return self.__http_clients

@staticmethod
async def create(
config_path: str,
Expand Down Expand Up @@ -140,6 +151,17 @@ def __init__(
cbs_info.hostname, cbs_info.admin_user, cbs_info.admin_password
)
)
self.__edge_servers: list[EdgeServer] = []
if not test_server_only:
for es in self.__config.edge_servers:
es_info = EdgeServerInfo(es)
self.__edge_servers.append(EdgeServer(es_info.hostname))

self.__http_clients: list[str] = []
if not test_server_only:
for http in self.__config.http_clients:
h_info = HTTPClientInfo(http)
self.__http_clients.append(h_info.hostname)

async def close(self) -> None:
"""
Expand Down
Loading