Added document name to query.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 2s

This commit is contained in:
2026-02-09 19:28:22 -05:00
parent eca86a53b9
commit aae2548da3
8 changed files with 135 additions and 71 deletions

View File

@@ -4,9 +4,7 @@ use crate::{
definition::{DocDef, DocFuncType},
field::Field,
},
message::wrapper::{
InternalRecord, InternalRecords, Message, Oid, Records, Reply, Update,
},
message::wrapper::{InternalRecord, InternalRecords, Message, Oid, Records, Reply, Update},
mtterror::MTTError,
name::NameType,
queue::{
@@ -128,7 +126,7 @@ mod createdocs {
MsgAction::Reply(_) => {}
_ => unreachable!("got {:?}: should have been a reply.", result1.get_action()),
}
let msg2 = Message::new(name, Query::new());
let msg2 = Message::new(name.clone(), Query::new(name.clone()));
queue.send(msg2.clone());
let result2 = rx.recv_timeout(TIMEOUT).unwrap();
assert_eq!(result2.get_message_id(), msg2.get_message_id());
@@ -861,6 +859,10 @@ mod document_files {
}
}
fn doc_name(&self) -> Name {
self.docdef.get_document_names()[0].clone()
}
fn get_docdef(&self) -> &DocDef {
&self.docdef
}
@@ -967,10 +969,10 @@ mod document_files {
let queue = test_doc.get_queue();
let msg_actions = [
MsgAction::Addition(Addition::new()),
MsgAction::Delete(Delete::new(Query::new())),
MsgAction::Query(Query::new().into()),
MsgAction::Delete(Delete::new(Query::internal())),
MsgAction::Query(Query::internal().into()),
MsgAction::Show,
MsgAction::Update(Update::new(Query::new())),
MsgAction::Update(Update::new(Query::internal())),
];
for msg_action in msg_actions.iter() {
let msg = Message::new(name.clone(), msg_action.clone());
@@ -1019,10 +1021,10 @@ mod document_files {
let msg_actions = [
MsgAction::Addition(Addition::new()),
MsgAction::Create(DocDef::new(name.clone())),
MsgAction::Delete(Delete::new(Query::new())),
MsgAction::Query(Query::new().into()),
MsgAction::Delete(Delete::new(Query::internal())),
MsgAction::Query(Query::internal().into()),
MsgAction::Show,
MsgAction::Update(Update::new(Query::new())),
MsgAction::Update(Update::new(Query::internal())),
];
let mut msgs: HashMap<Uuid, MsgAction> = HashMap::new();
for msg_action in msg_actions.iter() {
@@ -1064,7 +1066,7 @@ mod document_files {
for item in data.iter() {
test_doc.populate([item.clone()].to_vec());
}
let msg = Message::new(doc_name.clone(), Query::new());
let msg = Message::new(doc_name.clone(), Query::new(doc_name.clone()));
queue.send(msg.clone());
let result = test_doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
assert_eq!(
@@ -1143,7 +1145,7 @@ mod document_files {
for item in data.iter() {
test_doc.populate([item.clone()].to_vec());
}
let msg = Message::new(doc_name.clone(), Delete::new(Query::new()));
let msg = Message::new(doc_name.clone(), Delete::new(Query::internal()));
queue.send(msg.clone());
let result = test_doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
assert_eq!(
@@ -1189,7 +1191,7 @@ mod document_files {
for item in data.iter() {
test_doc.populate([item.clone()].to_vec());
}
let mut update = Update::new(Query::new());
let mut update = Update::new(Query::internal());
update
.get_values_mut()
.add_field(field_name.clone(), Uuid::nil());
@@ -1251,7 +1253,7 @@ mod document_files {
}
};
testing(Message::new(doc_name.clone(), new_doc));
testing(Message::new(doc_name.clone(), Query::new()));
testing(Message::new(doc_name.clone(), Query::new(doc_name.clone())));
}
#[test]
@@ -1270,7 +1272,7 @@ mod document_files {
queue.send(Message::new(doc_name.clone(), new_doc));
test_doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
}
queue.send(Message::new(doc_name, Query::new()));
queue.send(Message::new(doc_name.clone(), Query::new(doc_name.clone())));
let result = test_doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
let action = result.get_action();
let mut entries: HashSet<i128> = (0..count).collect();
@@ -1375,6 +1377,7 @@ mod document_files {
#[test]
fn does_query_return_related_entries() {
let mut test_doc = TestDocument::new([FieldType::Integer].to_vec());
let doc_name = test_doc.get_docdef().get_document_names()[0].clone();
test_doc.start(standard_paths());
let queue = test_doc.get_queue();
let count = 5;
@@ -1386,7 +1389,7 @@ mod document_files {
calc.add_value(expected.clone()).unwrap();
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
let mut query = Query::new();
let mut query = Query::new(doc_name);
query.add(Name::english("field0"), calc);
queue.send(Message::new(
test_doc.get_docdef().get_document_names()[0].clone(),
@@ -1414,6 +1417,7 @@ mod document_files {
#[test]
fn does_query_work_with_greater_than() {
let mut test_doc = TestDocument::new([FieldType::Integer].to_vec());
let doc_name = test_doc.get_docdef().get_document_names()[0].clone();
test_doc.start(standard_paths());
let queue = test_doc.get_queue();
test_doc.populate([1.into()].to_vec());
@@ -1422,7 +1426,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
calc.add_value(1).unwrap();
let mut query = Query::new();
let mut query = Query::new(doc_name);
query.add(Name::english("field0"), calc);
queue.send(Message::new(
test_doc.get_docdef().get_document_names()[0].clone(),
@@ -1449,6 +1453,7 @@ mod document_files {
#[test]
fn gets_all_documents_in_query() {
let mut test_doc = TestDocument::new([FieldType::Integer].to_vec());
let doc_name = test_doc.get_docdef().get_document_names()[0].clone();
test_doc.start(standard_paths());
let queue = test_doc.get_queue();
let data = 1;
@@ -1462,7 +1467,7 @@ mod document_files {
calc.add_value(data.clone()).unwrap();
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
let mut query = Query::new();
let mut query = Query::new(doc_name);
query.add(Name::english("field0"), calc);
queue.send(Message::new(
test_doc.get_docdef().get_document_names()[0].clone(),
@@ -1501,7 +1506,7 @@ mod document_files {
for value in values.iter() {
doc.populate(value.clone());
}
let mut query = Query::new();
let mut query = Query::new(doc.doc_name());
let mut calc = Calculation::new(Operand::Equal);
calc.add_value("a").unwrap();
calc.add_value(CalcValue::Existing(FieldType::StaticString))
@@ -1550,7 +1555,7 @@ mod document_files {
for value in values.iter() {
doc.populate(value.clone());
}
let mut query = Query::new();
let mut query = Query::new(doc.doc_name());
let mut calc = Calculation::new(Operand::Equal);
calc.add_value("a").unwrap();
calc.add_value(CalcValue::Existing(FieldType::StaticString))
@@ -1596,7 +1601,7 @@ mod document_files {
for value in values.iter() {
doc.populate(value.clone());
}
let mut query = Query::new();
let mut query = Query::new(doc.doc_name());
let mut calc = Calculation::new(Operand::Equal);
calc.add_value("a").unwrap();
calc.add_value(CalcValue::Existing(FieldType::StaticString))
@@ -1632,7 +1637,7 @@ mod document_files {
let queue = doc.get_queue();
let rx = doc.get_receiver();
let field_name = Name::english("wrong");
let mut query = Query::new();
let mut query = Query::new(doc.doc_name());
let mut calc = Calculation::new(Operand::Equal);
calc.add_value("something").unwrap();
query.add(field_name.clone(), calc);
@@ -1659,7 +1664,7 @@ mod document_files {
doc.populate([Uuid::nil().into()].to_vec());
let mut calc = Calculation::new(Operand::Equal);
calc.add_value("notUUID").unwrap();
let mut query = Query::new();
let mut query = Query::new(doc.doc_name());
query.add(Name::english("field0"), calc);
doc.send(query);
let result = doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
@@ -1778,7 +1783,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::Uuid))
.unwrap();
calc.add_value(Uuid::nil()).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(Name::english("field0"), calc);
let mut update = Update::new(query);
update
@@ -1806,7 +1811,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::Uuid))
.unwrap();
calc.add_value(id.clone()).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(Name::english("field0"), calc);
let mut update = Update::new(query);
update
@@ -1829,7 +1834,7 @@ mod document_files {
}
};
testing(Message::new(doc_name.clone(), update));
testing(Message::new(doc_name.clone(), Query::new()));
testing(Message::new(doc_name.clone(), Query::new(doc_name.clone())));
}
#[test]
@@ -1849,7 +1854,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
calc.add_value(picked.clone()).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(Name::english("field0"), calc);
let mut update = Update::new(query);
update
@@ -1869,7 +1874,7 @@ mod document_files {
_ => unreachable!("got {:?}: should have gotten a reply", action),
}
doc.get_queue()
.send(Message::new(doc_name.clone(), Query::new()));
.send(Message::new(doc_name.clone(), Query::new(doc_name.clone())));
let result = doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
let action = result.get_action();
match action {
@@ -1913,7 +1918,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
calc.add_value(picked.clone()).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(Name::english("field0"), calc);
let mut update = Update::new(query);
update
@@ -1935,7 +1940,7 @@ mod document_files {
}
};
testing(Message::new(doc_name.clone(), update));
testing(Message::new(doc_name.clone(), Query::new()));
testing(Message::new(doc_name.clone(), Query::new(doc_name.clone())));
}
#[test]
@@ -1947,7 +1952,7 @@ mod document_files {
let new = "new";
let bad_name = Name::english("wrong");
doc.populate([id.into(), old.into()].to_vec());
let mut update = Update::new(Query::new());
let mut update = Update::new(Query::internal());
update.get_values_mut().add_field(bad_name.clone(), new);
doc.send(update);
let result = doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
@@ -1974,7 +1979,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::Uuid))
.unwrap();
calc.add_value(id.clone()).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(Name::english("field0"), calc);
let mut update = Update::new(query);
update
@@ -2012,7 +2017,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
calc.add_value(old.clone()).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(Name::english("field0"), calc);
let mut update = Update::new(query);
update.get_values_mut().add_field(&fname, new);
@@ -2099,7 +2104,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::StaticString))
.unwrap();
calc.add_value(old).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(Name::english("field0"), calc);
let mut update = Update::new(query);
update.get_values_mut().add_field(fname.clone(), new);
@@ -2158,7 +2163,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::StaticString))
.unwrap();
calc.add_value(data).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(&f1name, calc);
let mut update = Update::new(query);
update.get_values_mut().add_field(&f0name, holder.clone());
@@ -2172,7 +2177,7 @@ mod document_files {
},
_ => unreachable!("got {:?}: should have gotten an error", action),
}
let query = Query::new();
let query = Query::new(doc.doc_name());
doc.send(query);
let result = doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
let action = result.get_action();
@@ -2234,7 +2239,7 @@ mod document_files {
calc.add_value(1).unwrap();
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
let mut query = Query::new();
let mut query = Query::new(doc.doc_name());
query.add(&fname, calc);
let delete = Delete::new(query.clone());
doc.send(delete);
@@ -2270,7 +2275,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
calc.add_value(1).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(field_name.clone(), calc);
let delete = Delete::new(query);
doc.send(delete);
@@ -2295,7 +2300,7 @@ mod document_files {
.unwrap();
doc.start(standard_paths());
doc.populate([value.into()].to_vec());
doc.send(Delete::new(Query::new()));
doc.send(Delete::new(Query::internal()));
doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
let mut addition = Addition::new();
addition.add_field(&fname, value.clone());
@@ -2317,7 +2322,7 @@ mod document_files {
Include::Just(doc_name.clone().into()),
Include::Just(Action::OnQuery),
);
let mut update = Update::new(Query::new());
let mut update = Update::new(Query::internal());
let mut calc = Calculation::new(Operand::Add);
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
@@ -2330,14 +2335,14 @@ mod document_files {
let mut paths = standard_paths();
paths.push(Path::new(
Include::All,
Include::Just(doc_name.into()),
Include::Just(doc_name.clone().into()),
Include::Just(Action::OnUpdate),
));
doc.start(paths);
doc.populate([0.into()].to_vec());
for i in 0..5 {
let expected: Field = i.try_into().unwrap();
doc.send(Query::new());
doc.send(Query::new(doc_name.clone()));
let result = doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
let action = result.get_action();
match action {
@@ -2373,7 +2378,7 @@ mod document_files {
calc.add_value(CalcValue::Existing(FieldType::Integer))
.unwrap();
calc.add_value(1).unwrap();
let mut query = Query::new();
let mut query = Query::internal();
query.add(Name::english("field0"), calc);
let delete = Delete::new(query.clone());
let path = Path::new(
@@ -2400,7 +2405,7 @@ mod document_files {
);
queue.send(trigger.clone());
sleep(TIMEOUT);
let msg = Message::new(doc_name, Query::new());
let msg = Message::new(doc_name.clone(), Query::new(doc_name.clone()));
queue.send(msg.clone());
let mut result = doc.get_receiver().recv_timeout(TIMEOUT).unwrap();
while result.get_message_id() != msg.get_message_id() {