Skip to content

Commit fa9ba8e

Browse files
committed
WIP
1 parent b93126a commit fa9ba8e

File tree

1 file changed

+39
-2
lines changed

1 file changed

+39
-2
lines changed

internal/integration/sessions_test.go

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -589,12 +589,49 @@ func TestSessionsProse(t *testing.T) {
589589

590590
require.Len(mt, pingStartedCommands, 2, "expected 2 pings started, got: %v", len(pingStartedCommands))
591591
require.Len(mt, pingSucceededCommands, 2, "expected 2 pings succeeded, got: %v", len(pingSucceededCommands))
592-
initialClusterTime, err := pingStartedCommands[0].LookupErr("$clusterTime")
592+
initialClusterTime, err := pingSucceededCommands[0].LookupErr("$clusterTime")
593593
require.NoError(mt, err, "$clusterTime not found in response")
594594
currentClusterTime, err := pingStartedCommands[1].LookupErr("$clusterTime")
595595
require.NoError(mt, err, "$clusterTime not found in command")
596596
assert.Equal(mt, initialClusterTime, currentClusterTime, "expected same cluster time, got %v and %v", initialClusterTime, currentClusterTime)
597-
mt.Fatalf("$clusterTime: %v %v", initialClusterTime, currentClusterTime)
597+
})
598+
599+
mt.Run("ping test", func(mt *mtest.T) {
600+
serverMonitor := &event.ServerMonitor{
601+
ServerHeartbeatStarted: func(e *event.ServerHeartbeatStartedEvent) {
602+
fmt.Println("Server heartbeat started:", e.ConnectionID)
603+
},
604+
ServerHeartbeatSucceeded: func(e *event.ServerHeartbeatSucceededEvent) {
605+
fmt.Println("Server heartbeat succeeded:", e.ConnectionID, e.Duration, e.Reply)
606+
},
607+
}
608+
609+
commandMonitor := &event.CommandMonitor{
610+
Started: func(_ context.Context, cse *event.CommandStartedEvent) {
611+
fmt.Println("Command started:", cse.CommandName, cse.Command)
612+
},
613+
Succeeded: func(_ context.Context, cse *event.CommandSucceededEvent) {
614+
fmt.Println("Command succeeded:", cse.CommandName, cse.Reply)
615+
},
616+
}
617+
618+
opts := options.Client().
619+
ApplyURI(mtest.ClusterURI()).
620+
SetHosts([]string{mtest.ClusterConnString().Hosts[0]}).
621+
SetDirect(true).
622+
SetHeartbeatInterval(500 * time.Millisecond). // Minimum interval
623+
SetServerMonitor(serverMonitor).
624+
SetMonitor(commandMonitor)
625+
626+
client, err := mongo.Connect(opts)
627+
require.NoError(mt, err, "expected no error connecting to client, got: %v", err)
628+
defer func() {
629+
err = client.Disconnect(context.Background())
630+
require.NoError(mt, err, "expected no error disconnecting client, got: %v", err)
631+
}()
632+
633+
err = client.Ping(context.Background(), readpref.Primary())
634+
require.NoError(mt, err, "expected no error, got: %v", err)
598635
})
599636
}
600637

0 commit comments

Comments
 (0)