From 869294058b28f07ae5d418dc33b831e266403575 Mon Sep 17 00:00:00 2001 From: Shane Harvey Date: Fri, 2 Aug 2024 11:14:35 -0700 Subject: [PATCH 1/3] DRIVERS-2951 Test that serverMonitoringMode=poll waits after a successful heartbeat --- .../tests/unified/serverMonitoringMode.json | 64 +++++++++++++++++++ .../tests/unified/serverMonitoringMode.yml | 42 ++++++++++++ 2 files changed, 106 insertions(+) diff --git a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.json b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.json index 7d681b4f9e..5b490f0f50 100644 --- a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.json +++ b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.json @@ -444,6 +444,70 @@ ] } ] + }, + { + "description": "poll waits after successful heartbeat", + "operations": [ + { + "name": "createEntities", + "object": "testRunner", + "arguments": { + "entities": [ + { + "client": { + "id": "client", + "uriOptions": { + "serverMonitoringMode": "poll", + "heartbeatFrequencyMS": 1000000 + }, + "useMultipleMongoses": false, + "observeEvents": [ + "serverHeartbeatStartedEvent", + "serverHeartbeatSucceededEvent", + "serverHeartbeatFailedEvent" + ] + } + }, + { + "database": { + "id": "db", + "client": "client", + "databaseName": "sdam-tests" + } + } + ] + } + }, + { + "name": "waitForEvent", + "object": "testRunner", + "arguments": { + "client": "client", + "event": { + "serverHeartbeatSucceededEvent": {} + }, + "count": 1 + } + }, + { + "name": "wait", + "object": "testRunner", + "arguments": { + "ms": 500 + } + }, + { + "name": "assertEventCount", + "object": "testRunner", + "arguments": { + "client": "client", + "event": { + "serverHeartbeatStartedEvent": {} + }, + "count": 1 + } + } + ] } ] } diff --git a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml index 28c7853d04..0314c7f145 100644 --- a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml +++ b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml @@ -171,3 +171,45 @@ tests: # Wait for the second serverHeartbeatStartedEvent to ensure we do not stream. - *waitForSecondHeartbeatStarted expectEvents: *pollingStartedEvents + + - description: "poll waits after successful heartbeat" + operations: + - name: createEntities + object: testRunner + arguments: + entities: + - client: + id: client + uriOptions: + serverMonitoringMode: "poll" + heartbeatFrequencyMS: 1000000 + useMultipleMongoses: false + observeEvents: + - serverHeartbeatStartedEvent + - serverHeartbeatSucceededEvent + - serverHeartbeatFailedEvent + - database: + id: db + client: client + databaseName: sdam-tests + # Wait for the first serverHeartbeatSucceededEvent to ensure we start polling. + - name: waitForEvent + object: testRunner + arguments: + client: client + event: + serverHeartbeatSucceededEvent: {} + count: 1 + # Wait for a bit longer to ensure we wait heartbeatFrequencyMS before starting the next check. + - name: wait + object: testRunner + arguments: + ms: 500 + - name: assertEventCount + object: testRunner + arguments: + client: client + event: + serverHeartbeatStartedEvent: {} + count: 1 +# expectEvents: *streamingStartedEvents From e91e12e316cfc7f0c2429a9150a8066c5c979a7a Mon Sep 17 00:00:00 2001 From: Shane Harvey Date: Fri, 2 Aug 2024 11:21:31 -0700 Subject: [PATCH 2/3] DRIVERS-2951 Remove unused expectEvents --- .../tests/unified/serverMonitoringMode.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml index 0314c7f145..75204846ab 100644 --- a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml +++ b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml @@ -212,4 +212,3 @@ tests: event: serverHeartbeatStartedEvent: {} count: 1 -# expectEvents: *streamingStartedEvents From 5d7ffe3b4d62d5274467d4b35abe473fb97b96f5 Mon Sep 17 00:00:00 2001 From: Shane Harvey Date: Fri, 2 Aug 2024 14:28:20 -0700 Subject: [PATCH 3/3] DRIVERS-2951 Remove unused serverHeartbeatFailedEvent --- .../tests/unified/serverMonitoringMode.json | 3 +-- .../tests/unified/serverMonitoringMode.yml | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.json b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.json index 5b490f0f50..4b492f7d85 100644 --- a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.json +++ b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.json @@ -463,8 +463,7 @@ "useMultipleMongoses": false, "observeEvents": [ "serverHeartbeatStartedEvent", - "serverHeartbeatSucceededEvent", - "serverHeartbeatFailedEvent" + "serverHeartbeatSucceededEvent" ] } }, diff --git a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml index 75204846ab..5a81f0e1ad 100644 --- a/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml +++ b/source/server-discovery-and-monitoring/tests/unified/serverMonitoringMode.yml @@ -187,7 +187,6 @@ tests: observeEvents: - serverHeartbeatStartedEvent - serverHeartbeatSucceededEvent - - serverHeartbeatFailedEvent - database: id: db client: client