Skip to content

Commit b37adda

Browse files
ok
1 parent 7e1c565 commit b37adda

File tree

4 files changed

+39
-28
lines changed

4 files changed

+39
-28
lines changed

crates/pgt_completions/src/providers/roles.rs

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,48 +27,56 @@ pub fn complete_roles<'a>(ctx: &CompletionContext<'a>, builder: &mut CompletionB
2727

2828
#[cfg(test)]
2929
mod tests {
30+
use sqlx::PgPool;
31+
3032
use crate::test_helper::{CURSOR_POS, CompletionAssertion, assert_complete_results};
3133

3234
const SETUP: &'static str = r#"
33-
do $$
34-
begin
35-
if not exists (
36-
select from pg_catalog.pg_roles
37-
where rolname = 'test'
38-
) then
39-
create role test;
40-
end if;
41-
end $$;
42-
4335
create table users (
4436
id serial primary key,
4537
email varchar,
4638
address text
4739
);
4840
"#;
4941

50-
#[tokio::test]
51-
async fn works_in_drop_role() {
42+
#[sqlx::test(migrator = "pgt_test_utils::MIGRATIONS")]
43+
async fn works_in_drop_role(pool: PgPool) {
5244
assert_complete_results(
5345
format!("drop role {}", CURSOR_POS).as_str(),
54-
vec![CompletionAssertion::LabelAndKind(
55-
"test".into(),
56-
crate::CompletionItemKind::Role,
57-
)],
58-
SETUP,
46+
vec![
47+
CompletionAssertion::LabelAndKind("admin".into(), crate::CompletionItemKind::Role),
48+
CompletionAssertion::LabelAndKind(
49+
"test_login".into(),
50+
crate::CompletionItemKind::Role,
51+
),
52+
CompletionAssertion::LabelAndKind(
53+
"test_nologin".into(),
54+
crate::CompletionItemKind::Role,
55+
),
56+
],
57+
Some(SETUP),
58+
&pool,
5959
)
6060
.await;
6161
}
6262

63-
#[tokio::test]
64-
async fn works_in_alter_role() {
63+
#[sqlx::test(migrator = "pgt_test_utils::MIGRATIONS")]
64+
async fn works_in_alter_role(pool: PgPool) {
6565
assert_complete_results(
6666
format!("alter role {}", CURSOR_POS).as_str(),
67-
vec![CompletionAssertion::LabelAndKind(
68-
"test".into(),
69-
crate::CompletionItemKind::Role,
70-
)],
71-
SETUP,
67+
vec![
68+
CompletionAssertion::LabelAndKind("admin".into(), crate::CompletionItemKind::Role),
69+
CompletionAssertion::LabelAndKind(
70+
"test_login".into(),
71+
crate::CompletionItemKind::Role,
72+
),
73+
CompletionAssertion::LabelAndKind(
74+
"test_nologin".into(),
75+
crate::CompletionItemKind::Role,
76+
),
77+
],
78+
Some(SETUP),
79+
&pool,
7280
)
7381
.await;
7482
}

crates/pgt_completions/src/relevance/scoring.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ impl CompletionScore<'_> {
208208
}
209209
}
210210

211-
fn get_schema_name(&self) -> &str {
211+
fn get_schema_name(&self) -> Option<&str> {
212212
match self.data {
213213
CompletionRelevanceData::Function(f) => Some(f.schema.as_str()),
214214
CompletionRelevanceData::Table(t) => Some(t.schema.as_str()),
@@ -283,7 +283,7 @@ impl CompletionScore<'_> {
283283
return;
284284
}
285285

286-
let schema = match self.get_schema_name() {
286+
let schema_name = match self.get_schema_name() {
287287
Some(s) => s.to_string(),
288288
None => return,
289289
};

crates/pgt_schema_cache/src/roles.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ mod tests {
3333

3434
let roles = &cache.roles;
3535

36-
let super_role = roles.iter().find(|r| r.name == "test_super").unwrap();
36+
let super_role = roles.iter().find(|r| r.name == "admin").unwrap();
3737
assert!(super_role.is_super_user);
3838
assert!(super_role.can_create_db);
3939
assert!(super_role.can_login);

crates/pgt_test_utils/testdb_migrations/0001-setup-roles.sql renamed to crates/pgt_test_utils/testdb_migrations/0001_setup-roles.sql

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
do $$
22
begin
3+
34
if not exists (
45
select from pg_catalog.pg_roles
56
where rolname = 'admin'
@@ -20,4 +21,6 @@ if not exists (
2021
) then
2122
create role test_nologin;
2223
end if;
23-
end;
24+
25+
end
26+
$$;

0 commit comments

Comments
 (0)