ntfy/cmd/app_test.go

36 lines
674 B
Go
Raw Normal View History

2021-12-20 00:32:16 +01:00
package cmd
import (
"bytes"
2021-12-24 15:01:29 +01:00
"encoding/json"
2021-12-20 00:32:16 +01:00
"github.com/urfave/cli/v2"
2021-12-24 15:01:29 +01:00
"heckel.io/ntfy/client"
2021-12-20 00:32:16 +01:00
"os"
2021-12-24 15:01:29 +01:00
"strings"
2021-12-20 00:32:16 +01:00
"testing"
)
// This only contains helpers so far
func TestMain(m *testing.M) {
2022-01-16 04:33:35 +01:00
// log.SetOutput(io.Discard)
2021-12-20 00:32:16 +01:00
os.Exit(m.Run())
}
func newTestApp() (*cli.App, *bytes.Buffer, *bytes.Buffer, *bytes.Buffer) {
var stdin, stdout, stderr bytes.Buffer
app := New()
app.Reader = &stdin
app.Writer = &stdout
app.ErrWriter = &stderr
return app, &stdin, &stdout, &stderr
}
2021-12-24 15:01:29 +01:00
func toMessage(t *testing.T, s string) *client.Message {
var m *client.Message
if err := json.NewDecoder(strings.NewReader(s)).Decode(&m); err != nil {
t.Fatal(err)
}
return m
}