github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/tests/integration/monitoring_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package integration 5 6 import ( 7 "context" 8 "os" 9 "testing" 10 11 "github.com/stretchr/testify/require" 12 "github.com/ydb-platform/ydb-go-genproto/Ydb_Monitoring_V1" 13 "github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Monitoring" 14 15 "github.com/ydb-platform/ydb-go-sdk/v3" 16 "github.com/ydb-platform/ydb-go-sdk/v3/internal/xtest" 17 "github.com/ydb-platform/ydb-go-sdk/v3/retry" 18 ) 19 20 func TestMonitoring(t *testing.T) { 21 ctx := xtest.Context(t) 22 23 db, err := ydb.Open(ctx, os.Getenv("YDB_CONNECTION_STRING")) 24 if err != nil { 25 t.Fatal(err) 26 } 27 defer func() { 28 // cleanup connection 29 if e := db.Close(ctx); e != nil { 30 t.Fatalf("close failed: %+v", e) 31 } 32 }() 33 t.Run("monitoring.SelfCheck", func(t *testing.T) { 34 err = retry.Retry(ctx, func(ctx context.Context) (err error) { 35 client := Ydb_Monitoring_V1.NewMonitoringServiceClient(ydb.GRPCConn(db)) 36 response, err := client.SelfCheck(ctx, &Ydb_Monitoring.SelfCheckRequest{ 37 OperationParams: nil, 38 ReturnVerboseStatus: false, 39 MinimumStatus: 0, 40 MaximumLevel: 0, 41 }) 42 if err != nil { 43 return err 44 } 45 var result Ydb_Monitoring.SelfCheckResult 46 err = response.Operation.Result.UnmarshalTo(&result) 47 if err != nil { 48 return err 49 } 50 t.Logf("%+v\n", &result) 51 return nil 52 }, retry.WithIdempotent(true)) 53 require.NoError(t, err) 54 }) 55 }