From f25dcda007547f7dfb75c4aded7fd94ed2236e21 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Tue, 31 Jan 2023 12:00:44 +0100 Subject: Client: Check if client ID is valid --- client/client_test.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'client/client_test.go') diff --git a/client/client_test.go b/client/client_test.go index ec5086f..b4b944b 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -406,3 +406,41 @@ func TestPreferTCP(t *testing.T) { t.Fatalf("Suffix for disable prefer TCP is not in the right order for config: %s", config.Config) } } + +func TestInvalidClientID(t *testing.T) { + tests := map[string]bool { + "test": false, + "org.letsconnect-vpn.app.linux": true, + "org.letsconnect-vpn": false, + "org.letsconnect-vpn.app": false, + "org.letsconnect-vpn.linuxsd": false, + "org.letsconnect-vpn.app.macos": true, + } + + for k, v := range tests { + state := &Client{} + registerErr := state.Register( + k, + "configsclientid", + "en", + func(old FSMStateID, new FSMStateID, data interface{}) bool { + stateCallback(t, old, new, data, state) + return true + }, + false, + ) + if v { + if registerErr != nil { + t.Fatalf("expected valid register with clientID: %v, got error: %v", k, registerErr) + } + continue + } + if registerErr == nil { + t.Fatalf("expected invalid register with clientID: %v, but got no error", k) + } + if !strings.HasPrefix(registerErr.Error(), "client ID is not allowed") { + t.Fatalf("register error has invalid prefix: %v", registerErr.Error()) + } + } + +} -- cgit v1.2.3