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}