mirror of
https://github.com/MengMengCode/VoCat.git
synced 2026-08-13 03:13:43 +08:00
34 lines
1.0 KiB
Go
34 lines
1.0 KiB
Go
package server
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"vocat/internal/exportproxy"
|
|
)
|
|
|
|
func TestPublicIPCacheFollowsCurrentICCID(t *testing.T) {
|
|
server := &Server{publicIPs: make(map[string]cachedPublicIP)}
|
|
want := exportproxy.PublicIPInfo{IP: "203.0.113.8", CountryCode: "GB"}
|
|
server.savePublicIP("ec20", "8944100001", want)
|
|
|
|
got, ok := server.loadPublicIP("ec20", "8944100001")
|
|
if !ok || got != want {
|
|
t.Fatalf("loadPublicIP() = (%+v, %v), want (%+v, true)", got, ok, want)
|
|
}
|
|
|
|
if _, ok := server.loadPublicIP("ec20", "8944100002"); ok {
|
|
t.Fatal("cache survived an ICCID change")
|
|
}
|
|
if _, ok := server.loadPublicIP("ec20", "8944100001"); ok {
|
|
t.Fatal("stale cache was not deleted after an ICCID change")
|
|
}
|
|
}
|
|
|
|
func TestPublicIPCacheClearsWhileModemIsResetting(t *testing.T) {
|
|
server := &Server{publicIPs: make(map[string]cachedPublicIP)}
|
|
server.savePublicIP("ec20", "8944100001", exportproxy.PublicIPInfo{IP: "203.0.113.8", CountryCode: "GB"})
|
|
if _, ok := server.loadPublicIP("ec20", ""); ok {
|
|
t.Fatal("cache survived a missing live ICCID")
|
|
}
|
|
}
|