Replaced session id with SessionEntry.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
use crate::{
|
||||
action::{Field, MsgAction},
|
||||
name::NameType,
|
||||
queue::data_director::{Include, Path, Route},
|
||||
queue::data_director::{Include, Path, Route, SessionEntry},
|
||||
};
|
||||
use uuid::Uuid;
|
||||
|
||||
@@ -41,7 +41,7 @@ pub struct Message {
|
||||
msg_id: MessageID,
|
||||
action: MsgAction,
|
||||
route: Route,
|
||||
session: Field,
|
||||
session: SessionEntry,
|
||||
}
|
||||
|
||||
impl Message {
|
||||
@@ -58,10 +58,15 @@ impl Message {
|
||||
output
|
||||
}
|
||||
|
||||
pub fn session_id(&self) -> &Field {
|
||||
self.session.id()
|
||||
}
|
||||
|
||||
pub fn set_session<F>(&self, session: F) -> Self
|
||||
where
|
||||
F: Into<Field>,
|
||||
{
|
||||
/*
|
||||
let sess_id = match session.into() {
|
||||
Field::Uuid(data) => Field::Uuid(data.clone()),
|
||||
Field::StaticString(data) => match Uuid::try_from(data) {
|
||||
@@ -70,8 +75,10 @@ impl Message {
|
||||
},
|
||||
_ => Field::None,
|
||||
};
|
||||
*/
|
||||
let mut output = self.clone();
|
||||
output.session = sess_id;
|
||||
// output.session = sess_id;
|
||||
output.session = SessionEntry::new(session);
|
||||
output
|
||||
}
|
||||
|
||||
@@ -115,7 +122,7 @@ impl Default for Message {
|
||||
msg_id: MessageID::new(),
|
||||
action: MsgAction::None,
|
||||
route: Route::default(),
|
||||
session: Field::None,
|
||||
session: SessionEntry::new(Field::None),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -141,7 +148,7 @@ mod messages {
|
||||
MsgAction::None => {}
|
||||
_ => panic!("should have been no action"),
|
||||
}
|
||||
assert_eq!(msg.session, Field::None);
|
||||
assert_eq!(msg.session_id(), &Field::None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -150,11 +157,11 @@ mod messages {
|
||||
let qry = Query::new(doc_name.clone());
|
||||
let msg = Message::new(qry);
|
||||
let expected: NameType = doc_name.into();
|
||||
match msg.action {
|
||||
match &msg.action {
|
||||
MsgAction::Query(data) => assert_eq!(data.doc_name(), &expected),
|
||||
_ => unreachable!("should have been a query"),
|
||||
}
|
||||
match msg.session {
|
||||
match msg.session_id() {
|
||||
Field::None => {}
|
||||
_ => unreachable!("should have been none"),
|
||||
}
|
||||
@@ -175,25 +182,16 @@ mod messages {
|
||||
let qry = Query::new(doc_name.clone());
|
||||
let sess_id: Field = Uuid::new_v4().into();
|
||||
let msg = Message::new(qry).set_session(sess_id.clone());
|
||||
assert_eq!(msg.session, sess_id);
|
||||
assert_eq!(msg.session_id(), &sess_id);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn can_session_be_set_by_string() {
|
||||
let doc_name = Name::english("string");
|
||||
let qry = Query::new(doc_name.clone());
|
||||
let sess_id = Uuid::new_v4();
|
||||
let msg = Message::new(qry).set_session(sess_id.to_string());
|
||||
assert_eq!(msg.session, sess_id.into());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn does_garbage_return_none() {
|
||||
let doc_name = Name::english("garbage");
|
||||
let qry = Query::new(doc_name.clone());
|
||||
let sess_id = "not a uuid";
|
||||
let msg = Message::new(qry).set_session(sess_id);
|
||||
assert_eq!(msg.session, Field::None);
|
||||
let sess_id: Field = Uuid::new_v4().to_string().into();
|
||||
let msg = Message::new(qry).set_session(sess_id.clone());
|
||||
assert_eq!(msg.session_id(), &sess_id);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -202,16 +200,7 @@ mod messages {
|
||||
let qry = Query::new(doc_name.clone());
|
||||
let sess_id = Uuid::new_v4();
|
||||
let msg = Message::new(qry).set_session(sess_id.clone());
|
||||
assert_eq!(msg.session, sess_id.into());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn does_wrong_field_type_return_none() {
|
||||
let doc_name = Name::english("uuid");
|
||||
let qry = Query::new(doc_name.clone());
|
||||
let sess_id = FieldType::DateTime.get_default();
|
||||
let msg = Message::new(qry).set_session(sess_id.clone());
|
||||
assert_eq!(msg.session, Field::None);
|
||||
assert_eq!(msg.session_id(), &sess_id.into());
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user