From 2f7d75f804cfdc77126b1a8ecece1d498c780f67 Mon Sep 17 00:00:00 2001 From: Richard Cownie Date: Fri, 1 Aug 2025 16:47:10 -0400 Subject: [PATCH 1/2] use run_integration_tests.sh to run tests against disagg cluster runs tests against disagg --- common/testutil/testutil.go | 6 +++++- mongodump/mongodump_test.go | 6 +++++- rcownie_disagg1 | 1 + run_integration_tests.sh | 11 +++++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 rcownie_disagg1 create mode 100755 run_integration_tests.sh diff --git a/common/testutil/testutil.go b/common/testutil/testutil.go index 8e2bffc1b..cf0118907 100644 --- a/common/testutil/testutil.go +++ b/common/testutil/testutil.go @@ -40,12 +40,14 @@ func GetBareSession() (*mongo.Client, error) { // GetBareSessionProvider returns a session provider from the environment or // from a default host and port. func GetBareSessionProvider() (*db.SessionProvider, *options.ToolOptions, error) { + fmt.Printf("-- GetBareSessionProvider ...\n") var toolOptions *options.ToolOptions // get ToolOptions from URI or defaults if uri := os.Getenv("TOOLS_TESTING_MONGOD"); uri != "" { + fmt.Printf("-- GetBareSessionProvider --uri=%s ...\n", uri) fakeArgs := []string{"--uri=" + uri} - toolOptions = options.New("mongodump", "", "", "", true, options.EnabledOptions{URI: true}) + toolOptions = options.New("mongodump", "", "", "", true, options.EnabledOptions{Auth: true, URI: true}) _, err := toolOptions.ParseArgs(fakeArgs) if err != nil { panic(fmt.Sprintf("Could not parse TOOLS_TESTING_MONGOD environment variable: %v", err)) @@ -70,10 +72,12 @@ func GetBareSessionProvider() (*db.SessionProvider, *options.ToolOptions, error) if err != nil { return nil, nil, err } + fmt.Printf("-- db.NewSessionProvider ...\n") sessionProvider, err := db.NewSessionProvider(*toolOptions) if err != nil { return nil, nil, err } + fmt.Printf("-- db.NewSessionProvider done\n") return sessionProvider, toolOptions, nil } diff --git a/mongodump/mongodump_test.go b/mongodump/mongodump_test.go index 5531315a9..5ab7e113f 100644 --- a/mongodump/mongodump_test.go +++ b/mongodump/mongodump_test.go @@ -1480,7 +1480,11 @@ func TestMongoDumpTOOLS2498(t *testing.T) { // during this period. Before the fix, the process will panic with Nil pointer error since it fails to getCollectionInfo. go func() { time.Sleep(2 * time.Second) - session, _ := md.SessionProvider.GetSession() + session, err := md.SessionProvider.GetSession() + if err != nil { + t.Fatalf("Error from GetSession: %v", err) + return + } disconnectErr = session.Disconnect(context.Background()) }() diff --git a/rcownie_disagg1 b/rcownie_disagg1 new file mode 100644 index 000000000..eb9571763 --- /dev/null +++ b/rcownie_disagg1 @@ -0,0 +1 @@ +This branch is for work related to disaggregated storage testing. diff --git a/run_integration_tests.sh b/run_integration_tests.sh new file mode 100755 index 000000000..3f8db0e49 --- /dev/null +++ b/run_integration_tests.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Set environment variables here for the cluster to be tested. +export TOOLS_TESTING_AUTH_USERNAME="rcownie" +export TOOLS_TESTING_AUTH_PASSWORD="penguin" +export TOOLS_TESTING_MONGOD="mongodb+srv://rcownie:penguin@rcownie1.aswvt.mongodb-dev.net/?retryWrites=true&w=majority&appName=rcownie1" +export TOOLS_TESTING_AUTH="non-empty-string" + +echo "Running integration tests for cluster connection ${TOOLS_TESTING_MONGOD}" +go run build.go test:integration + From a47edd0925b8723506937672c12db758f9796b54 Mon Sep 17 00:00:00 2001 From: Richard Cownie Date: Sat, 30 Aug 2025 08:11:29 -0400 Subject: [PATCH 2/2] fixed create index before add docs --- mongodump/mongodump_test.go | 15 ++++++++------- run_integration_tests.sh | 3 ++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/mongodump/mongodump_test.go b/mongodump/mongodump_test.go index 5ab7e113f..07733ed64 100644 --- a/mongodump/mongodump_test.go +++ b/mongodump/mongodump_test.go @@ -265,6 +265,14 @@ func setUpMongoDumpTestData() error { for i, collectionName := range testCollectionNames { coll := session.Database(testDB).Collection(collectionName) + idx := mongo.IndexModel{ + Keys: bson.M{`"`: 1}, + } + _, err = coll.Indexes().CreateOne(context.Background(), idx) + if err != nil { + return err + } + for j := 0; j < 10*(i+1); j++ { _, err = coll.InsertOne( context.Background(), @@ -279,13 +287,6 @@ func setUpMongoDumpTestData() error { return err } - idx := mongo.IndexModel{ - Keys: bson.M{`"`: 1}, - } - _, err = coll.Indexes().CreateOne(context.Background(), idx) - if err != nil { - return err - } } } diff --git a/run_integration_tests.sh b/run_integration_tests.sh index 3f8db0e49..1958f2319 100755 --- a/run_integration_tests.sh +++ b/run_integration_tests.sh @@ -4,7 +4,8 @@ export TOOLS_TESTING_AUTH_USERNAME="rcownie" export TOOLS_TESTING_AUTH_PASSWORD="penguin" export TOOLS_TESTING_MONGOD="mongodb+srv://rcownie:penguin@rcownie1.aswvt.mongodb-dev.net/?retryWrites=true&w=majority&appName=rcownie1" -export TOOLS_TESTING_AUTH="non-empty-string" +export TOOLS_TESTING_AUTH="true" +export TOOLS_TESTING_REPLSET="true" echo "Running integration tests for cluster connection ${TOOLS_TESTING_MONGOD}" go run build.go test:integration