diff options
Diffstat (limited to 'internal/cli/cli_test.go')
| -rw-r--r-- | internal/cli/cli_test.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/internal/cli/cli_test.go b/internal/cli/cli_test.go index fcf489a..aea80f7 100644 --- a/internal/cli/cli_test.go +++ b/internal/cli/cli_test.go @@ -57,3 +57,30 @@ AllowedIPs = 10.0.0.0/24 }) } } + +func TestIsValidProfileName(t *testing.T) { + tests := []struct { + name string + want bool + }{ + {"default", true}, + {"home", true}, + {"work-vpn", true}, + {"my_vpn_123", true}, + {"", false}, + {"..", false}, + {"../home", false}, + {"/etc/shadow", false}, + {"-profile", false}, + {"profile.conf", false}, // we append .conf so the name itself shouldn't have . + {"foo/bar", false}, + {"foo\\bar", false}, + } + + for _, tt := range tests { + got := IsValidProfileName(tt.name) + if got != tt.want { + t.Errorf("IsValidProfileName(%q) = %v; want %v", tt.name, got, tt.want) + } + } +} |
