Check if value is provided

This commit is contained in:
Phani Teja Marupaka
2021-03-23 15:40:35 -07:00
parent 7b38ce4ef2
commit c3beadacd9
2 changed files with 53 additions and 0 deletions

View File

@@ -71,6 +71,11 @@ func (r *SetRunner) preRunE(c *cobra.Command, args []string) error {
return errors.Errorf("value should set either from flag or arg")
}
// make sure that the value is provided either through values flag or as an arg
if !valueFlagSet && len(args) < 3 {
return errors.Errorf("value must be provided either from flag or arg")
}
r.Name = args[1]
if valueFlagSet {
r.Value = r.Values[0]

View File

@@ -603,6 +603,54 @@ spec:
errMsg: `value should set either from flag or arg`,
},
{
name: "value must be provided from either flag or arg",
args: []string{"replicas", "--description", "hi there"},
inputOpenAPI: `
apiVersion: v1alpha1
kind: Example
openAPI:
definitions:
io.k8s.cli.setters.replicas:
description: hello world
x-k8s-cli:
setter:
name: replicas
value: "3"
setBy: me
`,
input: `
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # {"$ref":"#/definitions/io.k8s.cli.setters.replicas"}
`,
expectedOpenAPI: `
apiVersion: v1alpha1
kind: Example
openAPI:
definitions:
io.k8s.cli.setters.replicas:
description: hello world
x-k8s-cli:
setter:
name: replicas
value: "3"
setBy: me
`,
expectedResources: `
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # {"$ref":"#/definitions/io.k8s.cli.setters.replicas"}
`,
errMsg: `value must be provided either from flag or arg`,
},
{
name: "openAPI list values set by flag success",
args: []string{"list", "--values", "10", "--values", "11"},