mirror of
https://github.com/kevin-DL/revel-cmd.git
synced 2026-01-22 15:05:26 +00:00
Lint fixes
This commit is contained in:
@@ -5,46 +5,57 @@
|
||||
package logger_test
|
||||
|
||||
import (
|
||||
"github.com/revel/config"
|
||||
"github.com/revel/revel/logger"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/revel/cmd/logger"
|
||||
"github.com/revel/config"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
type (
|
||||
// A counter for the tester
|
||||
// A counter for the tester.
|
||||
testCounter struct {
|
||||
debug, info, warn, error, critical int
|
||||
}
|
||||
// The data to tes
|
||||
// The data to tes.
|
||||
testData struct {
|
||||
config []string
|
||||
result testResult
|
||||
tc *testCounter
|
||||
}
|
||||
// The test result
|
||||
// The test result.
|
||||
testResult struct {
|
||||
debug, info, warn, error, critical int
|
||||
}
|
||||
)
|
||||
|
||||
// Single test cases
|
||||
// Single test cases.
|
||||
var singleCases = []testData{
|
||||
{config: []string{"log.crit.output"},
|
||||
result: testResult{0, 0, 0, 0, 1}},
|
||||
{config: []string{"log.error.output"},
|
||||
result: testResult{0, 0, 0, 1, 1}},
|
||||
{config: []string{"log.warn.output"},
|
||||
result: testResult{0, 0, 1, 0, 0}},
|
||||
{config: []string{"log.info.output"},
|
||||
result: testResult{0, 1, 0, 0, 0}},
|
||||
{config: []string{"log.debug.output"},
|
||||
result: testResult{1, 0, 0, 0, 0}},
|
||||
{
|
||||
config: []string{"log.crit.output"},
|
||||
result: testResult{0, 0, 0, 0, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.error.output"},
|
||||
result: testResult{0, 0, 0, 1, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.warn.output"},
|
||||
result: testResult{0, 0, 1, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.info.output"},
|
||||
result: testResult{0, 1, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.debug.output"},
|
||||
result: testResult{1, 0, 0, 0, 0},
|
||||
},
|
||||
}
|
||||
|
||||
// Test singles
|
||||
// Test singles.
|
||||
func TestSingleCases(t *testing.T) {
|
||||
rootLog := logger.New()
|
||||
for _, testCase := range singleCases {
|
||||
@@ -53,31 +64,51 @@ func TestSingleCases(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Filter test cases
|
||||
// Filter test cases.
|
||||
var filterCases = []testData{
|
||||
{config: []string{"log.crit.filter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 1}},
|
||||
{config: []string{"log.crit.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{config: []string{"log.error.filter.module.app"},
|
||||
result: testResult{0, 0, 0, 1, 1}},
|
||||
{config: []string{"log.error.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{config: []string{"log.warn.filter.module.app"},
|
||||
result: testResult{0, 0, 1, 0, 0}},
|
||||
{config: []string{"log.warn.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{config: []string{"log.info.filter.module.app"},
|
||||
result: testResult{0, 1, 0, 0, 0}},
|
||||
{config: []string{"log.info.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{config: []string{"log.debug.filter.module.app"},
|
||||
result: testResult{1, 0, 0, 0, 0}},
|
||||
{config: []string{"log.debug.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{
|
||||
config: []string{"log.crit.filter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.crit.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.error.filter.module.app"},
|
||||
result: testResult{0, 0, 0, 1, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.error.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.warn.filter.module.app"},
|
||||
result: testResult{0, 0, 1, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.warn.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.info.filter.module.app"},
|
||||
result: testResult{0, 1, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.info.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.debug.filter.module.app"},
|
||||
result: testResult{1, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.debug.filter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
}
|
||||
|
||||
// Filter test
|
||||
// Filter test.
|
||||
func TestFilterCases(t *testing.T) {
|
||||
rootLog := logger.New("module", "app")
|
||||
for _, testCase := range filterCases {
|
||||
@@ -86,33 +117,55 @@ func TestFilterCases(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Inverse test cases
|
||||
// Inverse test cases.
|
||||
var nfilterCases = []testData{
|
||||
{config: []string{"log.crit.nfilter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 1}},
|
||||
{config: []string{"log.crit.nfilter.modules.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{config: []string{"log.crit.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{config: []string{"log.error.nfilter.module.appa"}, // Special case, when error is not nill critical inherits from error
|
||||
result: testResult{0, 0, 0, 1, 1}},
|
||||
{config: []string{"log.error.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{config: []string{"log.warn.nfilter.module.appa"},
|
||||
result: testResult{0, 0, 1, 0, 0}},
|
||||
{config: []string{"log.warn.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{config: []string{"log.info.nfilter.module.appa"},
|
||||
result: testResult{0, 1, 0, 0, 0}},
|
||||
{config: []string{"log.info.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{config: []string{"log.debug.nfilter.module.appa"},
|
||||
result: testResult{1, 0, 0, 0, 0}},
|
||||
{config: []string{"log.debug.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0}},
|
||||
{
|
||||
config: []string{"log.crit.nfilter.module.appa"},
|
||||
result: testResult{0, 0, 0, 0, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.crit.nfilter.modules.appa"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.crit.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.error.nfilter.module.appa"}, // Special case, when error is not nill critical inherits from error
|
||||
result: testResult{0, 0, 0, 1, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.error.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.warn.nfilter.module.appa"},
|
||||
result: testResult{0, 0, 1, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.warn.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.info.nfilter.module.appa"},
|
||||
result: testResult{0, 1, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.info.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.debug.nfilter.module.appa"},
|
||||
result: testResult{1, 0, 0, 0, 0},
|
||||
},
|
||||
{
|
||||
config: []string{"log.debug.nfilter.module.app"},
|
||||
result: testResult{0, 0, 0, 0, 0},
|
||||
},
|
||||
}
|
||||
|
||||
// Inverse test
|
||||
// Inverse test.
|
||||
func TestNotFilterCases(t *testing.T) {
|
||||
rootLog := logger.New("module", "app")
|
||||
for _, testCase := range nfilterCases {
|
||||
@@ -121,13 +174,15 @@ func TestNotFilterCases(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// off test cases
|
||||
// off test cases.
|
||||
var offCases = []testData{
|
||||
{config: []string{"log.all.output", "log.error.output=off"},
|
||||
result: testResult{1, 1, 1, 0, 1}},
|
||||
{
|
||||
config: []string{"log.all.output", "log.error.output=off"},
|
||||
result: testResult{1, 1, 1, 0, 1},
|
||||
},
|
||||
}
|
||||
|
||||
// Off test
|
||||
// Off test.
|
||||
func TestOffCases(t *testing.T) {
|
||||
rootLog := logger.New("module", "app")
|
||||
for _, testCase := range offCases {
|
||||
@@ -136,13 +191,15 @@ func TestOffCases(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Duplicate test cases
|
||||
// Duplicate test cases.
|
||||
var duplicateCases = []testData{
|
||||
{config: []string{"log.all.output", "log.error.output", "log.error.filter.module.app"},
|
||||
result: testResult{1, 1, 1, 2, 1}},
|
||||
{
|
||||
config: []string{"log.all.output", "log.error.output", "log.error.filter.module.app"},
|
||||
result: testResult{1, 1, 1, 2, 1},
|
||||
},
|
||||
}
|
||||
|
||||
// test duplicate cases
|
||||
// test duplicate cases.
|
||||
func TestDuplicateCases(t *testing.T) {
|
||||
rootLog := logger.New("module", "app")
|
||||
for _, testCase := range duplicateCases {
|
||||
@@ -151,19 +208,27 @@ func TestDuplicateCases(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Contradicting cases
|
||||
// Contradicting cases.
|
||||
var contradictCases = []testData{
|
||||
{config: []string{"log.all.output", "log.error.output=off", "log.all.output"},
|
||||
result: testResult{1, 1, 1, 0, 1}},
|
||||
{config: []string{"log.all.output", "log.error.output=off", "log.debug.filter.module.app"},
|
||||
result: testResult{2, 1, 1, 0, 1}},
|
||||
{config: []string{"log.all.filter.module.app", "log.info.output=off", "log.info.filter.module.app"},
|
||||
result: testResult{1, 2, 1, 1, 1}},
|
||||
{config: []string{"log.all.output", "log.info.output=off", "log.info.filter.module.app"},
|
||||
result: testResult{1, 1, 1, 1, 1}},
|
||||
{
|
||||
config: []string{"log.all.output", "log.error.output=off", "log.all.output"},
|
||||
result: testResult{1, 1, 1, 0, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.all.output", "log.error.output=off", "log.debug.filter.module.app"},
|
||||
result: testResult{2, 1, 1, 0, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.all.filter.module.app", "log.info.output=off", "log.info.filter.module.app"},
|
||||
result: testResult{1, 2, 1, 1, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.all.output", "log.info.output=off", "log.info.filter.module.app"},
|
||||
result: testResult{1, 1, 1, 1, 1},
|
||||
},
|
||||
}
|
||||
|
||||
// Contradiction test
|
||||
// Contradiction test.
|
||||
func TestContradictCases(t *testing.T) {
|
||||
rootLog := logger.New("module", "app")
|
||||
for _, testCase := range contradictCases {
|
||||
@@ -172,15 +237,19 @@ func TestContradictCases(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// All test cases
|
||||
// All test cases.
|
||||
var allCases = []testData{
|
||||
{config: []string{"log.all.filter.module.app"},
|
||||
result: testResult{1, 1, 1, 1, 1}},
|
||||
{config: []string{"log.all.output"},
|
||||
result: testResult{2, 2, 2, 2, 2}},
|
||||
{
|
||||
config: []string{"log.all.filter.module.app"},
|
||||
result: testResult{1, 1, 1, 1, 1},
|
||||
},
|
||||
{
|
||||
config: []string{"log.all.output"},
|
||||
result: testResult{2, 2, 2, 2, 2},
|
||||
},
|
||||
}
|
||||
|
||||
// All tests
|
||||
// All tests.
|
||||
func TestAllCases(t *testing.T) {
|
||||
rootLog := logger.New("module", "app")
|
||||
for i, testCase := range allCases {
|
||||
@@ -195,7 +264,6 @@ func TestAllCases(t *testing.T) {
|
||||
for _, testCase := range allCases {
|
||||
testCase.validate(t)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (c *testCounter) Log(r *logger.Record) error {
|
||||
@@ -215,6 +283,7 @@ func (c *testCounter) Log(r *logger.Record) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (td *testData) logTest(rootLog logger.MultiLogger, t *testing.T) {
|
||||
if td.tc == nil {
|
||||
td.tc = &testCounter{}
|
||||
@@ -256,7 +325,7 @@ func (td *testData) validate(t *testing.T) {
|
||||
assert.Equal(t, td.result.critical, td.tc.critical, "Critical failed "+strings.Join(td.config, " "))
|
||||
}
|
||||
|
||||
// Add test to the function map
|
||||
// Add test to the function map.
|
||||
func counterInit(tc *testCounter) {
|
||||
logger.LogFunctionMap["test"] = func(c *logger.CompositeMultiHandler, logOptions *logger.LogOptions) {
|
||||
// Output to the test log and the stdout
|
||||
|
||||
Reference in New Issue
Block a user