@@ -298,3 +298,60 @@ async fn test_role_hover_alter_role(test_db: PgPool) {
298
298
299
299
test_hover_at_cursor ( "role_alter" , query, None , & test_db) . await ;
300
300
}
301
+
302
+ #[ sqlx:: test( migrator = "pgt_test_utils::MIGRATIONS" ) ]
303
+ async fn test_policy_table_hover ( test_db : PgPool ) {
304
+ let setup = r#"
305
+ create table users (
306
+ id serial primary key,
307
+ name text
308
+ );
309
+ "# ;
310
+
311
+ test_db. execute ( setup) . await . unwrap ( ) ;
312
+
313
+ let query = format ! (
314
+ r#"create policy "my cool pol" on us{}ers for all to public with check (true);"# ,
315
+ QueryWithCursorPosition :: cursor_marker( )
316
+ ) ;
317
+
318
+ test_hover_at_cursor ( "create_policy" , query, None , & test_db) . await ;
319
+ }
320
+
321
+ #[ sqlx:: test( migrator = "pgt_test_utils::MIGRATIONS" ) ]
322
+ async fn test_revoke_table_hover ( test_db : PgPool ) {
323
+ let setup = r#"
324
+ create table users (
325
+ id serial primary key,
326
+ name text
327
+ );
328
+ "# ;
329
+
330
+ test_db. execute ( setup) . await . unwrap ( ) ;
331
+
332
+ let query = format ! (
333
+ "revoke select on us{}ers from public;" ,
334
+ QueryWithCursorPosition :: cursor_marker( )
335
+ ) ;
336
+
337
+ test_hover_at_cursor ( "revoke_select" , query, None , & test_db) . await ;
338
+ }
339
+
340
+ #[ sqlx:: test( migrator = "pgt_test_utils::MIGRATIONS" ) ]
341
+ async fn test_grant_table_hover ( test_db : PgPool ) {
342
+ let setup = r#"
343
+ create table users (
344
+ id serial primary key,
345
+ name text
346
+ );
347
+ "# ;
348
+
349
+ test_db. execute ( setup) . await . unwrap ( ) ;
350
+
351
+ let query = format ! (
352
+ "grant select on us{}ers to public;" ,
353
+ QueryWithCursorPosition :: cursor_marker( )
354
+ ) ;
355
+
356
+ test_hover_at_cursor ( "grant_select" , query, None , & test_db) . await ;
357
+ }
0 commit comments