mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 21:07:18 +00:00
37 lines
1.0 KiB
Go
37 lines
1.0 KiB
Go
|
package p2p
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/prysmaticlabs/prysm/shared/testutil"
|
||
|
logTest "github.com/sirupsen/logrus/hooks/test"
|
||
|
)
|
||
|
|
||
|
// Test `verifyConnectivity` function by trying to connect to google.com (successfully)
|
||
|
// and then by connecting to an unreachable IP and ensuring that a log is emitted
|
||
|
func TestVerifyConnectivity(t *testing.T) {
|
||
|
hook := logTest.NewGlobal()
|
||
|
cases := []struct {
|
||
|
address string
|
||
|
port uint
|
||
|
expectedConnectivity bool
|
||
|
name string
|
||
|
}{
|
||
|
{"142.250.68.46", 80, true, "Dialing a reachable IP: 142.250.68.46:80"}, // google.com
|
||
|
{"123.123.123.123", 19000, false, "Dialing an unreachable IP: 123.123.123.123:19000"},
|
||
|
}
|
||
|
for _, tc := range cases {
|
||
|
t.Run(fmt.Sprintf(tc.name),
|
||
|
func(t *testing.T) {
|
||
|
verifyConnectivity(tc.address, tc.port, "tcp")
|
||
|
logMessage := "IP address is not accessible"
|
||
|
if tc.expectedConnectivity {
|
||
|
testutil.AssertLogsDoNotContain(t, hook, logMessage)
|
||
|
} else {
|
||
|
testutil.AssertLogsContain(t, hook, logMessage)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|