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: definitions.rs
    path of file: ./repos/surrealdb-migrations/tests/cli
    
    the code of the file until where you have to start completion: use assert_fs::TempDir;
use color_eyre::{
    eyre::{ensure, ContextCompat, WrapErr},
    Result,
};
use fs_extra::dir::{DirEntryAttr, DirEntryValue};
use std::collections::HashSet;

use crate::helpers::*;

#[test]
fn initial_definition_on_initial_schema_changes() -> Result<()> {
    let temp_dir = TempDir::new()?;
    let db_name = generate_random_db_name()?;

    let migrations_dir = temp_dir.join("migrations");

    add_migration_config_file_with_db_name(&temp_dir, DbInstance::Root, &db_name)?;
    scaffold_blog_templat
    
fn initial_definition_on_initial_schema_changes() -> Result<()> {
    let temp_dir = TempDir::new()?;
    let db_name = generate_random_db_name()?;

    let migrations_dir = temp_dir.join("migrations");

    add_migration_config_file_with_db_name(&temp_dir, DbInstance::Root, &db_name)?;
    scaffold_blog_template(&temp_dir)?;
    remove_folder(&migrations_dir)?;

    let mut cmd = create_cmd(&temp_dir)?;

    cmd.arg("apply");

    cmd.assert().try_success()?;

    let definitions_dir = migrations_dir.join("definitions");

    let definitions_files =
        std::fs::read_dir(&definitions_dir)?.filter(|entry| match entry.as_ref() {
            Ok(entry) => entry.path().is_file(),
            Err(_) => false,
        });
    ensure!(
        definitions_files.count() == 1,
        "Expected only one definition file"
    );

    let initial_definition_file_path = definitions_dir.join("_initial.json");

    ensure!(
        initial_definition_file_path.exists(),
        "Expected _initial.json file to exist"
    );

    let initial_migration_definition_str = std::fs::read_to_string(initial_definition_file_path)?;
    let initial_migration_definition =
        serde_json::from_str::<MigrationDefinition>(&initial_migration_definition_str)?;

    ensure!(
        initial_migration_definition.schemas == Some(INITIAL_DEFINITION_SCHEMAS.to_string()),
        "Expected initial definition to be equal to the initial definition schema"
    );

    Ok(())
}