github.com/pachyderm/pachyderm@v1.13.4/src/client/pkg/grpcutil/addr_test.go (about)

     1  package grpcutil
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/pachyderm/pachyderm/src/client/pkg/errors"
     7  	"github.com/pachyderm/pachyderm/src/client/pkg/require"
     8  )
     9  
    10  func TestParsePachdAddress(t *testing.T) {
    11  	_, err := ParsePachdAddress("")
    12  	require.True(t, errors.Is(err, ErrNoPachdAddress))
    13  
    14  	_, err = ParsePachdAddress("grpc://user@pachyderm.com:80")
    15  	require.YesError(t, err)
    16  
    17  	_, err = ParsePachdAddress("grpc://user:pass@pachyderm.com:80")
    18  	require.YesError(t, err)
    19  
    20  	_, err = ParsePachdAddress("grpc://pachyderm.com:80/")
    21  	require.YesError(t, err)
    22  
    23  	_, err = ParsePachdAddress("grpc://pachyderm.com:80/?foo")
    24  	require.YesError(t, err)
    25  
    26  	_, err = ParsePachdAddress("grpc://pachyderm.com:80/#foo")
    27  	require.YesError(t, err)
    28  
    29  	p, err := ParsePachdAddress("http://pachyderm.com:80")
    30  	require.NoError(t, err)
    31  	require.Equal(t, &PachdAddress{
    32  		Secured: false,
    33  		Host:    "pachyderm.com",
    34  		Port:    80,
    35  	}, p)
    36  
    37  	p, err = ParsePachdAddress("https://pachyderm.com:80")
    38  	require.NoError(t, err)
    39  	require.Equal(t, &PachdAddress{
    40  		Secured: true,
    41  		Host:    "pachyderm.com",
    42  		Port:    80,
    43  	}, p)
    44  
    45  	p, err = ParsePachdAddress("grpc://pachyderm.com:80")
    46  	require.NoError(t, err)
    47  	require.Equal(t, &PachdAddress{
    48  		Secured: false,
    49  		Host:    "pachyderm.com",
    50  		Port:    80,
    51  	}, p)
    52  
    53  	p, err = ParsePachdAddress("grpcs://[::1]:80")
    54  	require.NoError(t, err)
    55  	require.Equal(t, &PachdAddress{
    56  		Secured: true,
    57  		Host:    "::1",
    58  		Port:    80,
    59  	}, p)
    60  
    61  	p, err = ParsePachdAddress("grpc://pachyderm.com")
    62  	require.NoError(t, err)
    63  	require.Equal(t, &PachdAddress{
    64  		Secured: false,
    65  		Host:    "pachyderm.com",
    66  		Port:    DefaultPachdNodePort,
    67  	}, p)
    68  
    69  	p, err = ParsePachdAddress("127.0.0.1")
    70  	require.NoError(t, err)
    71  	require.Equal(t, &PachdAddress{
    72  		Secured: false,
    73  		Host:    "127.0.0.1",
    74  		Port:    DefaultPachdNodePort,
    75  	}, p)
    76  
    77  	p, err = ParsePachdAddress("127.0.0.1:80")
    78  	require.NoError(t, err)
    79  	require.Equal(t, &PachdAddress{
    80  		Secured: false,
    81  		Host:    "127.0.0.1",
    82  		Port:    80,
    83  	}, p)
    84  
    85  	p, err = ParsePachdAddress("[::1]")
    86  	require.NoError(t, err)
    87  	require.Equal(t, &PachdAddress{
    88  		Secured: false,
    89  		Host:    "::1",
    90  		Port:    DefaultPachdNodePort,
    91  	}, p)
    92  
    93  	p, err = ParsePachdAddress("[::1]:80")
    94  	require.NoError(t, err)
    95  	require.Equal(t, &PachdAddress{
    96  		Secured: false,
    97  		Host:    "::1",
    98  		Port:    80,
    99  	}, p)
   100  }
   101  
   102  func TestPachdAddressQualified(t *testing.T) {
   103  	p := &PachdAddress{
   104  		Secured: false,
   105  		Host:    "pachyderm.com",
   106  		Port:    DefaultPachdNodePort,
   107  	}
   108  
   109  	require.Equal(t, "grpc://pachyderm.com:30650", p.Qualified())
   110  	p = &PachdAddress{
   111  		Secured: true,
   112  		Host:    "pachyderm.com",
   113  		Port:    DefaultPachdNodePort,
   114  	}
   115  	require.Equal(t, "grpcs://pachyderm.com:30650", p.Qualified())
   116  }
   117  
   118  func TestPachdAddressHostname(t *testing.T) {
   119  	p := &PachdAddress{
   120  		Secured: false,
   121  		Host:    "pachyderm.com",
   122  		Port:    DefaultPachdNodePort,
   123  	}
   124  	require.Equal(t, "pachyderm.com:30650", p.Hostname())
   125  
   126  	p = &PachdAddress{
   127  		Secured: true,
   128  		Host:    "pachyderm.com",
   129  		Port:    DefaultPachdNodePort,
   130  	}
   131  	require.Equal(t, "pachyderm.com:30650", p.Hostname())
   132  }