platform: modularize api/gui, add docs-tests-web foundation, and refresh root config

This commit is contained in:
beckline
2026-03-26 22:40:54 +03:00
parent 0e2d7f61ea
commit 6a56d734c2
562 changed files with 70151 additions and 16423 deletions

View File

@@ -0,0 +1,49 @@
package app
import "testing"
func TestNormalizeTransportClientsStateSetsIfaceID(t *testing.T) {
st := transportClientsState{
Version: transportStateVersion,
Items: []TransportClient{
{ID: "A", Kind: TransportClientSingBox, IfaceID: ""},
{ID: "B", Kind: TransportClientDNSTT, IfaceID: "Lab Net"},
},
}
norm, changed := normalizeTransportClientsState(st, false)
if !changed {
t.Fatalf("expected normalize change for iface_id")
}
if len(norm.Items) != 2 {
t.Fatalf("unexpected items count: %d", len(norm.Items))
}
if norm.Items[0].ID != "a" || norm.Items[0].IfaceID != transportDefaultIfaceID {
t.Fatalf("unexpected normalized first item: %#v", norm.Items[0])
}
if norm.Items[1].ID != "b" || norm.Items[1].IfaceID != "lab-net" {
t.Fatalf("unexpected normalized second item: %#v", norm.Items[1])
}
}
func TestNormalizeTransportClientsStateKeepsExplicitRoutingTable(t *testing.T) {
st := transportClientsState{
Version: transportStateVersion,
Items: []TransportClient{
{
ID: "A",
Kind: TransportClientSingBox,
IfaceID: "edge-lab",
RoutingTable: "custom-edge-table",
},
},
}
norm, _ := normalizeTransportClientsState(st, false)
if len(norm.Items) != 1 {
t.Fatalf("unexpected items count: %d", len(norm.Items))
}
if got := norm.Items[0].RoutingTable; got != "agvpn_custom_edge_table" {
t.Fatalf("unexpected routing table: %q", got)
}
}