Setup document testing.
This commit is contained in:
parent
96e6c48dbe
commit
de009308c7
@ -122,7 +122,7 @@ mod msgactions {
|
||||
let value = DocDef::new();
|
||||
let result: MsgAction = value.into();
|
||||
match result {
|
||||
MsgAction::Create(_) => {},
|
||||
MsgAction::Create(_) => {}
|
||||
_ => unreachable!("Got {:?}: dhould have been create", result),
|
||||
}
|
||||
}
|
||||
@ -155,7 +155,7 @@ mod msgactions {
|
||||
let value = Access::new();
|
||||
let result: MsgAction = value.into();
|
||||
match result {
|
||||
MsgAction::Query(_) => {},
|
||||
MsgAction::Query(_) => {}
|
||||
_ => unreachable!("Got {:?}: dhould have been query", result),
|
||||
}
|
||||
}
|
||||
@ -165,7 +165,7 @@ mod msgactions {
|
||||
let value = Response::new();
|
||||
let result: MsgAction = value.into();
|
||||
match result {
|
||||
MsgAction::Reply(_) => {},
|
||||
MsgAction::Reply(_) => {}
|
||||
_ => unreachable!("Got {:?}: dhould have been reply", result),
|
||||
}
|
||||
}
|
||||
@ -981,11 +981,47 @@ impl Document {
|
||||
|
||||
#[cfg(test)]
|
||||
mod documents {
|
||||
use super::support_test::TIMEOUT;
|
||||
use super::*;
|
||||
use super::{support_test::TIMEOUT, *};
|
||||
use std::sync::mpsc::RecvTimeoutError;
|
||||
|
||||
struct TestDoc {
|
||||
queue: Queue,
|
||||
rx: Receiver<Message>,
|
||||
}
|
||||
|
||||
impl TestDoc {
|
||||
fn new(name: &str, docdef: DocDef) -> Self {
|
||||
let mut queue = Queue::new();
|
||||
let msg = Message::new(name, docdef);
|
||||
Document::start(queue.clone(), msg);
|
||||
let (tx, rx) = channel();
|
||||
let routes = [RouteRequest::new(Include::All, Include::All, Include::All)].to_vec();
|
||||
queue.register(tx, name.to_string(), routes);
|
||||
Self {
|
||||
queue: queue,
|
||||
rx: rx,
|
||||
}
|
||||
}
|
||||
|
||||
fn send(&self, msg: Message) -> Result<(), MTTError> {
|
||||
match self.queue.send(msg) {
|
||||
// Removes the just sent message from the queue.
|
||||
Ok(_) => self.rx.recv_timeout(TIMEOUT).unwrap(),
|
||||
Err(err) => return Err(err),
|
||||
};
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn recv(&self) -> Result<Message, RecvTimeoutError> {
|
||||
self.rx.recv_timeout(TIMEOUT)
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn has_data_fields() {
|
||||
let docdef = DocDef::new();
|
||||
let name = "first";
|
||||
let doc = TestDoc::new(name, docdef);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user