@@ -29,11 +29,14 @@ func TestQueryLints(t *testing.T) {
2929 t .Run ("parses lint results from local database" , func (t * testing.T ) {
3030 utils .Config .Hostname = "127.0.0.1"
3131 utils .Config .Db .Port = 5432
32+ setupSQL , querySQL := splitLintsSQL ()
3233 // Setup mock postgres
3334 conn := pgtest .NewConn ()
3435 defer conn .Close (t )
3536 conn .Query ("begin" ).Reply ("BEGIN" ).
36- Query (lintsSQL ).
37+ Query (setupSQL ).
38+ Reply ("SET" ).
39+ Query (querySQL ).
3740 Reply ("SELECT 1" ,
3841 []any {
3942 "rls_disabled_in_public" ,
@@ -59,10 +62,13 @@ func TestQueryLints(t *testing.T) {
5962 })
6063
6164 t .Run ("handles empty results" , func (t * testing.T ) {
65+ setupSQL , querySQL := splitLintsSQL ()
6266 conn := pgtest .NewConn ()
6367 defer conn .Close (t )
6468 conn .Query ("begin" ).Reply ("BEGIN" ).
65- Query (lintsSQL ).
69+ Query (setupSQL ).
70+ Reply ("SET" ).
71+ Query (querySQL ).
6672 Reply ("SELECT 0" ).
6773 Query ("rollback" ).Reply ("ROLLBACK" )
6874 // Run test
@@ -72,16 +78,32 @@ func TestQueryLints(t *testing.T) {
7278 })
7379
7480 t .Run ("handles query error" , func (t * testing.T ) {
81+ setupSQL , querySQL := splitLintsSQL ()
7582 conn := pgtest .NewConn ()
7683 defer conn .Close (t )
7784 conn .Query ("begin" ).Reply ("BEGIN" ).
78- Query (lintsSQL ).
85+ Query (setupSQL ).
86+ Reply ("SET" ).
87+ Query (querySQL ).
7988 ReplyError ("42601" , "syntax error" ).
8089 Query ("rollback" ).Reply ("ROLLBACK" )
8190 // Run test
8291 _ , err := queryLints (context .Background (), conn .MockClient (t ))
8392 assert .Error (t , err )
8493 })
94+
95+ t .Run ("handles setup error" , func (t * testing.T ) {
96+ setupSQL , _ := splitLintsSQL ()
97+ conn := pgtest .NewConn ()
98+ defer conn .Close (t )
99+ conn .Query ("begin" ).Reply ("BEGIN" ).
100+ Query (setupSQL ).
101+ ReplyError ("42601" , "syntax error" ).
102+ Query ("rollback" ).Reply ("ROLLBACK" )
103+ // Run test
104+ _ , err := queryLints (context .Background (), conn .MockClient (t ))
105+ assert .ErrorContains (t , err , "failed to prepare lint session" )
106+ })
85107}
86108
87109func TestFilterLints (t * testing.T ) {
@@ -313,11 +335,14 @@ func TestRunLocalWithDbUrl(t *testing.T) {
313335 t .Run ("runs advisors against custom db-url" , func (t * testing.T ) {
314336 utils .Config .Hostname = "127.0.0.1"
315337 utils .Config .Db .Port = 5432
338+ setupSQL , querySQL := splitLintsSQL ()
316339
317340 conn := pgtest .NewConn ()
318341 defer conn .Close (t )
319342 conn .Query ("begin" ).Reply ("BEGIN" ).
320- Query (lintsSQL ).
343+ Query (setupSQL ).
344+ Reply ("SET" ).
345+ Query (querySQL ).
321346 Reply ("SELECT 1" ,
322347 []any {
323348 "rls_disabled_in_public" ,
@@ -339,10 +364,13 @@ func TestRunLocalWithDbUrl(t *testing.T) {
339364 })
340365
341366 t .Run ("returns no issues for empty results" , func (t * testing.T ) {
367+ setupSQL , querySQL := splitLintsSQL ()
342368 conn := pgtest .NewConn ()
343369 defer conn .Close (t )
344370 conn .Query ("begin" ).Reply ("BEGIN" ).
345- Query (lintsSQL ).
371+ Query (setupSQL ).
372+ Reply ("SET" ).
373+ Query (querySQL ).
346374 Reply ("SELECT 0" ).
347375 Query ("rollback" ).Reply ("ROLLBACK" )
348376
@@ -351,10 +379,13 @@ func TestRunLocalWithDbUrl(t *testing.T) {
351379 })
352380
353381 t .Run ("fails on error level when fail-on is set" , func (t * testing.T ) {
382+ setupSQL , querySQL := splitLintsSQL ()
354383 conn := pgtest .NewConn ()
355384 defer conn .Close (t )
356385 conn .Query ("begin" ).Reply ("BEGIN" ).
357- Query (lintsSQL ).
386+ Query (setupSQL ).
387+ Reply ("SET" ).
388+ Query (querySQL ).
358389 Reply ("SELECT 1" ,
359390 []any {
360391 "rls_disabled_in_public" ,
0 commit comments