diff options
Diffstat (limited to 'client/client_test.go')
| -rw-r--r-- | client/client_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
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()) + } + } + +} |
