mirror of
https://github.com/scsibug/nostr-rs-relay.git
synced 2024-11-14 23:19:07 -05:00
wip: test cases
This commit is contained in:
parent
0ae6292c1c
commit
6fea2d2ddf
|
@ -117,12 +117,13 @@ impl FromStr for ConditionQuery {
|
||||||
type Err = Error;
|
type Err = Error;
|
||||||
fn from_str(value: &str) -> Result<Self, Self::Err> {
|
fn from_str(value: &str) -> Result<Self, Self::Err> {
|
||||||
// split the string with '&'
|
// split the string with '&'
|
||||||
let conds = value.split_terminator('&');
|
let mut conditions = vec![];
|
||||||
|
let condstrs = value.split_terminator('&');
|
||||||
// parse each individual condition
|
// parse each individual condition
|
||||||
for c in conds {
|
for c in condstrs {
|
||||||
str_to_condition(c).ok_or(Error::DelegationParseError)?;
|
conditions.push(str_to_condition(c).ok_or(Error::DelegationParseError)?);
|
||||||
}
|
}
|
||||||
Ok(ConditionQuery { conditions: vec![] })
|
Ok(ConditionQuery { conditions })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,4 +140,41 @@ mod tests {
|
||||||
assert_eq!(parsed, empty_cq);
|
assert_eq!(parsed, empty_cq);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// parse field 'kind'
|
||||||
|
#[test]
|
||||||
|
fn test_kind_field_parse() -> Result<()> {
|
||||||
|
let field = "kind".parse::<Field>()?;
|
||||||
|
assert_eq!(field, Field::Kind);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
// parse field 'created_at'
|
||||||
|
#[test]
|
||||||
|
fn test_created_at_field_parse() -> Result<()> {
|
||||||
|
let field = "created_at".parse::<Field>()?;
|
||||||
|
assert_eq!(field, Field::CreatedAt);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
// parse unknown field
|
||||||
|
#[test]
|
||||||
|
fn unknown_field_parse() {
|
||||||
|
let field = "unk".parse::<Field>();
|
||||||
|
assert!(field.is_err());
|
||||||
|
}
|
||||||
|
|
||||||
|
// parse fields
|
||||||
|
#[test]
|
||||||
|
fn parse_kind_field() -> Result<()> {
|
||||||
|
// given an empty condition query, produce an empty vector
|
||||||
|
let _kind_cq = ConditionQuery {
|
||||||
|
conditions: vec![Condition {
|
||||||
|
field: Field::Kind,
|
||||||
|
operator: Operator::GreaterThan,
|
||||||
|
values: vec![],
|
||||||
|
}],
|
||||||
|
};
|
||||||
|
//let parsed = "kind=1".parse::<ConditionQuery>()?;
|
||||||
|
//assert_eq!(parsed, kind_cq);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user