Add validation of args for create.

This commit is contained in:
Brendan Burns 2015-03-24 11:21:52 -07:00
parent 9707a944c2
commit 99267d725c
2 changed files with 20 additions and 2 deletions

View File

@ -46,14 +46,21 @@ func (f *Factory) NewCmdCreate(out io.Writer) *cobra.Command {
Long: create_long,
Example: create_example,
Run: func(cmd *cobra.Command, args []string) {
err := RunCreate(f, out, cmd, filenames)
cmdutil.CheckErr(err)
cmdutil.CheckErr(ValidateArgs(cmd, args))
cmdutil.CheckErr(RunCreate(f, out, cmd, filenames))
},
}
cmd.Flags().VarP(&filenames, "filename", "f", "Filename, directory, or URL to file to use to create the resource")
return cmd
}
func ValidateArgs(cmd *cobra.Command, args []string) error {
if len(args) != 0 {
return cmdutil.UsageError(cmd, "Unexpected args: %v", args)
}
return nil
}
func RunCreate(f *Factory, out io.Writer, cmd *cobra.Command, filenames util.StringList) error {
schema, err := f.Validator()
if err != nil {

View File

@ -22,8 +22,19 @@ import (
"testing"
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/cmd"
)
func TestExtraArgsFail(t *testing.T) {
buf := bytes.NewBuffer([]byte{})
f, _, _ := NewAPIFactory()
c := f.NewCmdCreate(buf)
if cmd.ValidateArgs(c, []string{"rc"}) == nil {
t.Errorf("unexpected non-error")
}
}
func TestCreateObject(t *testing.T) {
_, _, rc := testData()
rc.Items[0].Name = "redis-master-controller"