blob: 435fa3a4732deff1c229fc507358a7b4c31b43c3 [file] [log] [blame]
package integration
import (
"github.com/cloudberrydb/gp-common-go-libs/gplog"
"github.com/cloudberrydb/gp-common-go-libs/testhelper"
"github.com/cloudberrydb/gpbackup/backup"
"github.com/cloudberrydb/gpbackup/options"
"github.com/spf13/cobra"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
var _ = Describe("Wrappers Integration", func() {
Describe("RetrieveAndProcessTables", func() {
BeforeEach(func() {
gplog.SetVerbosity(gplog.LOGERROR) // turn off progress bar in the lock-table routine
var rootCmd = &cobra.Command{}
backup.DoInit(rootCmd) // initialize the ObjectCount
})
It("returns the data tables that have names with special characters", func() {
_ = backupCmdFlags.Set(options.INCLUDE_RELATION, "public.foo")
_ = backupCmdFlags.Set(options.INCLUDE_RELATION, "public.BAR")
testhelper.AssertQueryRuns(connectionPool, "CREATE TABLE public.foo(i int); INSERT INTO public.foo VALUES (1);")
testhelper.AssertQueryRuns(connectionPool, `CREATE TABLE public."BAR"(i int); INSERT INTO public."BAR" VALUES (1);`)
defer testhelper.AssertQueryRuns(connectionPool, "DROP TABLE public.foo;")
defer testhelper.AssertQueryRuns(connectionPool, `DROP TABLE public."BAR";`)
// every backup occurs in a transaction; we are testing a small part of that backup
connectionPool.MustBegin(0)
defer connectionPool.MustCommit(0)
_, dataTables := backup.RetrieveAndProcessTables()
Expect(len(dataTables)).To(Equal(2))
Expect(dataTables[0].Name).To(Equal("foo"))
Expect(dataTables[1].Name).To(Equal(`"BAR"`))
})
})
})