Files
gitea/modules/log/level_test.go
T
silverwind 8abda62312 test: consolidate Go tests (#39962)
Consolidate all Go tests. Coverage is identical to before. Go tests are
around 5% faster while being 7% smaller. No non-test code is touched.
2026-10-24 13:48:19 +00:00

48 lines
1.0 KiB
Go

// Copyright 2019 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package log
import (
"fmt"
"testing"
"gitea.dev/modules/json"
"github.com/stretchr/testify/assert"
)
type testLevel struct {
Level Level `json:"level"`
}
func TestLevelMarshalUnmarshalJSON(t *testing.T) {
levelBytes, err := json.Marshal(testLevel{
Level: INFO,
})
assert.NoError(t, err)
assert.Equal(t, string(makeTestLevelBytes(INFO.String())), string(levelBytes))
var testLevel testLevel
for _, levelJSON := range [][]byte{
levelBytes,
makeTestLevelBytes(`FOFOO`),
fmt.Appendf(nil, `{"level":%d}`, 2),
fmt.Appendf(nil, `{"level":%d}`, 10012),
[]byte(`{"level":{}}`),
} {
err = json.Unmarshal(levelJSON, &testLevel)
assert.NoError(t, err)
assert.Equal(t, INFO, testLevel.Level)
}
assert.Equal(t, INFO.String(), Level(1001).String())
err = json.Unmarshal([]byte(`{"level":{}`), &testLevel.Level)
assert.Error(t, err)
}
func makeTestLevelBytes(level string) []byte {
return fmt.Appendf(nil, `{"level":"%s"}`, level)
}