github.com/MetalBlockchain/metalgo@v1.11.9/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/MetalBlockchain/metalgo/ids" 12 "github.com/MetalBlockchain/metalgo/vms/rpcchainvm/grpcutils" 13 14 aliasreaderpb "github.com/MetalBlockchain/metalgo/proto/pb/aliasreader" 15 ) 16 17 func TestInterface(t *testing.T) { 18 require := require.New(t) 19 20 for _, test := range ids.AliasTests { 21 listener, err := grpcutils.NewListener() 22 require.NoError(err) 23 serverCloser := grpcutils.ServerCloser{} 24 w := ids.NewAliaser() 25 26 server := grpcutils.NewServer() 27 aliasreaderpb.RegisterAliasReaderServer(server, NewServer(w)) 28 serverCloser.Add(server) 29 30 go grpcutils.Serve(listener, server) 31 32 conn, err := grpcutils.Dial(listener.Addr().String()) 33 require.NoError(err) 34 35 r := NewClient(aliasreaderpb.NewAliasReaderClient(conn)) 36 test(require, r, w) 37 38 serverCloser.Stop() 39 _ = conn.Close() 40 _ = listener.Close() 41 } 42 }