dcrd/database2/log_test.go
Dave Collins 0e47daf6ba database: Update for Decred.
This commit ports the database2 package from btcsuite pulled in via the
previous commit to Decred.

It includes updating all necessary package imports, types, logic,
copyrights, and documentation as well as replacing the first 256 Bitcoin
blocks in the test data with the first 256 Decred blocks.
2016-05-25 23:09:31 -05:00

69 lines
1.4 KiB
Go

// Copyright (c) 2015-2016 The btcsuite developers
// Copyright (c) 2016 The Decred developers
// Use of this source code is governed by an ISC
// license that can be found in the LICENSE file.
package database2_test
import (
"errors"
"io"
"os"
"testing"
database "github.com/decred/dcrd/database2"
)
// TestSetLogWriter ensures the
func TestSetLogWriter(t *testing.T) {
tests := []struct {
name string
w io.Writer
level string
expected error
}{
{
name: "nil writer",
w: nil,
level: "trace",
expected: errors.New("nil writer"),
},
{
name: "invalid log level",
w: os.Stdout,
level: "wrong",
expected: errors.New("invalid log level"),
},
{
name: "use off level",
w: os.Stdout,
level: "off",
expected: errors.New("min level can't be greater than max. Got min: 6, max: 5"),
},
{
name: "pass",
w: os.Stdout,
level: "debug",
expected: nil,
},
}
t.Logf("Running %d tests", len(tests))
for i, test := range tests {
err := database.SetLogWriter(test.w, test.level)
if err != nil {
if err.Error() != test.expected.Error() {
t.Errorf("SetLogWriter #%d (%s) wrong result\n"+
"got: %v\nwant: %v", i, test.name, err,
test.expected)
}
} else {
if test.expected != nil {
t.Errorf("SetLogWriter #%d (%s) wrong result\n"+
"got: %v\nwant: %v", i, test.name, err,
test.expected)
}
}
}
}