MCPcopy
hub / github.com/github/gh-ost / TestBuildDMLInsertQuerySignedUnsigned

Function TestBuildDMLInsertQuerySignedUnsigned

go/sql/builder_test.go:896–955  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

894}
895
896func TestBuildDMLInsertQuerySignedUnsigned(t *testing.T) {
897 databaseName := "mydb"
898 tableName := "tbl"
899 tableColumns := NewColumnList([]string{"id", "name", "rank", "position", "age"})
900 sharedColumns := NewColumnList([]string{"id", "name", "position", "age"})
901 {
902 // testing signed
903 args := []interface{}{3, "testname", "first", int8(-1), 23}
904 sharedColumns := NewColumnList([]string{"id", "name", "position", "age"})
905 builder, err := NewDMLInsertQueryBuilder(databaseName, tableName, tableColumns, sharedColumns, sharedColumns)
906 require.NoError(t, err)
907 query, sharedArgs, err := builder.BuildQuery(args)
908 require.NoError(t, err)
909 expected := `
910 insert /* gh-ost mydb.tbl */ ignore
911 into mydb.tbl
912 (id, name, position, age)
913 values
914 (?, ?, ?, ?)
915 `
916 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
917 require.Equal(t, []interface{}{3, "testname", int8(-1), 23}, sharedArgs)
918 }
919 {
920 // testing unsigned
921 args := []interface{}{3, "testname", "first", int8(-1), 23}
922 sharedColumns.SetUnsigned("position")
923 builder, err := NewDMLInsertQueryBuilder(databaseName, tableName, tableColumns, sharedColumns, sharedColumns)
924 require.NoError(t, err)
925 query, sharedArgs, err := builder.BuildQuery(args)
926 require.NoError(t, err)
927 expected := `
928 insert /* gh-ost mydb.tbl */ ignore
929 into mydb.tbl
930 (id, name, position, age)
931 values
932 (?, ?, ?, ?)
933 `
934 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
935 require.Equal(t, []interface{}{3, "testname", uint8(255), 23}, sharedArgs)
936 }
937 {
938 // testing unsigned
939 args := []interface{}{3, "testname", "first", int32(-1), 23}
940 sharedColumns.SetUnsigned("position")
941 builder, err := NewDMLInsertQueryBuilder(databaseName, tableName, tableColumns, sharedColumns, sharedColumns)
942 require.NoError(t, err)
943 query, sharedArgs, err := builder.BuildQuery(args)
944 require.NoError(t, err)
945 expected := `
946 insert /* gh-ost mydb.tbl */ ignore
947 into mydb.tbl
948 (id, name, position, age)
949 values
950 (?, ?, ?, ?)
951 `
952 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
953 require.Equal(t, []interface{}{3, "testname", uint32(4294967295), 23}, sharedArgs)

Callers

nothing calls this directly

Calls 5

BuildQueryMethod · 0.95
SetUnsignedMethod · 0.95
NewColumnListFunction · 0.85
NewDMLInsertQueryBuilderFunction · 0.85
normalizeQueryFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…