mirror of
https://github.com/anyproto/anytype-heart.git
synced 2025-06-08 05:47:07 +09:00
add tests
This commit is contained in:
parent
37d4ad4527
commit
71cd4d12ea
2 changed files with 90 additions and 12 deletions
|
@ -47,20 +47,18 @@ func LevelsFromStr(s string) (levels []logger.NamedLevel) {
|
|||
var key, value string
|
||||
if len(parts) == 1 {
|
||||
key = "*"
|
||||
value = parts[0]
|
||||
if value == "" {
|
||||
continue
|
||||
}
|
||||
_, err := zap.ParseAtomicLevel(value)
|
||||
if err != nil {
|
||||
fmt.Printf("Can't parse log level %s: %s\n", parts[0], err.Error())
|
||||
continue
|
||||
}
|
||||
levels = append(levels, logger.NamedLevel{Name: key, Level: value})
|
||||
value = strings.TrimSpace(parts[0])
|
||||
} else if len(parts) == 2 {
|
||||
key = parts[0]
|
||||
value = parts[1]
|
||||
key = strings.TrimSpace(parts[0])
|
||||
value = strings.TrimSpace(parts[1])
|
||||
} else {
|
||||
fmt.Printf("invalid log level format. It should be something like `prefix*=LEVEL;*suffix=LEVEL`, where LEVEL is one of valid log levels\n")
|
||||
continue
|
||||
}
|
||||
if key == "" || value == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
_, err := zap.ParseAtomicLevel(value)
|
||||
if err != nil {
|
||||
fmt.Printf("Can't parse log level %s: %s\n", parts[0], err.Error())
|
||||
|
|
80
pkg/lib/logging/logging_test.go
Normal file
80
pkg/lib/logging/logging_test.go
Normal file
|
@ -0,0 +1,80 @@
|
|||
package logging
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/anyproto/any-sync/app/logger"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestLevelsFromStr(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
arg string
|
||||
want []logger.NamedLevel
|
||||
}{
|
||||
{
|
||||
name: "Correct Input",
|
||||
arg: "name1=DEBUG;prefix*=WARN;*=ERROR",
|
||||
want: []logger.NamedLevel{
|
||||
{Name: "name1", Level: "DEBUG"},
|
||||
{Name: "prefix*", Level: "WARN"},
|
||||
{Name: "*", Level: "ERROR"},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Correct Input with whitespaces",
|
||||
arg: "name1 = DEBUG ; prefix* = WARN; *= ERROR",
|
||||
want: []logger.NamedLevel{
|
||||
{Name: "name1", Level: "DEBUG"},
|
||||
{Name: "prefix*", Level: "WARN"},
|
||||
{Name: "*", Level: "ERROR"},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Extra semicolon",
|
||||
arg: "name1=DEBUG;prefix*=WARN;*=ERROR;",
|
||||
want: []logger.NamedLevel{
|
||||
{Name: "name1", Level: "DEBUG"},
|
||||
{Name: "prefix*", Level: "WARN"},
|
||||
{Name: "*", Level: "ERROR"},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Invalid level",
|
||||
arg: "name1=DEBUG;prefix*=WARN;*=INVALID",
|
||||
want: []logger.NamedLevel{
|
||||
{Name: "name1", Level: "DEBUG"},
|
||||
{Name: "prefix*", Level: "WARN"},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Empty",
|
||||
arg: "",
|
||||
want: nil,
|
||||
},
|
||||
{
|
||||
name: "spaces",
|
||||
arg: " ",
|
||||
want: nil,
|
||||
},
|
||||
{
|
||||
name: "invalid assignment",
|
||||
arg: "a=b=c=d",
|
||||
want: nil,
|
||||
},
|
||||
{
|
||||
name: "wtf",
|
||||
arg: " ;fsg;;gf;gf;gd;gd;g;fd;dfg;;gfd----gd-gfd-g-gdf-gd-g-gd-fg-====gdf=gf==;;;==;=;=;=;=g ",
|
||||
want: nil,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got := LevelsFromStr(tt.arg)
|
||||
assert.True(t, reflect.DeepEqual(got, tt.want), "LevelsFromStr() = %v, want %v", got, tt.want)
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue