github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/server/servemode_test.go (about)

     1  // Copyright 2018 The Cockroach Authors.
     2  //
     3  // Use of this software is governed by the Business Source License
     4  // included in the file licenses/BSL.txt.
     5  //
     6  // As of the Change Date specified in that file, in accordance with
     7  // the Business Source License, use of this software will be governed
     8  // by the Apache License, Version 2.0, included in the file
     9  // licenses/APL.txt.
    10  
    11  package server
    12  
    13  import (
    14  	"fmt"
    15  	"testing"
    16  
    17  	"github.com/cockroachdb/cockroach/pkg/util/leaktest"
    18  	"google.golang.org/grpc/codes"
    19  	grpcstatus "google.golang.org/grpc/status"
    20  )
    21  
    22  func TestWaitingForInitError(t *testing.T) {
    23  	defer leaktest.AfterTest(t)()
    24  	s := &grpcServer{}
    25  	if err := s.waitingForInitError("foo"); !IsWaitingForInit(err) {
    26  		t.Errorf("WaitingForInitError() not recognized by IsWaitingForInit(): %v", err)
    27  	}
    28  	if err := grpcstatus.Errorf(codes.Unavailable, "foo"); IsWaitingForInit(err) {
    29  		t.Errorf("unavailable error undesirably recognized by IsWaitingForInit(): %v", err)
    30  	}
    31  	if err := fmt.Errorf("node waiting for init"); IsWaitingForInit(err) {
    32  		t.Errorf("non-grpc error undesirably recognized by IsWaitingForInit(): %v", err)
    33  	}
    34  }