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

Function TestBuildDMLInsertQuery

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

Source from the content-addressed store, hash-verified

845}
846
847func TestBuildDMLInsertQuery(t *testing.T) {
848 databaseName := "mydb"
849 tableName := "tbl"
850 tableColumns := NewColumnList([]string{"id", "name", "rank", "position", "age"})
851 args := []interface{}{3, "testname", "first", 17, 23}
852 {
853 sharedColumns := NewColumnList([]string{"id", "name", "position", "age"})
854 builder, err := NewDMLInsertQueryBuilder(databaseName, tableName, tableColumns, sharedColumns, sharedColumns)
855 require.NoError(t, err)
856 query, sharedArgs, err := builder.BuildQuery(args)
857 require.NoError(t, err)
858 expected := `
859 insert /* gh-ost mydb.tbl */ ignore
860 into mydb.tbl
861 (id, name, position, age)
862 values
863 (?, ?, ?, ?)
864 `
865 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
866 require.Equal(t, []interface{}{3, "testname", 17, 23}, sharedArgs)
867 }
868 {
869 sharedColumns := NewColumnList([]string{"position", "name", "age", "id"})
870 builder, err := NewDMLInsertQueryBuilder(databaseName, tableName, tableColumns, sharedColumns, sharedColumns)
871 require.NoError(t, err)
872 query, sharedArgs, err := builder.BuildQuery(args)
873 require.NoError(t, err)
874 expected := `
875 insert /* gh-ost mydb.tbl */ ignore
876 into mydb.tbl
877 (position, name, age, id)
878 values
879 (?, ?, ?, ?)
880 `
881 require.Equal(t, normalizeQuery(expected), normalizeQuery(query))
882 require.Equal(t, []interface{}{17, "testname", 23, 3}, sharedArgs)
883 }
884 {
885 sharedColumns := NewColumnList([]string{"position", "name", "surprise", "id"})
886 _, err := NewDMLInsertQueryBuilder(databaseName, tableName, tableColumns, sharedColumns, sharedColumns)
887 require.Error(t, err)
888 }
889 {
890 sharedColumns := NewColumnList([]string{})
891 _, err := NewDMLInsertQueryBuilder(databaseName, tableName, tableColumns, sharedColumns, sharedColumns)
892 require.Error(t, err)
893 }
894}
895
896func TestBuildDMLInsertQuerySignedUnsigned(t *testing.T) {
897 databaseName := "mydb"

Callers

nothing calls this directly

Calls 5

BuildQueryMethod · 0.95
NewColumnListFunction · 0.85
NewDMLInsertQueryBuilderFunction · 0.85
normalizeQueryFunction · 0.85
ErrorMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…