Skip to content

Commit d91f55b

Browse files
committed
progress
1 parent 7959d9e commit d91f55b

File tree

1 file changed

+27
-124
lines changed
  • crates/pgls_completions/src/providers

1 file changed

+27
-124
lines changed

crates/pgls_completions/src/providers/roles.rs

Lines changed: 27 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,27 @@ 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("test_login".into(), crate::CompletionItemKind::Role),
58+
CompletionAssertion::LabelAndKind(
59+
"test_nologin".into(),
60+
crate::CompletionItemKind::Role,
61+
),
62+
]
63+
}
64+
4965
#[sqlx::test(migrator = "pgls_test_utils::MIGRATIONS")]
5066
async fn works_in_drop_role(pool: PgPool) {
5167
assert_complete_results(
5268
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-
],
69+
expected_roles(),
6470
Some(SETUP),
6571
&pool,
6672
)
@@ -71,17 +77,7 @@ mod tests {
7177
async fn works_in_alter_role(pool: PgPool) {
7278
assert_complete_results(
7379
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-
],
80+
expected_roles(),
8581
Some(SETUP),
8682
&pool,
8783
)
@@ -94,17 +90,7 @@ mod tests {
9490

9591
assert_complete_results(
9692
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-
],
93+
expected_roles(),
10894
None,
10995
&pool,
11096
)
@@ -116,17 +102,7 @@ mod tests {
116102
QueryWithCursorPosition::cursor_marker()
117103
)
118104
.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-
],
105+
expected_roles(),
130106
None,
131107
&pool,
132108
)
@@ -140,24 +116,14 @@ mod tests {
140116
assert_complete_results(
141117
format!(
142118
r#"create policy "my cool policy" on public.users
143-
as restrictive
119+
as restrictive
144120
for all
145121
to {}
146122
using (true);"#,
147123
QueryWithCursorPosition::cursor_marker()
148124
)
149125
.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-
],
126+
expected_roles(),
161127
None,
162128
&pool,
163129
)
@@ -171,17 +137,7 @@ mod tests {
171137
QueryWithCursorPosition::cursor_marker()
172138
)
173139
.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-
],
140+
expected_roles(),
185141
None,
186142
&pool,
187143
)
@@ -200,18 +156,7 @@ mod tests {
200156
QueryWithCursorPosition::cursor_marker()
201157
)
202158
.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-
],
159+
expected_roles(),
215160
None,
216161
&pool,
217162
)
@@ -225,18 +170,7 @@ mod tests {
225170
QueryWithCursorPosition::cursor_marker()
226171
)
227172
.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-
],
173+
expected_roles(),
240174
None,
241175
&pool,
242176
)
@@ -248,18 +182,7 @@ mod tests {
248182
QueryWithCursorPosition::cursor_marker()
249183
)
250184
.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-
],
185+
expected_roles(),
263186
None,
264187
&pool,
265188
)
@@ -298,27 +221,7 @@ mod tests {
298221
];
299222

300223
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;
224+
assert_complete_results(query.as_str(), expected_roles(), None, &pool).await;
322225
}
323226
}
324227
}

0 commit comments

Comments
 (0)