@@ -46,21 +46,31 @@ mod tests {
4646 );
4747 "# ;
4848
49+ fn expected_roles ( ) -> Vec < CompletionAssertion > {
50+ vec ! [
51+ CompletionAssertion :: LabelAndKind ( "anon" . into( ) , crate :: CompletionItemKind :: Role ) ,
52+ CompletionAssertion :: LabelAndKind (
53+ "authenticated" . into( ) ,
54+ crate :: CompletionItemKind :: Role ,
55+ ) ,
56+ CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
57+ CompletionAssertion :: LabelAndKind (
58+ "service_role" . into( ) ,
59+ crate :: CompletionItemKind :: Role ,
60+ ) ,
61+ CompletionAssertion :: LabelAndKind ( "test_login" . into( ) , crate :: CompletionItemKind :: Role ) ,
62+ CompletionAssertion :: LabelAndKind (
63+ "test_nologin" . into( ) ,
64+ crate :: CompletionItemKind :: Role ,
65+ ) ,
66+ ]
67+ }
68+
4969 #[ sqlx:: test( migrator = "pgls_test_utils::MIGRATIONS" ) ]
5070 async fn works_in_drop_role ( pool : PgPool ) {
5171 assert_complete_results (
5272 format ! ( "drop role {}" , QueryWithCursorPosition :: cursor_marker( ) ) . as_str ( ) ,
53- vec ! [
54- CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
55- CompletionAssertion :: LabelAndKind (
56- "test_login" . into( ) ,
57- crate :: CompletionItemKind :: Role ,
58- ) ,
59- CompletionAssertion :: LabelAndKind (
60- "test_nologin" . into( ) ,
61- crate :: CompletionItemKind :: Role ,
62- ) ,
63- ] ,
73+ expected_roles ( ) ,
6474 Some ( SETUP ) ,
6575 & pool,
6676 )
@@ -71,17 +81,7 @@ mod tests {
7181 async fn works_in_alter_role ( pool : PgPool ) {
7282 assert_complete_results (
7383 format ! ( "alter role {}" , QueryWithCursorPosition :: cursor_marker( ) ) . as_str ( ) ,
74- vec ! [
75- CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
76- CompletionAssertion :: LabelAndKind (
77- "test_login" . into( ) ,
78- crate :: CompletionItemKind :: Role ,
79- ) ,
80- CompletionAssertion :: LabelAndKind (
81- "test_nologin" . into( ) ,
82- crate :: CompletionItemKind :: Role ,
83- ) ,
84- ] ,
84+ expected_roles ( ) ,
8585 Some ( SETUP ) ,
8686 & pool,
8787 )
@@ -94,17 +94,7 @@ mod tests {
9494
9595 assert_complete_results (
9696 format ! ( "set role {}" , QueryWithCursorPosition :: cursor_marker( ) ) . as_str ( ) ,
97- vec ! [
98- CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
99- CompletionAssertion :: LabelAndKind (
100- "test_login" . into( ) ,
101- crate :: CompletionItemKind :: Role ,
102- ) ,
103- CompletionAssertion :: LabelAndKind (
104- "test_nologin" . into( ) ,
105- crate :: CompletionItemKind :: Role ,
106- ) ,
107- ] ,
97+ expected_roles ( ) ,
10898 None ,
10999 & pool,
110100 )
@@ -116,17 +106,7 @@ mod tests {
116106 QueryWithCursorPosition :: cursor_marker( )
117107 )
118108 . as_str ( ) ,
119- vec ! [
120- CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
121- CompletionAssertion :: LabelAndKind (
122- "test_login" . into( ) ,
123- crate :: CompletionItemKind :: Role ,
124- ) ,
125- CompletionAssertion :: LabelAndKind (
126- "test_nologin" . into( ) ,
127- crate :: CompletionItemKind :: Role ,
128- ) ,
129- ] ,
109+ expected_roles ( ) ,
130110 None ,
131111 & pool,
132112 )
@@ -140,24 +120,14 @@ mod tests {
140120 assert_complete_results (
141121 format ! (
142122 r#"create policy "my cool policy" on public.users
143- as restrictive
123+ as restrictive
144124 for all
145125 to {}
146126 using (true);"# ,
147127 QueryWithCursorPosition :: cursor_marker( )
148128 )
149129 . as_str ( ) ,
150- vec ! [
151- CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
152- CompletionAssertion :: LabelAndKind (
153- "test_login" . into( ) ,
154- crate :: CompletionItemKind :: Role ,
155- ) ,
156- CompletionAssertion :: LabelAndKind (
157- "test_nologin" . into( ) ,
158- crate :: CompletionItemKind :: Role ,
159- ) ,
160- ] ,
130+ expected_roles ( ) ,
161131 None ,
162132 & pool,
163133 )
@@ -171,17 +141,7 @@ mod tests {
171141 QueryWithCursorPosition :: cursor_marker( )
172142 )
173143 . as_str ( ) ,
174- vec ! [
175- CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
176- CompletionAssertion :: LabelAndKind (
177- "test_login" . into( ) ,
178- crate :: CompletionItemKind :: Role ,
179- ) ,
180- CompletionAssertion :: LabelAndKind (
181- "test_nologin" . into( ) ,
182- crate :: CompletionItemKind :: Role ,
183- ) ,
184- ] ,
144+ expected_roles ( ) ,
185145 None ,
186146 & pool,
187147 )
@@ -200,18 +160,7 @@ mod tests {
200160 QueryWithCursorPosition :: cursor_marker( )
201161 )
202162 . as_str ( ) ,
203- vec ! [
204- // recognizing already mentioned roles is not supported for now
205- CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
206- CompletionAssertion :: LabelAndKind (
207- "test_login" . into( ) ,
208- crate :: CompletionItemKind :: Role ,
209- ) ,
210- CompletionAssertion :: LabelAndKind (
211- "test_nologin" . into( ) ,
212- crate :: CompletionItemKind :: Role ,
213- ) ,
214- ] ,
163+ expected_roles ( ) ,
215164 None ,
216165 & pool,
217166 )
@@ -225,18 +174,7 @@ mod tests {
225174 QueryWithCursorPosition :: cursor_marker( )
226175 )
227176 . as_str ( ) ,
228- vec ! [
229- // recognizing already mentioned roles is not supported for now
230- CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
231- CompletionAssertion :: LabelAndKind (
232- "test_login" . into( ) ,
233- crate :: CompletionItemKind :: Role ,
234- ) ,
235- CompletionAssertion :: LabelAndKind (
236- "test_nologin" . into( ) ,
237- crate :: CompletionItemKind :: Role ,
238- ) ,
239- ] ,
177+ expected_roles ( ) ,
240178 None ,
241179 & pool,
242180 )
@@ -248,18 +186,7 @@ mod tests {
248186 QueryWithCursorPosition :: cursor_marker( )
249187 )
250188 . as_str ( ) ,
251- vec ! [
252- // recognizing already mentioned roles is not supported for now
253- CompletionAssertion :: LabelAndKind ( "owner" . into( ) , crate :: CompletionItemKind :: Role ) ,
254- CompletionAssertion :: LabelAndKind (
255- "test_login" . into( ) ,
256- crate :: CompletionItemKind :: Role ,
257- ) ,
258- CompletionAssertion :: LabelAndKind (
259- "test_nologin" . into( ) ,
260- crate :: CompletionItemKind :: Role ,
261- ) ,
262- ] ,
189+ expected_roles ( ) ,
263190 None ,
264191 & pool,
265192 )
@@ -298,27 +225,7 @@ mod tests {
298225 ] ;
299226
300227 for query in queries {
301- assert_complete_results (
302- query. as_str ( ) ,
303- vec ! [
304- // recognizing already mentioned roles is not supported for now
305- CompletionAssertion :: LabelAndKind (
306- "owner" . into( ) ,
307- crate :: CompletionItemKind :: Role ,
308- ) ,
309- CompletionAssertion :: LabelAndKind (
310- "test_login" . into( ) ,
311- crate :: CompletionItemKind :: Role ,
312- ) ,
313- CompletionAssertion :: LabelAndKind (
314- "test_nologin" . into( ) ,
315- crate :: CompletionItemKind :: Role ,
316- ) ,
317- ] ,
318- None ,
319- & pool,
320- )
321- . await ;
228+ assert_complete_results ( query. as_str ( ) , expected_roles ( ) , None , & pool) . await ;
322229 }
323230 }
324231}
0 commit comments