@@ -3,6 +3,7 @@ package oplog
3
3
import (
4
4
"context"
5
5
"fmt"
6
+ "log"
6
7
"os"
7
8
"testing"
8
9
@@ -17,29 +18,30 @@ var mClient *mongo.Client
17
18
18
19
func TestMain (m * testing.M ) {
19
20
ctx := context .Background ()
20
- mongodbContainer , err := mongodb .Run (ctx , "perconalab/percona-server-mongodb:7.0 " )
21
+ mongodbContainer , err := mongodb .Run (ctx , "perconalab/percona-server-mongodb:8.0.4-multi " )
21
22
if err != nil {
22
- fmt .Fprintf (os .Stderr , "error while creating mongo test container: %v" , err )
23
- return
23
+ log .Fatalf ("error while creating mongo test container: %v" , err )
24
24
}
25
- defer func () {
26
- if err := testcontainers .TerminateContainer (mongodbContainer ); err != nil {
27
- fmt .Fprintf (os .Stderr , "failed to terminate container: %s" , err )
28
- }
29
- }()
30
-
31
25
connStr , err := mongodbContainer .ConnectionString (ctx )
32
26
if err != nil {
33
- fmt .Fprintf (os .Stderr , "conn string error: %v" , err )
34
- return
27
+ log .Fatalf ("conn string error: %v" , err )
35
28
}
36
29
mClient , err = mongo .Connect (ctx , options .Client ().ApplyURI (connStr ))
37
30
if err != nil {
38
- fmt .Fprintf (os .Stderr , "mongo client connect error: %v" , err )
39
- return
31
+ log .Fatalf ("mongo client connect error: %v" , err )
32
+ }
33
+
34
+ code := m .Run ()
35
+
36
+ err = mClient .Disconnect (ctx )
37
+ if err != nil {
38
+ log .Fatalf ("mongo client disconnect error: %v" , err )
39
+ }
40
+ if err := testcontainers .TerminateContainer (mongodbContainer ); err != nil {
41
+ log .Fatalf ("failed to terminate container: %s" , err )
40
42
}
41
43
42
- m . Run ( )
44
+ os . Exit ( code )
43
45
}
44
46
45
47
func TestGetUUIDForNSv2 (t * testing.T ) {
0 commit comments