ResourceServer: Resource store sql backend (#90170)
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
package sqltemplate
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"slices"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestScanDest_Into(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
var d ScanDest
|
||||
|
||||
colName, err := d.Into(reflect.Value{}, "some field")
|
||||
if colName != "" || err == nil || len(d.GetScanDest()) != 0 {
|
||||
t.Fatalf("unexpected outcome, got colname %q, err: %v, scan dest: %#v",
|
||||
colName, err, d)
|
||||
}
|
||||
|
||||
data := struct {
|
||||
X int
|
||||
Y byte
|
||||
}{}
|
||||
dataVal := reflect.ValueOf(&data).Elem()
|
||||
|
||||
expectedColNames := []string{"some int", "and a byte"}
|
||||
|
||||
colName, err = d.Into(dataVal.FieldByName("X"), expectedColNames[0])
|
||||
v := d.GetScanDest()
|
||||
if err != nil || colName != expectedColNames[0] || len(v) != 1 || v[0] != &data.X {
|
||||
t.Fatalf("unexpected outcome, got colname %q, err: %v, scan dest: %#v",
|
||||
colName, err, d)
|
||||
}
|
||||
|
||||
colName, err = d.Into(dataVal.FieldByName("Y"), expectedColNames[1])
|
||||
v = d.GetScanDest()
|
||||
if err != nil || colName != expectedColNames[1] || len(v) != 2 || v[1] != &data.Y {
|
||||
t.Fatalf("unexpected outcome, got colname %q, err: %v, scan dest: %#v",
|
||||
colName, err, d)
|
||||
}
|
||||
|
||||
if gotColNames := d.GetColNames(); !slices.Equal(expectedColNames, gotColNames) {
|
||||
t.Fatalf("unexpected column names: %v", gotColNames)
|
||||
}
|
||||
|
||||
d.Reset()
|
||||
v = d.GetScanDest()
|
||||
if len(v) != 0 {
|
||||
t.Fatalf("unexpected values after reset: %v", v)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user