summaryrefslogtreecommitdiff
path: root/internal/cli/cli_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cli/cli_test.go')
-rw-r--r--internal/cli/cli_test.go27
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)
+ }
+ }
+}