MCPcopy Create free account
hub / github.com/bytebase/bytebase / TestConvertSpannerValue

Function TestConvertSpannerValue

backend/plugin/db/spanner/spanner_test.go:99–330  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

97}
98
99func TestConvertSpannerValue(t *testing.T) {
100 tests := []struct {
101 name string
102 colType *sppb.Type
103 value *structpb.Value
104 expected *v1pb.RowValue
105 }{
106 {
107 name: "nil value",
108 colType: nil,
109 value: nil,
110 expected: util.NullRowValue,
111 },
112 {
113 name: "null value",
114 colType: &sppb.Type{Code: sppb.TypeCode_STRING},
115 value: structpb.NewNullValue(),
116 expected: util.NullRowValue,
117 },
118 {
119 name: "string value",
120 colType: &sppb.Type{Code: sppb.TypeCode_STRING},
121 value: structpb.NewStringValue("hello"),
122 expected: &v1pb.RowValue{Kind: &v1pb.RowValue_StringValue{
123 StringValue: "hello",
124 }},
125 },
126 {
127 name: "bool value - true",
128 colType: &sppb.Type{Code: sppb.TypeCode_BOOL},
129 value: structpb.NewBoolValue(true),
130 expected: &v1pb.RowValue{Kind: &v1pb.RowValue_BoolValue{
131 BoolValue: true,
132 }},
133 },
134 {
135 name: "bool value - false",
136 colType: &sppb.Type{Code: sppb.TypeCode_BOOL},
137 value: structpb.NewBoolValue(false),
138 expected: &v1pb.RowValue{Kind: &v1pb.RowValue_BoolValue{
139 BoolValue: false,
140 }},
141 },
142 {
143 name: "float64 value",
144 colType: &sppb.Type{Code: sppb.TypeCode_FLOAT64},
145 value: structpb.NewNumberValue(3.14159),
146 expected: &v1pb.RowValue{Kind: &v1pb.RowValue_DoubleValue{
147 DoubleValue: 3.14159,
148 }},
149 },
150 {
151 name: "int64 small value",
152 colType: &sppb.Type{Code: sppb.TypeCode_INT64},
153 value: structpb.NewNumberValue(42),
154 expected: &v1pb.RowValue{Kind: &v1pb.RowValue_Int64Value{
155 Int64Value: 42,
156 }},

Callers

nothing calls this directly

Calls 4

timestampRowValueFunction · 0.85
convertSpannerValueFunction · 0.85
EqualMethod · 0.65
RunMethod · 0.45

Tested by

no test coverage detected