feat(server): validate flux template type variable upon update/save
parent
c807246ef5
commit
d833b03529
|
@ -22,7 +22,7 @@ func ValidTemplateRequest(template *chronograf.Template) error {
|
||||||
switch v.Type {
|
switch v.Type {
|
||||||
default:
|
default:
|
||||||
return fmt.Errorf("Unknown template variable type %s", v.Type)
|
return fmt.Errorf("Unknown template variable type %s", v.Type)
|
||||||
case "csv", "map", "fieldKey", "tagKey", "tagValue", "measurement", "database", "constant", "influxql":
|
case "csv", "map", "fieldKey", "tagKey", "tagValue", "measurement", "database", "constant", "influxql", "flux":
|
||||||
}
|
}
|
||||||
|
|
||||||
if template.Type == "map" && v.Key == "" {
|
if template.Type == "map" && v.Key == "" {
|
||||||
|
@ -30,8 +30,8 @@ func ValidTemplateRequest(template *chronograf.Template) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if template.Type == "influxql" && template.Query == nil {
|
if (template.Type == "influxql" || template.Type == "flux") && template.Query == nil {
|
||||||
return fmt.Errorf("No query set for template of type 'influxql'")
|
return fmt.Errorf("No query set for template of type '%s'", template.Type)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -60,6 +60,13 @@ func TestValidTemplateRequest(t *testing.T) {
|
||||||
Type: "influxql",
|
Type: "influxql",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "No query set",
|
||||||
|
wantErr: true,
|
||||||
|
template: &chronograf.Template{
|
||||||
|
Type: "flux",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "Valid Map type",
|
name: "Valid Map type",
|
||||||
template: &chronograf.Template{
|
template: &chronograf.Template{
|
||||||
|
|
Loading…
Reference in New Issue