1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- // 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())
- })
- }
- }
|