github.com/MetalBlockchain/metalgo@v1.11.9/utils/dynamicip/resolver_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 dynamicip
     5  
     6  import (
     7  	"strings"
     8  	"testing"
     9  
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func TestNewResolver(t *testing.T) {
    14  	type test struct {
    15  		service string
    16  		err     error
    17  	}
    18  	tests := []test{
    19  		{
    20  			service: OpenDNSName,
    21  			err:     nil,
    22  		},
    23  		{
    24  			service: IFConfigName,
    25  			err:     nil,
    26  		},
    27  		{
    28  			service: IFConfigCoName,
    29  			err:     nil,
    30  		},
    31  		{
    32  			service: IFConfigMeName,
    33  			err:     nil,
    34  		},
    35  		{
    36  			service: strings.ToUpper(IFConfigMeName),
    37  			err:     nil,
    38  		},
    39  		{
    40  			service: "not a valid resolution service name",
    41  			err:     errUnknownResolver,
    42  		},
    43  	}
    44  	for _, tt := range tests {
    45  		t.Run(tt.service, func(t *testing.T) {
    46  			require := require.New(t)
    47  			_, err := NewResolver(tt.service)
    48  			require.ErrorIs(err, tt.err)
    49  		})
    50  	}
    51  }