remove annoying trash test

Kim committed Apr 13, 2026 at 21:12 UTC b9863ee2153b4ee7131118102f5787759e054989
1 file changed -154
portal/discovery/refresher_test.go deleted
-154
@@ -1,154 +0,0 @@
1 -package discovery
2 -
3 -import (
4 - "context"
5 - "encoding/pem"
6 - "net/http"
7 - "net/http/httptest"
8 - "sync/atomic"
9 - "testing"
10 - "time"
11 -
12 - "github.com/gosuda/portal-tunnel/v2/types"
13 - "github.com/gosuda/portal-tunnel/v2/utils"
14 -)
15 -
16 -func newDiscoveryTestServer(t *testing.T, handler http.HandlerFunc) (*httptest.Server, []byte) {
17 - t.Helper()
18 -
19 - server := httptest.NewTLSServer(handler)
20 - rootCAPEM := pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: server.Certificate().Raw})
21 - if rootCAPEM == nil {
22 - server.Close()
23 - t.Fatal("failed to encode test certificate")
24 - }
25 - return server, rootCAPEM
26 -}
27 -
28 -func TestRefresherRefreshesExpiredBootstrapRelay(t *testing.T) {
29 - now := time.Now().UTC()
30 - var relayURL string
31 - server, rootCAPEM := newDiscoveryTestServer(t, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
32 - utils.WriteAPIData(w, http.StatusOK, types.DiscoveryResponse{
33 - ProtocolVersion: types.DiscoveryVersion,
34 - GeneratedAt: now,
35 - Relays: []types.RelayDescriptor{
36 - mustPolicyRelayDescriptor(t, "relay-bootstrap", relayURL),
37 - },
38 - })
39 - }))
40 - defer server.Close()
41 - relayURL = server.URL
42 -
43 - set, err := NewRelaySet([]string{relayURL})
44 - if err != nil {
45 - t.Fatalf("NewRelaySet() error = %v", err)
46 - }
47 -
48 - set.mu.Lock()
49 - state := set.relays[relayURL]
50 - state.Descriptor = mustPolicyRelayDescriptor(t, "relay-bootstrap", relayURL)
51 - state.Descriptor.ExpiresAt = now.Add(-time.Second)
52 - state.LastSeenAt = now.Add(-time.Minute)
53 - set.relays[relayURL] = state
54 - set.mu.Unlock()
55 -
56 - refresher, err := NewRefresher(set, rootCAPEM, nil, "")
57 - if err != nil {
58 - t.Fatalf("NewRefresher() error = %v", err)
59 - }
60 - if err := refresher.Refresh(context.Background()); err != nil {
61 - t.Fatalf("Refresh() error = %v", err)
62 - }
63 -
64 - set.mu.RLock()
65 - refreshed := set.relays[relayURL]
66 - set.mu.RUnlock()
67 - if refreshed.Confirmed {
68 - t.Fatal("direct discovery refresh should not mark relay locally confirmed")
69 - }
70 - if !refreshed.Descriptor.ExpiresAt.After(now) {
71 - t.Fatalf("refreshed descriptor expiry = %v, want a fresh descriptor", refreshed.Descriptor.ExpiresAt)
72 - }
73 -}
74 -
75 -func TestRefresherRefreshesExpiredCollectedRelay(t *testing.T) {
76 - now := time.Now().UTC()
77 - var relayURL string
78 - server, rootCAPEM := newDiscoveryTestServer(t, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
79 - utils.WriteAPIData(w, http.StatusOK, types.DiscoveryResponse{
80 - ProtocolVersion: types.DiscoveryVersion,
81 - GeneratedAt: now,
82 - Relays: []types.RelayDescriptor{
83 - mustPolicyRelayDescriptor(t, "relay-known", relayURL),
84 - },
85 - })
86 - }))
87 - defer server.Close()
88 - relayURL = server.URL
89 -
90 - set, err := NewRelaySet(nil)
91 - if err != nil {
92 - t.Fatalf("NewRelaySet() error = %v", err)
93 - }
94 -
95 - set.mu.Lock()
96 - state := confirmedPolicyRelayState(t, "relay-known", relayURL)
97 - state.Descriptor.ExpiresAt = now.Add(-time.Second)
98 - state.LastSeenAt = now.Add(-time.Minute)
99 - set.relays[relayURL] = state
100 - set.mu.Unlock()
101 -
102 - refresher, err := NewRefresher(set, rootCAPEM, nil, "")
103 - if err != nil {
104 - t.Fatalf("NewRefresher() error = %v", err)
105 - }
106 - if err := refresher.Refresh(context.Background()); err != nil {
107 - t.Fatalf("Refresh() error = %v", err)
108 - }
109 -
110 - set.mu.RLock()
111 - refreshed := set.relays[relayURL]
112 - set.mu.RUnlock()
113 - if !refreshed.Descriptor.ExpiresAt.After(now) {
114 - t.Fatalf("refreshed descriptor expiry = %v, want a fresh descriptor", refreshed.Descriptor.ExpiresAt)
115 - }
116 -}
117 -
118 -func TestRefresherSkipsDirectRetryUntilBackoffExpires(t *testing.T) {
119 - now := time.Now().UTC()
120 - var requests atomic.Int32
121 - server, rootCAPEM := newDiscoveryTestServer(t, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
122 - requests.Add(1)
123 - utils.WriteAPIData(w, http.StatusOK, types.DiscoveryResponse{
124 - ProtocolVersion: types.DiscoveryVersion,
125 - GeneratedAt: now,
126 - Relays: []types.RelayDescriptor{
127 - mustPolicyRelayDescriptor(t, "relay-known", r.Host),
128 - },
129 - })
130 - }))
131 - defer server.Close()
132 -
133 - set, err := NewRelaySet(nil)
134 - if err != nil {
135 - t.Fatalf("NewRelaySet() error = %v", err)
136 - }
137 -
138 - set.mu.Lock()
139 - state := confirmedPolicyRelayState(t, "relay-known", server.URL)
140 - state.nextDirectRefreshAt = now.Add(time.Minute)
141 - set.relays[server.URL] = state
142 - set.mu.Unlock()
143 -
144 - refresher, err := NewRefresher(set, rootCAPEM, nil, "")
145 - if err != nil {
146 - t.Fatalf("NewRefresher() error = %v", err)
147 - }
148 - if err := refresher.Refresh(context.Background()); err != nil {
149 - t.Fatalf("Refresh() error = %v", err)
150 - }
151 - if got := requests.Load(); got != 0 {
152 - t.Fatalf("direct refresh requests = %d, want 0 before backoff expires", got)
153 - }
154 -}