@@ -298,3 +298,60 @@ async fn test_role_hover_alter_role(test_db: PgPool) {
298298
299299 test_hover_at_cursor ( "role_alter" , query, None , & test_db) . await ;
300300}
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