Files

29 lines
944 B
Go

package api
import (
"encoding/json"
"testing"
"linkport/internal/store"
)
func TestLoggingSettings(t *testing.T) {
f := newFixture(t)
f.login()
w := f.request("GET", "/api/v1/logging/settings", nil, false)
requireStatus(t, w, 200)
var settings store.LogSettings
if err := json.Unmarshal(w.Body.Bytes(), &settings); err != nil {
t.Fatal(err)
}
if settings.MaxBytes != store.DefaultLogShardMaxBytes || settings.MaxAllowedBytes != store.MaxLogShardMaxBytes {
t.Fatal(settings)
}
requireStatus(t, f.request("PUT", "/api/v1/logging/settings", map[string]int64{"maxBytes": store.MinLogShardMaxBytes - 1}, true), 400)
w = f.request("PUT", "/api/v1/logging/settings", map[string]int64{"maxBytes": store.MinLogShardMaxBytes}, true)
requireStatus(t, w, 200)
if err := json.Unmarshal(w.Body.Bytes(), &settings); err != nil || settings.MaxBytes != store.MinLogShardMaxBytes {
t.Fatalf("saved settings: %v %v", settings, err)
}
}