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..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 - } } } @@ -1480,7 +1481,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..1958f2319 --- /dev/null +++ b/run_integration_tests.sh @@ -0,0 +1,12 @@ +#!/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="true" +export TOOLS_TESTING_REPLSET="true" + +echo "Running integration tests for cluster connection ${TOOLS_TESTING_MONGOD}" +go run build.go test:integration +