master
 1package get
 2
 3import (
 4	"net"
 5	"testing"
 6)
 7
 8func TestGetInternalIP(t *testing.T) {
 9	ip, err := getInternalIP()
10	// May fail in some test environments, but should not panic
11	if err != nil {
12		t.Logf("getInternalIP() returned error (acceptable in test environment): %v", err)
13		return
14	}
15
16	if ip != "" {
17		// Verify it's a valid IP
18		if net.ParseIP(ip) == nil {
19			t.Errorf("getInternalIP() returned invalid IP: %s", ip)
20		}
21	}
22}
23
24func TestGetLocalIP(t *testing.T) {
25	ip, err := getLocalIP()
26	// May fail in some test environments, but should not panic
27	if err != nil {
28		t.Logf("getLocalIP() returned error (acceptable in test environment): %v", err)
29		return
30	}
31
32	if ip != "" {
33		// Verify it's a valid IP
34		if net.ParseIP(ip) == nil {
35			t.Errorf("getLocalIP() returned invalid IP: %s", ip)
36		}
37	}
38}
39
40func TestGetPublicIP(t *testing.T) {
41	// This requires network access, so we just test it doesn't panic
42	_, err := getPublicIP()
43	if err != nil {
44		t.Logf("getPublicIP() returned error (expected without network): %v", err)
45	}
46}
47
48func TestGetIPLocation(t *testing.T) {
49	// This requires network access, so we just test it doesn't panic
50	_, err := getIPLocation("8.8.8.8")
51	if err != nil {
52		t.Logf("getIPLocation() returned error (expected without network): %v", err)
53	}
54}