Continued work to get items into a session.
This commit is contained in:
parent
60dae69788
commit
51fc2c8921
@ -105,6 +105,10 @@ impl SessionData for Databases {
|
|||||||
Ok(_) => (),
|
Ok(_) => (),
|
||||||
Err(err) => return Err(err),
|
Err(err) => return Err(err),
|
||||||
}
|
}
|
||||||
|
match self.db_map.get(value) {
|
||||||
|
Some(_) => return Err(DBError::new(format!("database {} already exists", value))),
|
||||||
|
None => (),
|
||||||
|
}
|
||||||
self.db_map.insert(value.to_string(), data.to_string());
|
self.db_map.insert(value.to_string(), data.to_string());
|
||||||
let mut output = Vec::new();
|
let mut output = Vec::new();
|
||||||
output.push(data.to_string());
|
output.push(data.to_string());
|
||||||
@ -117,8 +121,10 @@ impl SessionData for Databases {
|
|||||||
Err(err) => return Err(err),
|
Err(err) => return Err(err),
|
||||||
}
|
}
|
||||||
let mut output = Vec::new();
|
let mut output = Vec::new();
|
||||||
let data = self.db_map.get(value).unwrap();
|
match self.db_map.get(value) {
|
||||||
output.push(data.to_string());
|
Some(data) => output.push(data.to_string()),
|
||||||
|
None => (),
|
||||||
|
}
|
||||||
Ok(output)
|
Ok(output)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,4 +313,25 @@ mod session_data {
|
|||||||
Err(_) => (),
|
Err(_) => (),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn unique_names() {
|
||||||
|
let mut dbs = Databases::new();
|
||||||
|
let value = "wilma";
|
||||||
|
dbs.add("name", value, "something").unwrap();
|
||||||
|
match dbs.add("name", value, "overwrite") {
|
||||||
|
Ok(_) => assert!(false, "Duplicate names should produce an error."),
|
||||||
|
Err(err) => assert_eq!(
|
||||||
|
err.to_string(),
|
||||||
|
format!("database {} already exists", value)
|
||||||
|
),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn get_missing() {
|
||||||
|
let dbs = Databases::new();
|
||||||
|
let output = dbs.get("name", "melvin").unwrap();
|
||||||
|
assert_eq!(output, Vec::<String>::new());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user