mirror of
https://github.com/binwiederhier/ntfy.git
synced 2026-10-16 04:26:37 +02:00
Client: test header encoding with unicode, long values and plain ASCII
This commit is contained in:
1 parent
a33508bb1a
commit
2a591ecf38
2 files changed
+35
No files matched your search
@@ -119,6 +119,19 @@ func TestClient_Publish_HeaderWithNewlines(t *testing.T) {
|
||||
require.Equal(t, "message\n with\n newlines", msg.Message)
|
||||
require.Equal(t, "title\nwith newline", msg.Title)
|
||||
require.Equal(t, "test.txt", msg.Attachment.Name)
|
||||
|
||||
// Unicode, and long values that are split into multiple encoded words
|
||||
longMessage := strings.Repeat("Grüße aus Köln 🎉\r\n", 30)
|
||||
msg, err = c.PublishReader("mytopic", strings.NewReader("file contents"),
|
||||
client.WithFilename("über.txt"),
|
||||
client.WithMessage(longMessage),
|
||||
client.WithTitle("Grüße 🎉"),
|
||||
client.WithTags([]string{"tada", "größe"}))
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, strings.TrimSpace(longMessage), msg.Message)
|
||||
require.Equal(t, "Grüße 🎉", msg.Title)
|
||||
require.Equal(t, []string{"tada", "größe"}, msg.Tags)
|
||||
require.Equal(t, "über.txt", msg.Attachment.Name)
|
||||
}
|
||||
|
||||
func newTestConfig(port int) *client.Config {
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package client_test
|
||||
|
||||
import (
|
||||
"github.com/stretchr/testify/require"
|
||||
"heckel.io/ntfy/v2/client"
|
||||
"net/http"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestWithHeader_PlainValueUnchanged(t *testing.T) {
|
||||
r, _ := http.NewRequest("POST", "http://127.0.0.1/mytopic", nil)
|
||||
require.Nil(t, client.WithTitle("Backup done: 3 files, 0 errors (100%)\twith tab")(r))
|
||||
require.Equal(t, "Backup done: 3 files, 0 errors (100%)\twith tab", r.Header.Get("X-Title"))
|
||||
}
|
||||
|
||||
func TestWithHeader_SpecialCharsEncoded(t *testing.T) {
|
||||
r, _ := http.NewRequest("POST", "http://127.0.0.1/mytopic", nil)
|
||||
require.Nil(t, client.WithMessage("line 1\nline 2")(r))
|
||||
require.Nil(t, client.WithTitle("Grüße 🎉")(r))
|
||||
require.Equal(t, "=?utf-8?b?bGluZSAxCmxpbmUgMg==?=", r.Header.Get("X-Message"))
|
||||
require.Equal(t, "=?utf-8?b?R3LDvMOfZSDwn46J?=", r.Header.Get("X-Title"))
|
||||
}
|
||||
Reference in new issue
Block a user