wip, test: add tests for only-entity queries
ci/woodpecker/push/woodpecker Pipeline was successful
Details
ci/woodpecker/push/woodpecker Pipeline was successful
Details
parent
d7f48f1880
commit
9e0b198e63
|
@ -57,9 +57,10 @@ pub fn execute(
|
||||||
&& matches!(pattern.attribute, PatternQueryComponent::Discard)
|
&& matches!(pattern.attribute, PatternQueryComponent::Discard)
|
||||||
&& matches!(pattern.value, PatternQueryComponent::Discard) =>
|
&& matches!(pattern.value, PatternQueryComponent::Discard) =>
|
||||||
{
|
{
|
||||||
Ok(InnerQueryResult::Entities(
|
let mut result: Vec<Vec<u8>> = entries.into_iter().map(|e| e.entity).collect();
|
||||||
entries.into_iter().map(|e| e.entity).collect(),
|
result.sort_unstable();
|
||||||
))
|
result.dedup();
|
||||||
|
Ok(InnerQueryResult::Entities(result))
|
||||||
}
|
}
|
||||||
QueryPart::Matches(pattern)
|
QueryPart::Matches(pattern)
|
||||||
if matches!(pattern.entity, PatternQueryComponent::Discard)
|
if matches!(pattern.entity, PatternQueryComponent::Discard)
|
||||||
|
|
|
@ -547,6 +547,16 @@ mod test {
|
||||||
let result = connection.query::<Vec<Entry>>(query).unwrap();
|
let result = connection.query::<Vec<Entry>>(query).unwrap();
|
||||||
assert_eq!(result.len(), 0);
|
assert_eq!(result.len(), 0);
|
||||||
|
|
||||||
|
// Test only-queries
|
||||||
|
let query = format!(r#"(matches ? ? ?)"#).parse().unwrap();
|
||||||
|
let result = connection.query::<Vec<Address>>(query).unwrap();
|
||||||
|
assert_eq!(result.len(), 2);
|
||||||
|
|
||||||
|
let query = format!(r#"(matches ? _ _)"#).parse().unwrap();
|
||||||
|
let result = connection.query::<Vec<Address>>(query).unwrap();
|
||||||
|
println!("{:?}", result);
|
||||||
|
assert_eq!(result.len(), 1);
|
||||||
|
|
||||||
// Test IN queries for entities
|
// Test IN queries for entities
|
||||||
let other_entity = Address::Uuid(uuid::Uuid::new_v4());
|
let other_entity = Address::Uuid(uuid::Uuid::new_v4());
|
||||||
upend_insert_val!(connection, random_entity, ATTR_LABEL, "BAZQUX").unwrap();
|
upend_insert_val!(connection, random_entity, ATTR_LABEL, "BAZQUX").unwrap();
|
||||||
|
|
Loading…
Reference in New Issue