50 lines
1.4 KiB
Go
50 lines
1.4 KiB
Go
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)
|
|
}
|
|
}
|