Test table creation and select

This commit is contained in:
Yuriy Dupyn 2024-02-05 20:04:18 +01:00
parent ad06715676
commit b884a6286d

View file

@ -177,14 +177,17 @@ mod tests {
use crate::response_writer::ResponseWriterStub; use crate::response_writer::ResponseWriterStub;
use crate::type_system::{DbType, IndexableValue, Value}; use crate::type_system::{DbType, IndexableValue, Value};
use std::collections::HashSet; use std::collections::HashSet;
use tokio::fs::{File, OpenOptions, DirBuilder};
use tokio::fs;
impl Drop for State { impl Drop for State {
fn drop(&mut self) { fn drop(&mut self) {
println!("CLEANING UP INTERPRETER STATE"); 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. // 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 users = users_schema.table_name().clone();
let db_path = Path::new("db-test-0"); let db_path = Path::new("db-test-0");
fs::create_dir(db_path).await.unwrap();
let mut response_writer = ResponseWriterStub::new(); let mut response_writer = ResponseWriterStub::new();
// state state
// .interpret(db_path, &mut response_writer, Operation::CreateTable(users_schema)).await .interpret(db_path, &mut response_writer, Operation::CreateTable(users_schema.clone())).await
// .unwrap(); .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); // assert!(state.tables.len() == 1);
// let table = &state.tables[0]; // let table = &state.tables[0];