1
0
Fork 0

Better log message

master
Philip O'Toole 9 months ago
parent 8946e6d406
commit eda7496763

@ -600,8 +600,8 @@ func createCluster(cfg *Config, hasPeers bool, client *cluster.Client, str *stor
func networkCheckJoinAddrs(joinAddrs []string) error { func networkCheckJoinAddrs(joinAddrs []string) error {
log.Println("checking that join addresses don't serve HTTP(S)") log.Println("checking that join addresses don't serve HTTP(S)")
if http.AnyServingHTTP(joinAddrs) { if addr, ok := http.AnyServingHTTP(joinAddrs); ok {
return fmt.Errorf("join address appears to be serving HTTP when it should be Raft") return fmt.Errorf("join address %s appears to be serving HTTP when it should be Raft", addr)
} }
return nil return nil
} }

@ -6,15 +6,15 @@ import (
"time" "time"
) )
// AnyServingHTTP returns true if there appears to be a HTTP or HTTPS server // AnyServingHTTP returns the first address in the list that appears to be
// running on any of the given addresses. // serving HTTP or HTTPS, or false if none of them are.
func AnyServingHTTP(addrs []string) bool { func AnyServingHTTP(addrs []string) (string, bool) {
for _, addr := range addrs { for _, addr := range addrs {
if IsServingHTTP(addr) { if IsServingHTTP(addr) {
return true return addr, true
} }
} }
return false return "", false
} }
// IsServingHTTP returns true if there appears to be a HTTP or HTTPS server // IsServingHTTP returns true if there appears to be a HTTP or HTTPS server

@ -23,8 +23,8 @@ func Test_IsServingHTTP_HTTPServer(t *testing.T) {
if !IsServingHTTP(addr) { if !IsServingHTTP(addr) {
t.Fatalf("Expected true for HTTP server running on %s", addr) t.Fatalf("Expected true for HTTP server running on %s", addr)
} }
if !AnyServingHTTP([]string{addr}) { if a, ok := AnyServingHTTP([]string{addr}); !ok || a != addr {
t.Fatalf("Expected true for HTTP server running on %s", addr) t.Fatalf("Expected %s for AnyServingHTTP", addr)
} }
} }
@ -39,8 +39,8 @@ func Test_IsServingHTTP_HTTPSServer(t *testing.T) {
if !IsServingHTTP(addr) { if !IsServingHTTP(addr) {
t.Error("Expected true for HTTPS server running") t.Error("Expected true for HTTPS server running")
} }
if !AnyServingHTTP([]string{addr}) { if a, ok := AnyServingHTTP([]string{addr}); !ok || a != addr {
t.Fatalf("Expected true for HTTPS server running") t.Fatalf("Expected %s for AnyServingHTTP", addr)
} }
} }
@ -50,7 +50,7 @@ func Test_IsServingHTTP_NoServersRunning(t *testing.T) {
if IsServingHTTP(addr) { if IsServingHTTP(addr) {
t.Error("Expected false for no servers running") t.Error("Expected false for no servers running")
} }
if AnyServingHTTP([]string{addr}) { if _, ok := AnyServingHTTP([]string{addr}); ok {
t.Error("Expected false for no servers running") t.Error("Expected false for no servers running")
} }
} }
@ -61,7 +61,7 @@ func Test_IsServingHTTP_InvalidAddress(t *testing.T) {
if IsServingHTTP(addr) { if IsServingHTTP(addr) {
t.Error("Expected false for invalid address") t.Error("Expected false for invalid address")
} }
if AnyServingHTTP([]string{addr}) { if _, ok := AnyServingHTTP([]string{addr}); ok {
t.Error("Expected false for invalid address") t.Error("Expected false for invalid address")
} }
} }
@ -77,8 +77,8 @@ func Test_IsServingHTTP_HTTPErrorStatusCode(t *testing.T) {
if !IsServingHTTP(addr) { if !IsServingHTTP(addr) {
t.Error("Expected true for HTTP server running, even with error status code") t.Error("Expected true for HTTP server running, even with error status code")
} }
if !AnyServingHTTP([]string{addr}) { if a, ok := AnyServingHTTP([]string{addr}); !ok || a != addr {
t.Error("Expected true for HTTP server running, even with error status code") t.Fatalf("Expected %s for AnyServingHTTP, even with error status code", addr)
} }
} }
@ -93,8 +93,8 @@ func Test_IsServingHTTP_HTTPSSuccessStatusCode(t *testing.T) {
if !IsServingHTTP(addr) { if !IsServingHTTP(addr) {
t.Error("Expected true for HTTPS server running with success status code") t.Error("Expected true for HTTPS server running with success status code")
} }
if !AnyServingHTTP([]string{addr}) { if a, ok := AnyServingHTTP([]string{addr}); !ok || a != addr {
t.Error("Expected true for HTTPS server running with success status code") t.Fatalf("Expected %s for AnyServingHTTP with success status code", addr)
} }
} }
@ -110,7 +110,7 @@ func Test_IsServingHTTP_OpenPort(t *testing.T) {
if IsServingHTTP(addr) { if IsServingHTTP(addr) {
t.Error("Expected false for open port") t.Error("Expected false for open port")
} }
if AnyServingHTTP([]string{addr}) { if _, ok := AnyServingHTTP([]string{addr}); ok {
t.Error("Expected false for open port") t.Error("Expected false for open port")
} }
} }
@ -137,7 +137,26 @@ func Test_IsServingHTTP_OpenPortTLS(t *testing.T) {
if IsServingHTTP(addr) { if IsServingHTTP(addr) {
t.Error("Expected false for open TLS port") t.Error("Expected false for open TLS port")
} }
if AnyServingHTTP([]string{addr}) { if _, ok := AnyServingHTTP([]string{addr}); ok {
t.Error("Expected false for open TLS port") t.Error("Expected false for open TLS port")
} }
} }
func Test_IsServingHTTP_HTTPServerTCPPort(t *testing.T) {
httpServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
}))
defer httpServer.Close()
ln, err := net.Listen("tcp", ":0")
if err != nil {
t.Fatal(err)
}
defer ln.Close()
httpAddr := httpServer.Listener.Addr().String()
tcpAddr := ln.Addr().String()
if a, ok := AnyServingHTTP([]string{httpAddr, tcpAddr}); !ok || a != httpAddr {
t.Fatalf("Expected %s for AnyServingHTTP", httpAddr)
}
}

Loading…
Cancel
Save