Creating tables and got first test to pass
This commit is contained in:
parent
b067fb36e4
commit
5164506cf1
@ -16,6 +16,12 @@ struct Dnode {
|
|||||||
port : i32,
|
port : i32,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn create_tables(conn : &Connection) {
|
||||||
|
conn.execute(
|
||||||
|
"CREATE TABLE dnode (nid INTEGER PRIMARY KEY ASC AUTOINCREMENT, address TEXT NOT NULL DEFAULT \" \", port INTEGER NOT NULL DEFAULT \"0\")",
|
||||||
|
NO_PARAMS);
|
||||||
|
}
|
||||||
|
|
||||||
fn add_data_node(conn : &Connection, address : &str, port : i32) {
|
fn add_data_node(conn : &Connection, address : &str, port : i32) {
|
||||||
let dn = Dnode {
|
let dn = Dnode {
|
||||||
id : 0,
|
id : 0,
|
||||||
@ -55,8 +61,27 @@ fn get_file_inode(conn : Connection, fname : String) {
|
|||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
fn get_test_db() -> Connection {
|
||||||
|
let conn = Connection::open_in_memory().unwrap();
|
||||||
|
create_tables(&conn);
|
||||||
|
conn
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn inserts_dnode() {
|
fn inserts_dnode() {
|
||||||
|
let conn = get_test_db();
|
||||||
|
add_data_node(&conn, "127.0.0.1", 65533);
|
||||||
|
let mut stmt = conn.prepare("SELECT * FROM dnode").unwrap();
|
||||||
|
let result = stmt.query_map(
|
||||||
|
NO_PARAMS, |row| Dnode {
|
||||||
|
id : row.get(0), address : row.get(1), port : row.get(2),
|
||||||
|
}).unwrap();
|
||||||
|
for d in result {
|
||||||
|
let dnode = d.unwrap();
|
||||||
|
assert_eq!(dnode.id, 1);
|
||||||
|
assert_eq!(dnode.address, "127.0.0.1");
|
||||||
|
assert_eq!(dnode.port, 65533);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user