Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
79 lines
1.3 KiB
Go
79 lines
1.3 KiB
Go
package golang
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/sqlc-dev/sqlc/internal/metadata"
|
|
"github.com/sqlc-dev/sqlc/internal/plugin"
|
|
)
|
|
|
|
func TestPutOutColumns_ForZeroColumns(t *testing.T) {
|
|
tests := []struct {
|
|
cmd string
|
|
want bool
|
|
}{
|
|
{
|
|
cmd: metadata.CmdExec,
|
|
want: false,
|
|
},
|
|
{
|
|
cmd: metadata.CmdExecResult,
|
|
want: false,
|
|
},
|
|
{
|
|
cmd: metadata.CmdExecRows,
|
|
want: false,
|
|
},
|
|
{
|
|
cmd: metadata.CmdExecLastId,
|
|
want: false,
|
|
},
|
|
{
|
|
cmd: metadata.CmdMany,
|
|
want: true,
|
|
},
|
|
{
|
|
cmd: metadata.CmdOne,
|
|
want: true,
|
|
},
|
|
{
|
|
cmd: metadata.CmdCopyFrom,
|
|
want: false,
|
|
},
|
|
{
|
|
cmd: metadata.CmdBatchExec,
|
|
want: false,
|
|
},
|
|
{
|
|
cmd: metadata.CmdBatchMany,
|
|
want: true,
|
|
},
|
|
{
|
|
cmd: metadata.CmdBatchOne,
|
|
want: true,
|
|
},
|
|
}
|
|
for _, tc := range tests {
|
|
t.Run(tc.cmd, func(t *testing.T) {
|
|
query := &plugin.Query{
|
|
Cmd: tc.cmd,
|
|
Columns: []*plugin.Column{},
|
|
}
|
|
got := putOutColumns(query)
|
|
if got != tc.want {
|
|
t.Errorf("putOutColumns failed. want %v, got %v", tc.want, got)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestPutOutColumns_AlwaysTrueWhenQueryHasColumns(t *testing.T) {
|
|
query := &plugin.Query{
|
|
Cmd: metadata.CmdMany,
|
|
Columns: []*plugin.Column{{}},
|
|
}
|
|
if putOutColumns(query) != true {
|
|
t.Error("should be true when we have columns")
|
|
}
|
|
}
|