|
@@ -61,6 +61,42 @@ func TestValidateEnv(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func TestValidateArg(t *testing.T) {
|
|
|
+ valids := map[string]string{
|
|
|
+ "_=a": "_=a",
|
|
|
+ "var1=value1": "var1=value1",
|
|
|
+ "_var1=value1": "_var1=value1",
|
|
|
+ "var2=value2=value3": "var2=value2=value3",
|
|
|
+ "var3=abc!qwe": "var3=abc!qwe",
|
|
|
+ "var_4=value 4": "var_4=value 4",
|
|
|
+ "var_5=": "var_5=",
|
|
|
+ }
|
|
|
+ for value, expected := range valids {
|
|
|
+ actual, err := ValidateArg(value)
|
|
|
+ if err != nil {
|
|
|
+ t.Fatal(err)
|
|
|
+ }
|
|
|
+ if actual != expected {
|
|
|
+ t.Fatalf("Expected [%v], got [%v]", expected, actual)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ invalid := map[string]string{
|
|
|
+ "foo": "bad format",
|
|
|
+ "=foo": "bad format",
|
|
|
+ "cc c": "bad format",
|
|
|
+ }
|
|
|
+ for value, expectedError := range invalid {
|
|
|
+ if _, err := ValidateArg(value); err == nil {
|
|
|
+ t.Fatalf("ValidateArg(`%s`) should have failed validation", value)
|
|
|
+ } else {
|
|
|
+ if !strings.Contains(err.Error(), expectedError) {
|
|
|
+ t.Fatalf("ValidateArg(`%s`) error should contain %q", value, expectedError)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func TestValidateExtraHosts(t *testing.T) {
|
|
|
valid := []string{
|
|
|
`myhost:192.168.0.1`,
|