Merge branch 'master' of github.com:mongodb/mongo-python-driver

This commit is contained in:
Steven Silvester 2025-03-27 19:44:32 -05:00
commit cecaa7f61e
No known key found for this signature in database
GPG Key ID: B1BF5EC3A8B32F91
6 changed files with 285 additions and 69 deletions

View File

@ -805,7 +805,7 @@ tasks:
SUB_TEST_NAME: azure-fail
# Load balancer tests
- name: test-load-balancer-auth-ssl
- name: test-load-balancer-auth-ssl-v6.0
commands:
- func: run server
vars:
@ -813,13 +813,74 @@ tasks:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "6.0"
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-noauth-ssl
- name: test-load-balancer-auth-ssl-v7.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "7.0"
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-auth-ssl-v8.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "8.0"
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-auth-ssl-rapid
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: rapid
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-auth-ssl-latest
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
VERSION: latest
- func: run tests
vars:
AUTH: auth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, auth, ssl]
- name: test-load-balancer-noauth-ssl-v6.0
commands:
- func: run server
vars:
@ -827,13 +888,74 @@ tasks:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "6.0"
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-nossl
- name: test-load-balancer-noauth-ssl-v7.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "7.0"
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-ssl-v8.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: "8.0"
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-ssl-rapid
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: rapid
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-ssl-latest
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
VERSION: latest
- func: run tests
vars:
AUTH: noauth
SSL: ssl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, ssl]
- name: test-load-balancer-noauth-nossl-v6.0
commands:
- func: run server
vars:
@ -841,6 +963,67 @@ tasks:
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: "6.0"
- func: run tests
vars:
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, nossl]
- name: test-load-balancer-noauth-nossl-v7.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: "7.0"
- func: run tests
vars:
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, nossl]
- name: test-load-balancer-noauth-nossl-v8.0
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: "8.0"
- func: run tests
vars:
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, nossl]
- name: test-load-balancer-noauth-nossl-rapid
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: rapid
- func: run tests
vars:
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
tags: [load-balancer, noauth, nossl]
- name: test-load-balancer-noauth-nossl-latest
commands:
- func: run server
vars:
TOPOLOGY: sharded_cluster
AUTH: noauth
SSL: nossl
TEST_NAME: load_balancer
VERSION: latest
- func: run tests
vars:
AUTH: noauth

View File

@ -599,56 +599,13 @@ buildvariants:
PYTHON_BINARY: /opt/python/3.13/bin/python3
# Load balancer tests
- name: load-balancer-rhel8-v6.0-python3.9
- name: load-balancer
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 v6.0 Python3.9
display_name: Load Balancer
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: "6.0"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: load-balancer-rhel8-v7.0-python3.9
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 v7.0 Python3.9
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: "7.0"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: load-balancer-rhel8-v8.0-python3.9
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 v8.0 Python3.9
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: "8.0"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: load-balancer-rhel8-rapid-python3.9
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 rapid Python3.9
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: rapid
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: load-balancer-rhel8-latest-python3.9
tasks:
- name: .load-balancer
display_name: Load Balancer RHEL8 latest Python3.9
run_on:
- rhel87-small
batchtime: 10080
expansions:
VERSION: latest
PYTHON_BINARY: /opt/python/3.9/bin/python3
# Mockupdb tests
- name: mockupdb-rhel8-python3.9

View File

@ -413,23 +413,11 @@ def create_encryption_variants() -> list[BuildVariant]:
def create_load_balancer_variants():
# Load balancer tests - run all supported server versions using the lowest supported python.
host = DEFAULT_HOST
batchtime = BATCHTIME_WEEK
versions = get_versions_from("6.0")
variants = []
for version in versions:
python = CPYTHONS[0]
display_name = get_variant_name("Load Balancer", host, python=python, version=version)
variant = create_variant(
[".load-balancer"],
display_name,
python=python,
host=host,
version=version,
batchtime=batchtime,
return [
create_variant(
[".load-balancer"], "Load Balancer", host=DEFAULT_HOST, batchtime=BATCHTIME_WEEK
)
variants.append(variant)
return variants
]
def create_compression_variants():
@ -830,11 +818,15 @@ def create_server_tasks():
def create_load_balancer_tasks():
tasks = []
for auth, ssl in AUTH_SSLS:
name = f"test-load-balancer-{auth}-{ssl}".lower()
for (auth, ssl), version in product(AUTH_SSLS, get_versions_from("6.0")):
name = get_task_name(f"test-load-balancer-{auth}-{ssl}", version=version)
tags = ["load-balancer", auth, ssl]
server_vars = dict(
TOPOLOGY="sharded_cluster", AUTH=auth, SSL=ssl, TEST_NAME="load_balancer"
TOPOLOGY="sharded_cluster",
AUTH=auth,
SSL=ssl,
TEST_NAME="load_balancer",
VERSION=version,
)
server_func = FunctionCall(func="run server", vars=server_vars)
test_vars = dict(AUTH=auth, SSL=ssl, TEST_NAME="load_balancer")

View File

@ -195,7 +195,7 @@
"object": "collection1",
"name": "estimatedDocumentCount",
"expectError": {
"isError": true
"isClientError": true
}
}
],
@ -241,7 +241,7 @@
"object": "collection0",
"name": "estimatedDocumentCount",
"expectError": {
"isError": true
"isClientError": true
}
}
],

View File

@ -0,0 +1,74 @@
{
"description": "expectedError-isClientError",
"schemaVersion": "1.3",
"runOnRequirements": [
{
"minServerVersion": "4.0",
"topologies": [
"single",
"replicaset"
]
},
{
"minServerVersion": "4.1.7",
"topologies": [
"sharded",
"load-balanced"
]
}
],
"createEntities": [
{
"client": {
"id": "client0",
"useMultipleMongoses": false
}
},
{
"database": {
"id": "database0",
"client": "client0",
"databaseName": "test"
}
}
],
"tests": [
{
"description": "isClientError considers network errors",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "client0",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"ping"
],
"closeConnection": true
}
}
}
},
{
"name": "runCommand",
"object": "database0",
"arguments": {
"commandName": "ping",
"command": {
"ping": 1
}
},
"expectError": {
"isClientError": true
}
}
]
}
]
}

View File

@ -0,0 +1,10 @@
{
"description": "operation-empty_array",
"schemaVersion": "1.0",
"tests": [
{
"description": "Empty operations array",
"operations": []
}
]
}