Skip to content

Commit c1cbed8

Browse files
fix tests
1 parent f0ffd1d commit c1cbed8

File tree

2 files changed

+41
-38
lines changed

2 files changed

+41
-38
lines changed

crates/pgt_completions/src/context/policy_parser.rs

Lines changed: 40 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,9 @@ impl PolicyParser {
137137
self.context.node_range = token.get_range();
138138
self.context.node_text = token.get_word();
139139

140+
self.context.previous_node_range = previous.get_range();
141+
self.context.previous_node_text = previous.get_word();
142+
140143
match other {
141144
"(" | "=" => self.context.previous_node_kind = other.into(),
142145
"and" => self.context.previous_node_kind = "keyword_and".into(),
@@ -278,9 +281,9 @@ mod tests {
278281
node_kind: "".into(),
279282
node_range: TextRange::new(TextSize::new(42), TextSize::new(56)),
280283
in_check_or_using_clause: false,
281-
previous_node_kind: "keyword_policy".into(),
282-
previous_node_range: TextRange::new(0.into(), 0.into()),
283-
previous_node_text: "".into(),
284+
previous_node_kind: "".into(),
285+
previous_node_range: TextRange::new(25.into(), 41.into()),
286+
previous_node_text: "\"my cool policy\"".into(),
284287
}
285288
);
286289

@@ -304,9 +307,9 @@ mod tests {
304307
node_kind: "policy_table".into(),
305308
node_range: TextRange::new(TextSize::new(45), TextSize::new(59)),
306309
in_check_or_using_clause: false,
307-
previous_node_kind: "keyword_policy".into(),
308-
previous_node_range: TextRange::new(0.into(), 0.into()),
309-
previous_node_text: "".into(),
310+
previous_node_kind: "keyword_on".into(),
311+
previous_node_range: TextRange::new(42.into(), 44.into()),
312+
previous_node_text: "on".into(),
310313
}
311314
);
312315

@@ -330,9 +333,9 @@ mod tests {
330333
node_kind: "policy_table".into(),
331334
node_range: TextRange::new(TextSize::new(50), TextSize::new(64)),
332335
in_check_or_using_clause: false,
333-
previous_node_kind: "keyword_policy".into(),
334-
previous_node_range: TextRange::new(0.into(), 0.into()),
335-
previous_node_text: "".into(),
336+
previous_node_kind: "keyword_on".into(),
337+
previous_node_range: TextRange::new(42.into(), 44.into()),
338+
previous_node_text: "on".into(),
336339
}
337340
);
338341

@@ -357,9 +360,9 @@ mod tests {
357360
node_kind: "".into(),
358361
node_range: TextRange::new(TextSize::new(72), TextSize::new(86)),
359362
in_check_or_using_clause: false,
360-
previous_node_kind: "keyword_policy".into(),
361-
previous_node_range: TextRange::new(0.into(), 0.into()),
362-
previous_node_text: "".into(),
363+
previous_node_kind: "".into(),
364+
previous_node_range: TextRange::new(69.into(), 71.into()),
365+
previous_node_text: "as".into(),
363366
}
364367
);
365368

@@ -385,9 +388,9 @@ mod tests {
385388
node_kind: "".into(),
386389
node_range: TextRange::new(TextSize::new(95), TextSize::new(109)),
387390
in_check_or_using_clause: false,
388-
previous_node_kind: "keyword_policy".into(),
389-
previous_node_range: TextRange::new(0.into(), 0.into()),
390-
previous_node_text: "".into(),
391+
previous_node_kind: "".into(),
392+
previous_node_range: TextRange::new(72.into(), 82.into()),
393+
previous_node_text: "permissive".into(),
391394
}
392395
);
393396

