Began moving session tests into library tests.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 0s
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 0s
This commit is contained in:
parent
0614c98221
commit
36b414d0c4
@ -10,7 +10,7 @@ mod show;
|
|||||||
mod update;
|
mod update;
|
||||||
mod user;
|
mod user;
|
||||||
|
|
||||||
pub use crate::document::{DocDef, Field, FieldType, Records};
|
pub use crate::document::{DocDef, Field, FieldType, Record, Records};
|
||||||
pub use action_type::Action;
|
pub use action_type::Action;
|
||||||
pub use addition::Addition;
|
pub use addition::Addition;
|
||||||
pub use calculation::{CalcValue, Calculation, Operand};
|
pub use calculation::{CalcValue, Calculation, Operand};
|
||||||
|
|||||||
@ -11,5 +11,5 @@ pub use clock::Clock;
|
|||||||
pub use create::CreateDoc;
|
pub use create::CreateDoc;
|
||||||
pub use definition::DocDef;
|
pub use definition::DocDef;
|
||||||
pub use field::{Field, FieldType};
|
pub use field::{Field, FieldType};
|
||||||
pub use record::Records;
|
pub use record::{Record, Records};
|
||||||
pub use session::Session;
|
pub use session::Session;
|
||||||
|
|||||||
@ -163,6 +163,7 @@ mod sessions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
#[test]
|
#[test]
|
||||||
fn is_session_document_created() {
|
fn is_session_document_created() {
|
||||||
let setup = Setup::new();
|
let setup = Setup::new();
|
||||||
@ -232,6 +233,7 @@ mod sessions {
|
|||||||
_ => unreachable!("got {:?}, should have gotten records", action),
|
_ => unreachable!("got {:?}, should have gotten records", action),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[ignore]
|
#[ignore]
|
||||||
|
|||||||
@ -2,7 +2,7 @@ pub mod action;
|
|||||||
mod document;
|
mod document;
|
||||||
mod message;
|
mod message;
|
||||||
mod mtterror;
|
mod mtterror;
|
||||||
mod name;
|
pub mod name;
|
||||||
mod queue;
|
mod queue;
|
||||||
|
|
||||||
use action::*;
|
use action::*;
|
||||||
|
|||||||
@ -1,6 +1,25 @@
|
|||||||
use morethantext::MoreThanText;
|
use chrono::{DateTime, Utc};
|
||||||
|
use morethantext::{
|
||||||
|
action::{CalcValue, Calculation, Field, FieldType, Operand, Query, Record},
|
||||||
|
MTTError, MoreThanText, Name,
|
||||||
|
};
|
||||||
|
use std::time::Duration;
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
|
fn get_session(mtt: &mut MoreThanText, id: &Uuid) -> Result<Record, MTTError> {
|
||||||
|
let doc_name = Name::english("session");
|
||||||
|
let mut qry = Query::new(doc_name);
|
||||||
|
let mut calc = Calculation::new(Operand::Equal);
|
||||||
|
calc.add_value(CalcValue::Existing(FieldType::Uuid))
|
||||||
|
.unwrap();
|
||||||
|
calc.add_value(id.clone()).unwrap();
|
||||||
|
qry.add(Name::english("id"), calc.clone());
|
||||||
|
match mtt.records(qry) {
|
||||||
|
Ok(data) => Ok(data.iter().last().unwrap()),
|
||||||
|
Err(err) => Err(err),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn are_session_ids_unique() {
|
fn are_session_ids_unique() {
|
||||||
let mut mtt = MoreThanText::new();
|
let mut mtt = MoreThanText::new();
|
||||||
@ -36,3 +55,20 @@ fn returns_same_session_id_when_valid() {
|
|||||||
let result = mtt.validate_session(Some(id.to_string()));
|
let result = mtt.validate_session(Some(id.to_string()));
|
||||||
assert_eq!(result, id);
|
assert_eq!(result, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn is_expiration_date_set_in_the_future() {
|
||||||
|
let mut mtt = MoreThanText::new();
|
||||||
|
let start_time = Utc::now() + Duration::from_hours(1);
|
||||||
|
let id = mtt.validate_session(None);
|
||||||
|
let end_time = Utc::now() + Duration::from_hours(1);
|
||||||
|
let rec = get_session(&mut mtt, &id).unwrap();
|
||||||
|
let holder = rec.get(Name::english("expire")).unwrap();
|
||||||
|
match holder {
|
||||||
|
Field::DateTime(data) => {
|
||||||
|
assert!(data > start_time, "expire should be after {:?}", start_time);
|
||||||
|
assert!(data < end_time, "expire should be before {:?}", end_time);
|
||||||
|
}
|
||||||
|
_ => unreachable!("got {:?} should have been date time", holder),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user