mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-07 14:50:55 +03:00
WebUI: add a JSON helper function
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
@@ -2195,6 +2195,33 @@ func TestRecoverer(t *testing.T) {
|
||||
assert.Equal(t, http.StatusInternalServerError, rr.Code, rr.Body.String())
|
||||
}
|
||||
|
||||
func TestStreamJSONArray(t *testing.T) {
|
||||
dataGetter := func(limit, offset int) ([]byte, int, error) {
|
||||
return nil, 0, nil
|
||||
}
|
||||
rr := httptest.NewRecorder()
|
||||
streamJSONArray(rr, 10, dataGetter)
|
||||
assert.Equal(t, `[]`, rr.Body.String())
|
||||
|
||||
data := []int{}
|
||||
for i := 0; i < 10; i++ {
|
||||
data = append(data, i)
|
||||
}
|
||||
|
||||
dataGetter = func(limit, offset int) ([]byte, int, error) {
|
||||
if offset >= len(data) {
|
||||
return nil, 0, nil
|
||||
}
|
||||
val := data[offset]
|
||||
data, err := json.Marshal([]int{val})
|
||||
return data, 1, err
|
||||
}
|
||||
|
||||
rr = httptest.NewRecorder()
|
||||
streamJSONArray(rr, 1, dataGetter)
|
||||
assert.Equal(t, `[0,1,2,3,4,5,6,7,8,9]`, rr.Body.String())
|
||||
}
|
||||
|
||||
func TestCompressorAbortHandler(t *testing.T) {
|
||||
defer func() {
|
||||
rcv := recover()
|
||||
@@ -2209,6 +2236,15 @@ func TestCompressorAbortHandler(t *testing.T) {
|
||||
renderCompressedFiles(&failingWriter{}, connection, "", nil, share)
|
||||
}
|
||||
|
||||
func TestStreamDataAbortHandler(t *testing.T) {
|
||||
defer func() {
|
||||
rcv := recover()
|
||||
assert.Equal(t, http.ErrAbortHandler, rcv)
|
||||
}()
|
||||
|
||||
streamData(&failingWriter{}, []byte(`["a":"b"]`))
|
||||
}
|
||||
|
||||
func TestZipErrors(t *testing.T) {
|
||||
user := dataprovider.User{
|
||||
BaseUser: sdk.BaseUser{
|
||||
|
||||
Reference in New Issue
Block a user