@@ -413,9 +416,9 @@ mod tests {
413416
node_kind: "policy_role".into(),
414417
node_range: TextRange::new(TextSize::new(98), TextSize::new(112)),
415418
in_check_or_using_clause: false,
416-
previous_node_kind: "keyword_policy".into(),
417-
previous_node_range: TextRange::new(0.into(), 0.into()),
418-
previous_node_text: "".into(),
419+
previous_node_kind: "keyword_to".into(),
420+
previous_node_range: TextRange::new(95.into(), 97.into()),
421+
previous_node_text: "to".into(),
419422
}
420423
);
421424
}
@@ -445,9 +448,9 @@ mod tests {
445448
node_range: TextRange::new(TextSize::new(57), TextSize::new(71)),
446449
node_kind: "policy_table".into(),
447450
in_check_or_using_clause: false,
448-
previous_node_kind: "keyword_policy".into(),
449-
previous_node_range: TextRange::new(0.into(), 0.into()),
450-
previous_node_text: "".into(),
451+
previous_node_kind: "keyword_on".into(),
452+
previous_node_range: TextRange::new(54.into(), 56.into()),
453+
previous_node_text: "on".into(),
451454
}
452455
)
453456
}
@@ -477,9 +480,9 @@ mod tests {
477480
node_range: TextRange::new(TextSize::new(62), TextSize::new(76)),
478481
node_kind: "policy_table".into(),
479482
in_check_or_using_clause: false,
480-
previous_node_kind: "keyword_policy".into(),
481-
previous_node_range: TextRange::new(0.into(), 0.into()),
482-
previous_node_text: "".into(),
483+
previous_node_kind: "keyword_on".into(),
484+
previous_node_range: TextRange::new(54.into(), 56.into()),
485+
previous_node_text: "on".into(),
483486
}
484487
)
485488
}
@@ -507,8 +510,8 @@ mod tests {
507510
node_kind: "policy_name".into(),
508511
in_check_or_using_clause: false,
509512
previous_node_kind: "keyword_policy".into(),
510-
previous_node_range: TextRange::new(0.into(), 0.into()),
511-
previous_node_text: "".into(),
513+
previous_node_range: TextRange::new(16.into(), 22.into()),
514+
previous_node_text: "policy".into(),
512515
}
513516
);
514517

@@ -534,8 +537,8 @@ mod tests {
534537
node_kind: "policy_name".into(),
535538
in_check_or_using_clause: false,
536539
previous_node_kind: "keyword_policy".into(),
537-
previous_node_range: TextRange::new(0.into(), 0.into()),
538-
previous_node_text: "".into(),
540+
previous_node_range: TextRange::new(16.into(), 22.into()),
541+
previous_node_text: "policy".into(),
539542
}
540543
);
541544
}
@@ -580,9 +583,9 @@ mod tests {
580583
node_range: TextRange::new(TextSize::new(112), TextSize::new(126)),
581584
node_kind: "".into(),
582585
in_check_or_using_clause: true,
583-
previous_node_kind: "keyword_policy".into(),
584-
previous_node_range: TextRange::new(0.into(), 0.into()),
585-
previous_node_text: "".into(),
586+
previous_node_kind: "=".into(),
587+
previous_node_range: TextRange::new(110.into(), 111.into()),
588+
previous_node_text: "=".into(),
586589
}
587590
);
588591
}
@@ -611,9 +614,9 @@ mod tests {
611614
node_range: TextRange::new(TextSize::new(106), TextSize::new(120)),
612615
node_kind: "".into(),
613616
in_check_or_using_clause: true,
614-
previous_node_kind: "keyword_policy".into(),
615-
previous_node_range: TextRange::new(0.into(), 0.into()),
616-
previous_node_text: "".into(),
617+
previous_node_kind: "(".into(),
618+
previous_node_range: TextRange::new(105.into(), 106.into()),
619+
previous_node_text: "(".into(),
617620
}
618621
)
619622
}
@@ -642,9 +645,9 @@ mod tests {
642645
node_range: TextRange::new(TextSize::new(111), TextSize::new(125)),
643646
node_kind: "".into(),
644647
in_check_or_using_clause: true,
645-
previous_node_kind: "keyword_policy".into(),
646-
previous_node_range: TextRange::new(0.into(), 0.into()),
647-
previous_node_text: "".into(),
648+
previous_node_kind: "(".into(),
649+
previous_node_range: TextRange::new(110.into(), 111.into()),
650+
previous_node_text: "(".into(),
648651
}
649652
)
650653
}

crates/pgt_completions/src/providers/functions.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ mod tests {
265265
assert_complete_results(
266266
query.as_str(),
267267
vec![
268-
// aggregate functions are not permitted in policy checks.
268+
// TODO: add procedures, load aggregates but skip them
269269
CompletionAssertion::LabelNotExists("string_concat".into()),
270270
CompletionAssertion::LabelAndKind(
271271
"my_cool_foo".into(),

0 commit comments

Comments
 (0)