diff --git a/pkg/cli/server/root.go b/pkg/cli/server/root.go index 2ce6fa69..4916cd20 100644 --- a/pkg/cli/server/root.go +++ b/pkg/cli/server/root.go @@ -47,6 +47,7 @@ func newServeCmd(conf *config.Config) *cobra.Command { Aliases: []string{"serve"}, Short: "`serve` stores and distributes OCI images", Long: "`serve` stores and distributes OCI images", + Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { if len(args) > 0 { if err := LoadConfiguration(conf, args[0]); err != nil { diff --git a/pkg/cli/server/root_test.go b/pkg/cli/server/root_test.go index 38c08c3c..b0f7e94f 100644 --- a/pkg/cli/server/root_test.go +++ b/pkg/cli/server/root_test.go @@ -48,6 +48,18 @@ func TestServe(t *testing.T) { }) Convey("Test serve config", t, func(c C) { + Convey("no config arg", func(c C) { + os.Args = []string{"cli_test", "serve"} + err := cli.NewServerRootCmd().Execute() + So(err, ShouldNotBeNil) + }) + + Convey("two args", func(c C) { + os.Args = []string{"cli_test", "serve", "config", "second arg"} + err := cli.NewServerRootCmd().Execute() + So(err, ShouldNotBeNil) + }) + Convey("unknown config", func(c C) { os.Args = []string{"cli_test", "serve", path.Join(os.TempDir(), "/x")} err := cli.NewServerRootCmd().Execute()