MCPcopy Create free account
hub / github.com/CovenantSQL/CovenantSQL / TestConvertQueryAndBuildArgs

Function TestConvertQueryAndBuildArgs

xenomint/state_test.go:531–711  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

529}
530
531func TestConvertQueryAndBuildArgs(t *testing.T) {
532 Convey("Test query rewrite and sanitizer", t, func() {
533 var (
534 containsDDL bool
535 sanitizedQuery string
536 sanitizedArgs []interface{}
537 err error
538 )
539
540 // show tables query
541 containsDDL, sanitizedQuery, sanitizedArgs, err = convertQueryAndBuildArgs(
542 "SHOW TABLES", []types.NamedArg{})
543 So(containsDDL, ShouldBeFalse)
544 So(sanitizedQuery, ShouldContainSubstring, "sqlite_master")
545 So(sanitizedArgs, ShouldHaveLength, 0)
546 So(err, ShouldBeNil)
547
548 // show index query
549 containsDDL, sanitizedQuery, sanitizedArgs, err = convertQueryAndBuildArgs(
550 "SHOW INDEX FROM TABLE a", []types.NamedArg{})
551 So(containsDDL, ShouldBeFalse)
552 So(sanitizedQuery, ShouldContainSubstring, "sqlite_master")
553 So(sanitizedArgs, ShouldHaveLength, 0)
554 So(err, ShouldBeNil)
555
556 // show create table query
557 containsDDL, sanitizedQuery, sanitizedArgs, err = convertQueryAndBuildArgs(
558 "SHOW CREATE TABLE a", []types.NamedArg{})
559 So(containsDDL, ShouldBeFalse)
560 So(sanitizedQuery, ShouldContainSubstring, "sqlite_master")
561 So(sanitizedArgs, ShouldHaveLength, 0)
562 So(err, ShouldBeNil)
563
564 // desc table query
565 containsDDL, sanitizedQuery, sanitizedArgs, err = convertQueryAndBuildArgs(
566 "DESC a", []types.NamedArg{})
567 So(containsDDL, ShouldBeFalse)
568 So(sanitizedQuery, ShouldContainSubstring, "table_info")
569 So(sanitizedArgs, ShouldHaveLength, 0)
570 So(err, ShouldBeNil)
571
572 // contains ddl query
573 ddlQuery := "CREATE TABLE test (test int)"
574 containsDDL, sanitizedQuery, sanitizedArgs, err = convertQueryAndBuildArgs(
575 ddlQuery, []types.NamedArg{})
576 So(containsDDL, ShouldBeTrue)
577 So(sanitizedQuery, ShouldEqual, ddlQuery)
578 So(sanitizedArgs, ShouldHaveLength, 0)
579 So(err, ShouldBeNil)
580
581 // contains ddl query
582 ddlQuery = "CREATE VIRTUAL TABLE test USING xxfunc(foo bar)"
583 containsDDL, sanitizedQuery, sanitizedArgs, err = convertQueryAndBuildArgs(
584 ddlQuery, []types.NamedArg{})
585 So(containsDDL, ShouldBeTrue)
586 So(sanitizedQuery, ShouldEqual, ddlQuery)
587 So(sanitizedArgs, ShouldHaveLength, 0)
588 So(err, ShouldBeNil)

Callers

nothing calls this directly

Calls 1

convertQueryAndBuildArgsFunction · 0.85

Tested by

no test coverage detected