diff options
Diffstat (limited to 'internal/dbutil/writer_test.go')
-rw-r--r-- | internal/dbutil/writer_test.go | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/internal/dbutil/writer_test.go b/internal/dbutil/writer_test.go new file mode 100644 index 00000000..33961aa1 --- /dev/null +++ b/internal/dbutil/writer_test.go @@ -0,0 +1,53 @@ +// Copyright 2020 The Gogs Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package dbutil + +import ( + "bytes" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestWriter_Print(t *testing.T) { + tests := []struct { + name string + vs []interface{} + expOutput string + }{ + { + name: "no values", + }, + { + name: "only one value", + vs: []interface{}{"test"}, + expOutput: "test", + }, + { + name: "two values", + vs: []interface{}{"test", "output"}, + expOutput: "testoutput", + }, + + { + name: "sql", + vs: []interface{}{"sql", "writer.go:65", "1ms", "SELECT * FROM users WHERE user_id = $1", []int{1}, 1}, + expOutput: "[sql] [writer.go:65] [1ms] SELECT * FROM users WHERE user_id = $1 [1] (1 rows affected)", + }, + { + name: "log", + vs: []interface{}{"log", "writer.go:65", "something"}, + expOutput: "[log] [writer.go:65] something", + }, + } + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + var buf bytes.Buffer + w := &Writer{Writer: &buf} + w.Print(test.vs...) + assert.Equal(t, test.expOutput, buf.String()) + }) + } +} |