MCPcopy
hub / github.com/cli/cli / Test_checkValidExtension

Function Test_checkValidExtension

pkg/cmd/extension/command_test.go:977–1068  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

975}
976
977func Test_checkValidExtension(t *testing.T) {
978 rootCmd := &cobra.Command{}
979 rootCmd.AddCommand(&cobra.Command{Use: "help"})
980 rootCmd.AddCommand(&cobra.Command{Use: "auth"})
981
982 m := &extensions.ExtensionManagerMock{
983 ListFunc: func() []extensions.Extension {
984 return []extensions.Extension{
985 &extensions.ExtensionMock{
986 OwnerFunc: func() string { return "monalisa" },
987 NameFunc: func() string { return "screensaver" },
988 },
989 &extensions.ExtensionMock{
990 OwnerFunc: func() string { return "monalisa" },
991 NameFunc: func() string { return "triage" },
992 },
993 }
994 },
995 }
996
997 type args struct {
998 rootCmd *cobra.Command
999 manager extensions.ExtensionManager
1000 extName string
1001 extOwner string
1002 }
1003 tests := []struct {
1004 name string
1005 args args
1006 wantError string
1007 }{
1008 {
1009 name: "valid extension",
1010 args: args{
1011 rootCmd: rootCmd,
1012 manager: m,
1013 extOwner: "monalisa",
1014 extName: "gh-hello",
1015 },
1016 },
1017 {
1018 name: "invalid extension name",
1019 args: args{
1020 rootCmd: rootCmd,
1021 manager: m,
1022 extOwner: "monalisa",
1023 extName: "gherkins",
1024 },
1025 wantError: "extension name must start with `gh-`",
1026 },
1027 {
1028 name: "clashes with built-in command",
1029 args: args{
1030 rootCmd: rootCmd,
1031 manager: m,
1032 extOwner: "monalisa",
1033 extName: "gh-auth",
1034 },

Callers

nothing calls this directly

Calls 2

checkValidExtensionFunction · 0.85
RunMethod · 0.65

Tested by

no test coverage detected