[MM-14333] Stricten external HTTP Calls to require that own IPs need to be explicitly whitelisted (#10375)

* Stricten external HTTP Calls to require that own IPs need to be explicitly whitelisted

* gofmt

* Documentation; Style fixes for IsOwnIP function
Этот коммит содержится в:
Daniel Schalla
2019-03-01 16:22:24 +01:00
коммит произвёл GitHub
родитель d85dff81a8
Коммит 7ac5715a02
3 изменённых файлов: 88 добавлений и 1 удалений

Просмотреть файл

@@ -145,3 +145,44 @@ func NewHTTPClient(transport http.RoundTripper) *http.Client {
Transport: transport,
}
}
func TestIsReservedIP(t *testing.T) {
tests := []struct {
name string
ip net.IP
want bool
}{
{"127.8.3.5", net.IPv4(127, 8, 3, 5), true},
{"192.168.0.1", net.IPv4(192, 168, 0, 1), true},
{"169.254.0.6", net.IPv4(169, 254, 0, 6), true},
{"127.120.6.3", net.IPv4(127, 120, 6, 3), true},
{"8.8.8.8", net.IPv4(8, 8, 8, 8), false},
{"9.9.9.9", net.IPv4(9, 9, 9, 8), false},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := IsReservedIP(tt.ip); got != tt.want {
t.Errorf("IsReservedIP() = %v, want %v", got, tt.want)
}
})
}
}
func TestIsOwnIP(t *testing.T) {
tests := []struct {
name string
ip net.IP
want bool
}{
{"127.0.0.1", net.IPv4(127, 0, 0, 1), true},
{"8.8.8.8", net.IPv4(8, 0, 0, 8), false},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got, _ := IsOwnIP(tt.ip); got != tt.want {
t.Errorf("IsOwnIP() = %v, want %v", got, tt.want)
t.Errorf(tt.ip.String());
}
})
}
}