From f2ab71fc62f74917d334b7806aed6966cbc73376 Mon Sep 17 00:00:00 2001 From: Geethanjali Nagaboina Date: Sun, 14 Jun 2026 16:11:10 -0400 Subject: [PATCH 1/2] Add zero rate edge case test (closes #208) Signed-off-by: geethanjali-29 --- .../misc/sampleRate/test_smoke_sampleRate.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/documentdb_tests/compatibility/tests/core/operator/expressions/misc/sampleRate/test_smoke_sampleRate.py b/documentdb_tests/compatibility/tests/core/operator/expressions/misc/sampleRate/test_smoke_sampleRate.py index e555d4ef5..0600dfac6 100644 --- a/documentdb_tests/compatibility/tests/core/operator/expressions/misc/sampleRate/test_smoke_sampleRate.py +++ b/documentdb_tests/compatibility/tests/core/operator/expressions/misc/sampleRate/test_smoke_sampleRate.py @@ -29,3 +29,21 @@ def test_smoke_sampleRate(collection): expected = [{"_id": 1, "value": 10}, {"_id": 2, "value": 20}, {"_id": 3, "value": 30}] assertSuccess(result, expected, msg="Should support $sampleRate expression") + + +def test_smoke_sampleRate_zero(collection): + """Test $sampleRate with rate=0.0 returns no documents.""" + collection.insert_many( + [{"_id": 1, "value": 10}, {"_id": 2, "value": 20}, {"_id": 3, "value": 30}] + ) + + result = execute_command( + collection, + { + "aggregate": collection.name, + "pipeline": [{"$match": {"$sampleRate": 0.0}}], + "cursor": {}, + }, + ) + + assertSuccess(result, [], msg="$sampleRate 0.0 should return no documents") From 7201400bad56343f9c3eb436f2ba04674c5fefac Mon Sep 17 00:00:00 2001 From: geethanjali-29 Date: Sat, 20 Jun 2026 12:20:10 -0400 Subject: [PATCH 2/2] feat: add smoke tests for $sampleRate operator (rate=0.0 and rate=1.0 boundary cases) Signed-off-by: geethanjali-29 --- .../misc/sampleRate/test_smoke_sampleRate.py | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/documentdb_tests/compatibility/tests/core/operator/expressions/misc/sampleRate/test_smoke_sampleRate.py b/documentdb_tests/compatibility/tests/core/operator/expressions/misc/sampleRate/test_smoke_sampleRate.py index 0600dfac6..5d9387f0a 100644 --- a/documentdb_tests/compatibility/tests/core/operator/expressions/misc/sampleRate/test_smoke_sampleRate.py +++ b/documentdb_tests/compatibility/tests/core/operator/expressions/misc/sampleRate/test_smoke_sampleRate.py @@ -1,7 +1,7 @@ """ Smoke test for $sampleRate expression. -Tests basic $sampleRate expression functionality. +Tests basic $sampleRate match expression functionality. """ import pytest @@ -12,11 +12,9 @@ pytestmark = pytest.mark.smoke -def test_smoke_sampleRate(collection): - """Test basic $sampleRate expression behavior.""" - collection.insert_many( - [{"_id": 1, "value": 10}, {"_id": 2, "value": 20}, {"_id": 3, "value": 30}] - ) +def test_smoke_sampleRate_rate_one(collection): + """Test $sampleRate: 1.0 returns all documents (deterministic upper boundary).""" + collection.insert_many([{"_id": 1, "val": "a"}, {"_id": 2, "val": "b"}, {"_id": 3, "val": "c"}]) result = execute_command( collection, @@ -27,15 +25,13 @@ def test_smoke_sampleRate(collection): }, ) - expected = [{"_id": 1, "value": 10}, {"_id": 2, "value": 20}, {"_id": 3, "value": 30}] - assertSuccess(result, expected, msg="Should support $sampleRate expression") + expected = [{"_id": 1, "val": "a"}, {"_id": 2, "val": "b"}, {"_id": 3, "val": "c"}] + assertSuccess(result, expected, msg="$sampleRate: 1.0 should return all documents") -def test_smoke_sampleRate_zero(collection): - """Test $sampleRate with rate=0.0 returns no documents.""" - collection.insert_many( - [{"_id": 1, "value": 10}, {"_id": 2, "value": 20}, {"_id": 3, "value": 30}] - ) +def test_smoke_sampleRate_rate_zero(collection): + """Test $sampleRate: 0.0 returns no documents (deterministic lower boundary).""" + collection.insert_many([{"_id": 1, "val": "a"}, {"_id": 2, "val": "b"}, {"_id": 3, "val": "c"}]) result = execute_command( collection, @@ -46,4 +42,5 @@ def test_smoke_sampleRate_zero(collection): }, ) - assertSuccess(result, [], msg="$sampleRate 0.0 should return no documents") + expected = [] + assertSuccess(result, expected, msg="$sampleRate: 0.0 should return no documents")