@@ -31,3 +31,84 @@ func TestBuilderGlobalInsertSchemaEmpty(t *testing.T) {
3131 t .Fatalf ("incorrect error: %v" , err .Error ())
3232 }
3333}
34+
35+ func TestScriptTransactionWrapper (t * testing.T ) {
36+ type args struct {
37+ query string
38+ }
39+ tests := []struct {
40+ name string
41+ args args
42+ want string
43+ }{
44+ {name : "InbPackageBuildTest1" , args : args {query : "SELECT 1;" }, want : "DO $$ BEGIN SELECT 1; END $$ ;" },
45+ {name : "InbPackageBuildTest2" , args : args {query : "TRUNCATE TABLE public.test;" }, want : "DO $$ BEGIN TRUNCATE TABLE public.test; END $$ ;" },
46+ }
47+ for _ , tt := range tests {
48+ t .Run (tt .name , func (t * testing.T ) {
49+ if got := ScriptTransactionWrapper (tt .args .query ); got != tt .want {
50+ t .Errorf ("ScriptTransactionWrapper() = %v, want %v" , got , tt .want )
51+ }
52+ })
53+ }
54+ }
55+
56+ func TestScriptSetTableLogged (t * testing.T ) {
57+ type args struct {
58+ schema string
59+ tableName string
60+ }
61+ tests := []struct {
62+ name string
63+ args args
64+ want string
65+ wantErr bool
66+ }{
67+ {name : "ScriptSetTableLoggedTest1" , args : args {schema : "public" , tableName : "test" }, want : "ALTER TABLE public.test SET LOGGED;" , wantErr : false },
68+ {name : "ScriptSetTableLoggedTest1" , args : args {schema : "" , tableName : "test" }, want : "" , wantErr : true },
69+ {name : "ScriptSetTableLoggedTest1" , args : args {schema : "public" , tableName : "" }, want : "" , wantErr : true },
70+ {name : "ScriptSetTableLoggedTest1" , args : args {schema : "" , tableName : "" }, want : "" , wantErr : true },
71+ }
72+ for _ , tt := range tests {
73+ t .Run (tt .name , func (t * testing.T ) {
74+ got , err := ScriptSetTableLogged (tt .args .schema , tt .args .tableName )
75+ if (err != nil ) != tt .wantErr {
76+ t .Errorf ("ScriptSetTableLogged() error = %v, wantErr %v" , err , tt .wantErr )
77+ return
78+ }
79+ if got != tt .want {
80+ t .Errorf ("ScriptSetTableLogged() got = %v, want %v" , got , tt .want )
81+ }
82+ })
83+ }
84+ }
85+
86+ func TestScriptSetTableUnlogged (t * testing.T ) {
87+ type args struct {
88+ schema string
89+ tableName string
90+ }
91+ tests := []struct {
92+ name string
93+ args args
94+ want string
95+ wantErr bool
96+ }{
97+ {name : "ScriptSetTableUnloggedTest1" , args : args {schema : "public" , tableName : "test" }, want : "ALTER TABLE public.test SET UNLOGGED;" , wantErr : false },
98+ {name : "ScriptSetTableUnloggedTest2" , args : args {schema : "" , tableName : "test" }, want : "" , wantErr : true },
99+ {name : "ScriptSetTableUnloggedTest3" , args : args {schema : "public" , tableName : "" }, want : "" , wantErr : true },
100+ {name : "ScriptSetTableUnloggedTest4" , args : args {schema : "" , tableName : "" }, want : "" , wantErr : true },
101+ }
102+ for _ , tt := range tests {
103+ t .Run (tt .name , func (t * testing.T ) {
104+ got , err := ScriptSetTableUnlogged (tt .args .schema , tt .args .tableName )
105+ if (err != nil ) != tt .wantErr {
106+ t .Errorf ("ScriptSetTableLogged() error = %v, wantErr %v" , err , tt .wantErr )
107+ return
108+ }
109+ if got != tt .want {
110+ t .Errorf ("ScriptSetTableLogged() got = %v, want %v" , got , tt .want )
111+ }
112+ })
113+ }
114+ }
0 commit comments