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  }