62 lines
1.9 KiB
Go
62 lines
1.9 KiB
Go
package admin_test
|
|
|
|
import (
|
|
"encoding/json"
|
|
"io"
|
|
"net/http"
|
|
"testing"
|
|
)
|
|
|
|
func TestCreateRejectsDefaultDelayOverMax(t *testing.T) {
|
|
_, srv, client, _, _ := setupEndpoints(t)
|
|
body := `{"id":"dly-c","name":"延迟","login_password":"password1","default_delay_seconds":31536001}`
|
|
res := postJSON(t, client, srv.URL+"/api/admin/endpoints", body, csrfHeaders())
|
|
env := decodeEnv(t, res)
|
|
if res.StatusCode != http.StatusBadRequest {
|
|
t.Fatalf("want 400 got %d %+v", res.StatusCode, env)
|
|
}
|
|
}
|
|
|
|
func TestPatchRejectsDefaultDelayOverMax(t *testing.T) {
|
|
_, srv, client, _, _ := setupEndpoints(t)
|
|
res := postJSON(t, client, srv.URL+"/api/admin/endpoints",
|
|
`{"id":"dly-p","name":"延迟","login_password":"password1"}`, csrfHeaders())
|
|
env := decodeEnv(t, res)
|
|
if res.StatusCode != 200 || !env.OK {
|
|
t.Fatalf("create: %d %+v", res.StatusCode, env)
|
|
}
|
|
res = doReq(t, client, http.MethodPatch, srv.URL+"/api/admin/endpoints/dly-p",
|
|
`{"default_delay_seconds":31536001}`, csrfHeaders())
|
|
env = decodeEnv(t, res)
|
|
if res.StatusCode != http.StatusBadRequest {
|
|
t.Fatalf("want 400 got %d %+v", res.StatusCode, env)
|
|
}
|
|
}
|
|
|
|
func TestImportRejectsDefaultDelayOverMax(t *testing.T) {
|
|
_, srv, client, _, _ := setupEndpoints(t)
|
|
csvBody := "" +
|
|
"id,name,login_password,talk_password,default_delay_seconds,remark\n" +
|
|
"dly-i,甲,password1,,31536001,\n"
|
|
res := postImportCSV(t, client, srv.URL, csvBody)
|
|
raw, _ := io.ReadAll(res.Body)
|
|
_ = res.Body.Close()
|
|
if res.StatusCode != http.StatusBadRequest {
|
|
t.Fatalf("want 400 got %d body=%s", res.StatusCode, raw)
|
|
}
|
|
var parsed struct {
|
|
Data *struct {
|
|
Errors []struct {
|
|
Line int `json:"line"`
|
|
Reason string `json:"reason"`
|
|
} `json:"errors"`
|
|
} `json:"data"`
|
|
}
|
|
if err := json.Unmarshal(raw, &parsed); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if parsed.Data == nil || len(parsed.Data.Errors) == 0 {
|
|
t.Fatalf("want row error, body=%s", raw)
|
|
}
|
|
}
|