Files
server/test/asserts_test.go
饺子w (Yumechi) ad977d3d9c feat: EdDSA token for database leakage/index mitigation (#971)
* feat: EdDSA token for database leakage/index mitigation

* [skip ci]: remove token from api output

* fix: e2e tests

* fixup! fix: e2e tests

* doc: document tokens are now optional fields for app and aclient

* fixup(doc): swagger version again

* address review comments

* address review comments
2026-06-28 14:58:20 +00:00

49 lines
965 B
Go

package test_test
import (
"io"
"net/http/httptest"
"testing"
"github.com/gotify/server/v2/test"
"github.com/stretchr/testify/assert"
)
type obj struct {
Test string
ID int
}
type fakeTesting struct {
hasErrors bool
}
func (t *fakeTesting) Errorf(format string, args ...any) {
t.hasErrors = true
}
func Test_BodyEquals(t *testing.T) {
recorder := httptest.NewRecorder()
recorder.WriteString(`{"ID": 2, "Test": "asd"}`)
fakeTesting := &fakeTesting{}
test.BodyEquals(fakeTesting, &obj{ID: 2, Test: "asd"}, recorder)
assert.False(t, fakeTesting.hasErrors)
}
func Test_BodyEquals_failing(t *testing.T) {
recorder := httptest.NewRecorder()
recorder.WriteString(`{"ID": 3, "Test": "asd"}`)
fakeTesting := &fakeTesting{}
test.BodyEquals(fakeTesting, &obj{ID: 2, Test: "asd"}, recorder)
assert.True(t, fakeTesting.hasErrors)
}
func Test_UnreaableReader(t *testing.T) {
_, err := io.ReadAll(test.UnreadableReader())
assert.Error(t, err)
}