MCPcopy Create free account
hub / github.com/araddon/qlbridge / TestTable

Function TestTable

schema/schema_test.go:185–232  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

183 assert.NotEqual(t, nil, err)
184}
185func TestTable(t *testing.T) {
186 tbl := schema.NewTable("users")
187
188 assert.Equal(t, "users", tbl.Name)
189 assert.Equal(t, uint64(0), tbl.Id())
190 assert.Equal(t, false, tbl.Current())
191 tbl.SetRefreshed()
192 assert.Equal(t, true, tbl.Current())
193 schema.SchemaRefreshInterval = time.Minute * 5
194 tbl.SetRefreshed()
195 assert.Equal(t, false, tbl.Current())
196
197 f := schema.NewFieldBase("first_name", value.StringType, 255, "string")
198 tbl.AddField(f)
199
200 tbl.AddField(schema.NewFieldBase("last_name", value.StringType, 255, "string"))
201 vt, ok := tbl.Column("first_name")
202 assert.True(t, ok)
203 assert.Equal(t, value.StringType, vt)
204 vt, ok = tbl.Column("FIRST_NAME")
205 assert.True(t, ok)
206 assert.Equal(t, value.StringType, vt)
207 _, ok = tbl.Column("age")
208 assert.True(t, !ok)
209 assert.True(t, tbl.HasField("first_name"))
210 assert.Equal(t, false, tbl.HasField("not_name"))
211
212 tbl.SetColumnsFromFields()
213 assert.Equal(t, []string{"first_name", "last_name"}, tbl.Columns())
214 fc := tbl.FieldNamesPositions()
215 assert.Equal(t, 1, fc["last_name"])
216
217 // should ignore 2nd repeat of first_name
218 tbl.AddField(f)
219 tbl.SetColumnsFromFields()
220 assert.Equal(t, []string{"first_name", "last_name"}, tbl.Columns())
221 assert.Equal(t, 2, len(tbl.FieldsAsMessages()))
222
223 tbl.AddContext("hello", "world")
224 assert.Equal(t, 1, len(tbl.Context))
225
226 tbl.SetRows(nil)
227 assert.Equal(t, 2, len(tbl.AsRows()))
228 assert.Equal(t, 2, len(tbl.AsRows()))
229
230 assert.NotEqual(t, nil, tbl.Body())
231 assert.Equal(t, uint64(0), tbl.Id())
232}
233func TestFields(t *testing.T) {
234 f := schema.NewFieldBase("Field", value.StringType, 64, "string")
235 assert.NotEqual(t, nil, f)

Callers

nothing calls this directly

Calls 15

IdMethod · 0.95
CurrentMethod · 0.95
SetRefreshedMethod · 0.95
AddFieldMethod · 0.95
ColumnMethod · 0.95
HasFieldMethod · 0.95
SetColumnsFromFieldsMethod · 0.95
ColumnsMethod · 0.95
FieldNamesPositionsMethod · 0.95
FieldsAsMessagesMethod · 0.95
AddContextMethod · 0.95
SetRowsMethod · 0.95

Tested by

no test coverage detected