(t *testing.T)
| 975 | } |
| 976 | |
| 977 | func 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 | }, |
nothing calls this directly
no test coverage detected