You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: export_and_import.rs
    path of file: ./repos/gluesql/storages/sled-storage/tests
    
    the code of the file until where you have to start completion: use {gluesql_core::prelude::*, gluesql_sled_storage::SledStorage, sled::Config};

#[tokio::test]
async fn export_and_import() {
    let path1 = "tmp/export_and_import1";
    let path2 = "tmp/export_and_import2";
    let config1 = Config::default().path(path1).temporary(true);
    let config2 = Config::default().path(path2).temporary(true);

    let storage1 = SledStorage::try_from(config1).unwrap();
    let mut glue1 = Glue::new(storage1);

    glue1
        .execute("CREATE TABLE Foo (id INTEGER);")
        .await
        .unwrap();
    glue1
        .execute("INSERT INTO Foo VALUES (1), (2), (3);")
        .await
        .unwrap();

    let data1 = glue1.execute("SELECT * FROM Foo;").await.unwrap();
    let export = glue1.storage.export().unwrap();

    let mut storage2 = SledStorage::try_from(config2).unwrap();
    storage2.import(export).unwrap();
    let mut glue2 = Glue::new(storage2);

    let data2 = glue2.execute("SELECT * FROM Foo;").await.unwrap();

    assert_eq!(data1, data2);
}

#[tokio::test]
async fn export_and_import_multiple_times() {
    let path1 = "tmp/repeated_export_an
    
async fn export_and_import_multiple_times() {
    let path1 = "tmp/repeated_export_and_import1";
    let path2 = "tmp/repeated_export_and_import2";
    let path3 = "tmp/repeated_export_and_import3";
    let config1 = Config::default().path(path1).temporary(true);
    let config2 = Config::default().path(path2).temporary(true);
    let config3 = Config::default().path(path3).temporary(true);

    let storage1 = SledStorage::try_from(config1).unwrap();
    let mut glue1 = Glue::new(storage1);

    glue1
        .execute("CREATE TABLE Foo (id INTEGER);")
        .await
        .unwrap();
    glue1
        .execute("INSERT INTO Foo VALUES (1), (2), (3);")
        .await
        .unwrap();

    let data1 = glue1.execute("SELECT * FROM Foo;").await.unwrap();
    let export = glue1.storage.export().unwrap();

    let mut storage2 = SledStorage::try_from(config2).unwrap();
    storage2.import(export).unwrap();
    let mut glue2 = Glue::new(storage2);

    let data2 = glue2.execute("SELECT * FROM Foo;").await.unwrap();
    let export2 = glue2.storage.export().unwrap();
    assert_eq!(data1, data2);

    let mut storage3 = SledStorage::try_from(config3).unwrap();
    storage3.import(export2).unwrap();
    let mut glue3 = Glue::new(storage3);

    let data3 = glue3.execute("SELECT * FROM Foo;").await.unwrap();
    assert_eq!(data1, data3);
}