package api import ( "net/http" "net/http/httptest" "testing" ) func TestAdminQuotaUpdate(t *testing.T) { a, sid := runtimeTestAPI(t, func(http.ResponseWriter, *http.Request) {}) request := func() *httptest.ResponseRecorder { w := httptest.NewRecorder() a.users(w, runtimeRequest("PATCH", "/api/users", `{"id":"owner","quota_bytes":2048}`, sid)) return w } if w := request(); w.Code != 403 { t.Fatal(w.Code) } if _, err := a.s.DB.Exec("UPDATE users SET admin=1 WHERE id='owner'"); err != nil { t.Fatal(err) } if w := request(); w.Code != 200 { t.Fatal(w.Code, w.Body.String()) } u, err := a.s.UserByID("owner") if err != nil || u.Quota != 2048 { t.Fatalf("%+v %v", u, err) } t.Setenv("DEFAULT_QUOTA_BYTES", "12345") if DefaultQuota() != 12345 { t.Fatal("default quota ignored") } }