diff --git a/minisql/src/interpreter2.rs b/minisql/src/interpreter2.rs index 72271e7..dfcd568 100644 --- a/minisql/src/interpreter2.rs +++ b/minisql/src/interpreter2.rs @@ -177,14 +177,17 @@ mod tests { use crate::response_writer::ResponseWriterStub; use crate::type_system::{DbType, IndexableValue, Value}; use std::collections::HashSet; + use tokio::fs::{File, OpenOptions, DirBuilder}; + use tokio::fs; impl Drop for State { fn drop(&mut self) { println!("CLEANING UP INTERPRETER STATE"); - // TODO - // let table_folder = self.header.table_folder.clone(); + + // TODO: This should be part of the state schema + let table_folder = "db-test-0"; // Seems no one has figured out how to do AsyncDrop yet. - // std::fs::remove_dir_all(table_folder).unwrap(); + std::fs::remove_dir_all(table_folder).unwrap(); } } @@ -204,12 +207,24 @@ mod tests { let users = users_schema.table_name().clone(); let db_path = Path::new("db-test-0"); + fs::create_dir(db_path).await.unwrap(); let mut response_writer = ResponseWriterStub::new(); - // state - // .interpret(db_path, &mut response_writer, Operation::CreateTable(users_schema)).await - // .unwrap(); + state + .interpret(db_path, &mut response_writer, Operation::CreateTable(users_schema.clone())).await + .unwrap(); + + let users_position: TablePosition = 0; + state + .interpret(db_path, &mut response_writer, Operation::Select( + users_position, + users_schema.all_selection(), + None, + )).await + .unwrap(); + + // assert!(false); // assert!(state.tables.len() == 1); // let table = &state.tables[0];