mirror of
https://github.com/bbernhard/signal-cli-rest-api.git
synced 2026-09-01 06:38:12 +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)
|
output, infoMessages, warnMessages := stripInfoAndWarnMessages(stdout)
|
||||||
stderr = strings.TrimSpace(stderr)
|
stderr = strings.TrimSpace(stderr)
|
||||||
if stderr != "" {
|
if stderr != "" {
|
||||||
if warnMessages != "" {
|
stderrOutput, stderrInfoMessages, stderrWarnMessages := stripInfoAndWarnMessages(stderr)
|
||||||
warnMessages += "\n"
|
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
|
return output, infoMessages, warnMessages
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,13 +7,19 @@ import (
|
|||||||
|
|
||||||
func TestClassifySignalCliOutputKeepsStderrOutOfResponse(t *testing.T) {
|
func TestClassifySignalCliOutputKeepsStderrOutOfResponse(t *testing.T) {
|
||||||
stdout := "{\"account\":\"+380000000001\"}\n"
|
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) {
|
if output != strings.TrimSpace(stdout) {
|
||||||
t.Fatalf("got output %q, wanted %q", 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") {
|
if !strings.Contains(warnings, "Invalid content! reason") || !strings.Contains(warnings, "java.lang.Throwable") {
|
||||||
t.Fatalf("warnings did not preserve stderr: %q", warnings)
|
t.Fatalf("warnings did not preserve stderr: %q", warnings)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user