github.com/lazyledger/lazyledger-core@v0.35.0-dev.0.20210613111200-4c651f053571/privval/socket_dialers_test.go (about) 1 package privval 2 3 import ( 4 "fmt" 5 "testing" 6 "time" 7 8 "github.com/stretchr/testify/assert" 9 "github.com/stretchr/testify/require" 10 11 "github.com/lazyledger/lazyledger-core/crypto/ed25519" 12 ) 13 14 func getDialerTestCases(t *testing.T) []dialerTestCase { 15 tcpAddr := GetFreeLocalhostAddrPort() 16 unixFilePath, err := testUnixAddr() 17 require.NoError(t, err) 18 unixAddr := fmt.Sprintf("unix://%s", unixFilePath) 19 20 return []dialerTestCase{ 21 { 22 addr: tcpAddr, 23 dialer: DialTCPFn(tcpAddr, testTimeoutReadWrite, ed25519.GenPrivKey()), 24 }, 25 { 26 addr: unixAddr, 27 dialer: DialUnixFn(unixFilePath), 28 }, 29 } 30 } 31 32 func TestIsConnTimeoutForFundamentalTimeouts(t *testing.T) { 33 // Generate a networking timeout 34 tcpAddr := GetFreeLocalhostAddrPort() 35 dialer := DialTCPFn(tcpAddr, time.Millisecond, ed25519.GenPrivKey()) 36 _, err := dialer() 37 assert.Error(t, err) 38 assert.True(t, IsConnTimeout(err)) 39 } 40 41 func TestIsConnTimeoutForWrappedConnTimeouts(t *testing.T) { 42 tcpAddr := GetFreeLocalhostAddrPort() 43 dialer := DialTCPFn(tcpAddr, time.Millisecond, ed25519.GenPrivKey()) 44 _, err := dialer() 45 assert.Error(t, err) 46 err = fmt.Errorf("%v: %w", err, ErrConnectionTimeout) 47 assert.True(t, IsConnTimeout(err)) 48 }