Merge branch 'next' into dependabot/npm_and_yarn/integration-tests/next/selenium-webdriver-4.41.0
This commit is contained in:
commit
1d61117d67
|
|
@ -3,6 +3,7 @@ listenAddressSingleHTTPFrontend: 0.0.0.0:1337
|
|||
|
||||
logLevel: "DEBUG"
|
||||
checkForUpdates: false
|
||||
popupOnStart: execution-dialog
|
||||
|
||||
actions:
|
||||
- title: Test checkbox argument
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ listenAddressSingleHTTPFrontend: 0.0.0.0:1337
|
|||
|
||||
logLevel: "DEBUG"
|
||||
checkForUpdates: false
|
||||
popupOnStart: execution-dialog
|
||||
|
||||
actions:
|
||||
- title: Test datetime argument
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ listenAddressSingleHTTPFrontend: 0.0.0.0:1337
|
|||
|
||||
logLevel: "DEBUG"
|
||||
checkForUpdates: false
|
||||
popupOnStart: execution-dialog
|
||||
|
||||
actions:
|
||||
- title: Test suggestionsBrowserKey
|
||||
|
|
|
|||
|
|
@ -718,13 +718,18 @@ func filterToDefinedArgumentsOnly(req *ExecutionRequest) {
|
|||
}
|
||||
filtered := make(map[string]string)
|
||||
for k, v := range req.Arguments {
|
||||
if _, ok := definedNames[k]; ok || strings.HasPrefix(k, "ot_") {
|
||||
if keepArgument(k, definedNames) {
|
||||
filtered[k] = v
|
||||
}
|
||||
}
|
||||
req.Arguments = filtered
|
||||
}
|
||||
|
||||
func keepArgument(name string, definedNames map[string]struct{}) bool {
|
||||
_, ok := definedNames[name]
|
||||
return ok || strings.HasPrefix(name, "ot_")
|
||||
}
|
||||
|
||||
func hasWebhookTag(req *ExecutionRequest) bool {
|
||||
for _, tag := range req.Tags {
|
||||
if tag == "webhook" {
|
||||
|
|
|
|||
|
|
@ -366,8 +366,8 @@ func TestFilterToDefinedArgumentsOnly(t *testing.T) {
|
|||
},
|
||||
}
|
||||
req.Arguments = map[string]string{
|
||||
"name": "Alice",
|
||||
"webhook_path": "/malicious/$(id)",
|
||||
"name": "Alice",
|
||||
"webhook_path": "/malicious/$(id)",
|
||||
"extra_undefined": "ignored",
|
||||
}
|
||||
|
||||
|
|
@ -381,13 +381,13 @@ func TestFilterToDefinedArgumentsOnly(t *testing.T) {
|
|||
func TestFilterToDefinedArgumentsPreservesSystemArgs(t *testing.T) {
|
||||
req := newExecRequest()
|
||||
req.Binding.Action = &config.Action{
|
||||
Title: "Filter test",
|
||||
Shell: "echo test",
|
||||
Title: "Filter test",
|
||||
Shell: "echo test",
|
||||
Arguments: []config.ActionArgument{},
|
||||
}
|
||||
req.Arguments = map[string]string{
|
||||
"ot_executionTrackingId": "track-123",
|
||||
"ot_username": "webhook",
|
||||
"ot_username": "webhook",
|
||||
}
|
||||
|
||||
filterToDefinedArgumentsOnly(req)
|
||||
|
|
|
|||
|
|
@ -62,20 +62,25 @@ func TestParseTemplateWithActionContext_Json(t *testing.T) {
|
|||
}
|
||||
assert.NoError(t, err)
|
||||
if tt.checkJsonOnly {
|
||||
prefix := strings.TrimSuffix(tt.expectedOutput, " ")
|
||||
assert.True(t, strings.HasPrefix(output, prefix), "output %q should start with %q", output, prefix)
|
||||
jsonPart := strings.TrimPrefix(output, prefix)
|
||||
jsonPart = strings.TrimSpace(jsonPart)
|
||||
var decoded map[string]string
|
||||
err := json.Unmarshal([]byte(jsonPart), &decoded)
|
||||
assert.NoError(t, err)
|
||||
for k, v := range tt.args {
|
||||
assert.Equal(t, v, decoded[k], "decoded JSON should contain %s=%s", k, v)
|
||||
}
|
||||
assert.Len(t, decoded, len(tt.args))
|
||||
assertJsonOutput(t, output, tt.expectedOutput, tt.args)
|
||||
} else {
|
||||
assert.Equal(t, tt.expectedOutput, output)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func assertJsonOutput(t *testing.T, output, expectedPrefix string, args map[string]string) {
|
||||
t.Helper()
|
||||
prefix := strings.TrimSuffix(expectedPrefix, " ")
|
||||
assert.True(t, strings.HasPrefix(output, prefix), "output %q should start with %q", output, prefix)
|
||||
jsonPart := strings.TrimPrefix(output, prefix)
|
||||
jsonPart = strings.TrimSpace(jsonPart)
|
||||
var decoded map[string]string
|
||||
err := json.Unmarshal([]byte(jsonPart), &decoded)
|
||||
assert.NoError(t, err)
|
||||
for k, v := range args {
|
||||
assert.Equal(t, v, decoded[k], "decoded JSON should contain %s=%s", k, v)
|
||||
}
|
||||
assert.Len(t, decoded, len(args))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ func TestFilterToDefinedArguments(t *testing.T) {
|
|||
},
|
||||
}
|
||||
args := map[string]string{
|
||||
"repo": "my-repo",
|
||||
"branch": "main",
|
||||
"webhook_path": "/deploy/prod",
|
||||
"repo": "my-repo",
|
||||
"branch": "main",
|
||||
"webhook_path": "/deploy/prod",
|
||||
"webhook_header_x_custom": "malicious",
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue