// use rstest::rstest; // use rstest_reuse::{self, apply, template}; // use rustical_store::{CalendarObject, CalendarStore}; // use rustical_store_sqlite::{calendar_store::SqliteCalendarStore, create_test_db}; // // const TIMEZONE: &str = include_str!("examples/timezone.ics"); // const EVENT: &str = include_str!("examples/event.ics"); // // #[template] // #[rstest] // #[case::sqlite(async { // let (send, _recv) = tokio::sync::mpsc::channel(100); // SqliteCalendarStore::new(create_test_db().await.unwrap(), send) // })] // async fn cal_store( // #[future(awt)] // #[case] // mut store: CS, // ) { // } // TODO: Reimplement, add test principal // #[apply(cal_store)] // #[tokio::test] // async fn test_create_event(store: CS) { // store // .insert_calendar(rustical_store::Calendar { // id: "test".to_owned(), // displayname: Some("Test Calendar".to_owned()), // principal: "testuser".to_owned(), // timezone: Some(TIMEZONE.to_owned()), // ..Default::default() // timezone: TIMEZONE.to_owned(), // }) // .await // .unwrap(); // // let object = CalendarObject::from_ics("asd".to_owned(), EVENT.to_owned()).unwrap(); // store // .put_object("testuser".to_owned(), "test".to_owned(), object, true) // .await // .unwrap(); // // let event = store.get_object("testuser", "test", "asd").await.unwrap(); // assert_eq!(event.get_ics(), EVENT); // assert_eq!(event.get_id(), "asd"); // }