mirror of
https://github.com/bbernhard/signal-cli-rest-api.git
synced 2026-07-29 01:09:22 +00:00
Preserve INFO severity for signal-cli stderr
This commit is contained in:
parent
1a43bdaca5
commit
090432e596
@ -55,10 +55,25 @@ func classifySignalCliOutput(stdout string, stderr string) (string, string, stri
|
||||
output, infoMessages, warnMessages := stripInfoAndWarnMessages(stdout)
|
||||
stderr = strings.TrimSpace(stderr)
|
||||
if stderr != "" {
|
||||
if warnMessages != "" {
|
||||
warnMessages += "\n"
|
||||
stderrOutput, stderrInfoMessages, stderrWarnMessages := stripInfoAndWarnMessages(stderr)
|
||||
if stderrInfoMessages != "" {
|
||||
if infoMessages != "" {
|
||||
infoMessages += "\n"
|
||||
}
|
||||
infoMessages += stderrInfoMessages
|
||||
}
|
||||
if stderrWarnMessages != "" {
|
||||
if warnMessages != "" {
|
||||
warnMessages += "\n"
|
||||
}
|
||||
warnMessages += stderrWarnMessages
|
||||
}
|
||||
if stderrOutput != "" {
|
||||
if warnMessages != "" {
|
||||
warnMessages += "\n"
|
||||
}
|
||||
warnMessages += stderrOutput
|
||||
}
|
||||
warnMessages += stderr
|
||||
}
|
||||
return output, infoMessages, warnMessages
|
||||
}
|
||||
|
||||
@ -7,13 +7,19 @@ import (
|
||||
|
||||
func TestClassifySignalCliOutputKeepsStderrOutOfResponse(t *testing.T) {
|
||||
stdout := "{\"account\":\"+380000000001\"}\n"
|
||||
stderr := "WARN IncomingMessageHandler - Invalid content! reason\njava.lang.Throwable\n\tat example"
|
||||
stderr := "INFO Manager - Routine status\nWARN IncomingMessageHandler - Invalid content! reason\njava.lang.Throwable\n\tat example"
|
||||
|
||||
output, _, warnings := classifySignalCliOutput(stdout, stderr)
|
||||
output, infos, warnings := classifySignalCliOutput(stdout, stderr)
|
||||
|
||||
if output != strings.TrimSpace(stdout) {
|
||||
t.Fatalf("got output %q, wanted %q", output, strings.TrimSpace(stdout))
|
||||
}
|
||||
if !strings.Contains(infos, "INFO Manager - Routine status") {
|
||||
t.Fatalf("INFO stderr was not preserved at INFO severity: %q", infos)
|
||||
}
|
||||
if strings.Contains(warnings, "INFO Manager - Routine status") {
|
||||
t.Fatalf("INFO stderr was promoted to warning severity: %q", warnings)
|
||||
}
|
||||
if !strings.Contains(warnings, "Invalid content! reason") || !strings.Contains(warnings, "java.lang.Throwable") {
|
||||
t.Fatalf("warnings did not preserve stderr: %q", warnings)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user