Sfoglia il codice sorgente

fix: gofmt/gocylo leftover from old PR (#610)

James Read 1 anno fa
parent
commit
e38361f3d7

+ 19 - 19
service/internal/executor/arguments.go

@@ -81,6 +81,7 @@ func parseActionArguments(values map[string]string, action *config.Action, entit
 	return parsedShellCommand, nil
 }
 
+//gocyclo:ignore
 func redactShellCommand(shellCommand string, arguments []config.ActionArgument, argumentValues map[string]string) string {
 	for _, arg := range arguments {
 		if arg.Type == "password" {
@@ -92,7 +93,7 @@ func redactShellCommand(shellCommand string, arguments []config.ActionArgument,
 			}
 
 			if argValue == "" {
-				continue 
+				continue
 			}
 
 			shellCommand = strings.ReplaceAll(shellCommand, argValue, "<redacted>")
@@ -237,30 +238,29 @@ func typeSafetyCheckUrl(value string) error {
 }
 
 func mangleInvalidArgumentValues(req *ExecutionRequest) {
-	mangleInvalidDatetimeValues(req)
-}
-
-func mangleInvalidDatetimeValues(req *ExecutionRequest) {
 	for _, arg := range req.Action.Arguments {
 		if arg.Type == "datetime" {
-			value, exists := req.Arguments[arg.Name]
+			mangleInvalidDatetimeValues(req, &arg)
+		}
+	}
+}
 
-			if !exists || value == "" {
-				continue
-			}
+func mangleInvalidDatetimeValues(req *ExecutionRequest, arg *config.ActionArgument) {
+	value, exists := req.Arguments[arg.Name]
 
-			timestamp, err := time.Parse("2006-01-02T15:04", value)
+	if !exists || value == "" {
+		return
+	}
 
-			if err == nil {
-				log.WithFields(log.Fields {
-					"arg":     arg.Name,
-					"value":   value,
-					"actionTitle": req.Action.Title,
-				}).Warnf("Mangled invalid datetime value without seconds to :00 seconds, this issue is commonly caused by Android browsers.")
+	timestamp, err := time.Parse("2006-01-02T15:04", value)
 
-				req.Arguments[arg.Name] = timestamp.Format("2006-01-02T15:04:05")
-			}
+	if err == nil {
+		log.WithFields(log.Fields{
+			"arg":         arg.Name,
+			"value":       value,
+			"actionTitle": req.Action.Title,
+		}).Warnf("Mangled invalid datetime value without seconds to :00 seconds, this issue is commonly caused by Android browsers.")
 
-		}
+		req.Arguments[arg.Name] = timestamp.Format("2006-01-02T15:04:05")
 	}
 }

+ 1 - 1
service/internal/executor/arguments_test.go

@@ -149,7 +149,7 @@ func TestRedactShellCommand(t *testing.T) {
 
 	values := map[string]string{
 		"personName": "Fred",
-		"password": "toomanysecrets",
+		"password":   "toomanysecrets",
 	}
 
 	res := redactShellCommand(cmd, args, values)

+ 3 - 3
service/internal/executor/executor_test.go

@@ -247,11 +247,11 @@ func TestMangleInvalidArgumentValues(t *testing.T) {
 	cfg.Sanitize()
 
 	req := ExecutionRequest{
-		Action: a1,
+		Action:            a1,
 		AuthenticatedUser: acl.UserFromSystem(cfg, "testuser"),
 		Cfg:               cfg,
-		Arguments:         map[string]string{
-			"date":  "1990-01-10T12:00", // Invalid format, should be without seconds
+		Arguments: map[string]string{
+			"date": "1990-01-10T12:00", // Invalid format, should be without seconds
 		},
 	}