github.com/ava-labs/avalanchego@v1.11.11/ids/galiasreader/alias_reader_test.go (about)

     1  // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
     2  // See the file LICENSE for licensing terms.
     3  
     4  package galiasreader
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  
    11  	"github.com/ava-labs/avalanchego/ids"
    12  	"github.com/ava-labs/avalanchego/ids/idstest"
    13  	"github.com/ava-labs/avalanchego/vms/rpcchainvm/grpcutils"
    14  
    15  	aliasreaderpb "github.com/ava-labs/avalanchego/proto/pb/aliasreader"
    16  )
    17  
    18  func TestInterface(t *testing.T) {
    19  	for _, test := range idstest.AliasTests {
    20  		t.Run(test.Name, func(t *testing.T) {
    21  			require := require.New(t)
    22  
    23  			listener, err := grpcutils.NewListener()
    24  			require.NoError(err)
    25  			defer listener.Close()
    26  			serverCloser := grpcutils.ServerCloser{}
    27  			defer serverCloser.Stop()
    28  			w := ids.NewAliaser()
    29  
    30  			server := grpcutils.NewServer()
    31  			aliasreaderpb.RegisterAliasReaderServer(server, NewServer(w))
    32  			serverCloser.Add(server)
    33  
    34  			go grpcutils.Serve(listener, server)
    35  
    36  			conn, err := grpcutils.Dial(listener.Addr().String())
    37  			require.NoError(err)
    38  			defer conn.Close()
    39  
    40  			r := NewClient(aliasreaderpb.NewAliasReaderClient(conn))
    41  			test.Test(t, r, w)
    42  		})
    43  	}
    44  }