aqua-verifier 1.2.0

Aqua protocol library to sign, witness , and verify aqua chains.
Documentation
#[cfg(test)]
pub mod tests {
    use std::{fs, path::{Path, PathBuf}};

    use aqua_verifier_rs_types::models::page_data::PageData;

    use crate::util::{ verify_content_util, verify_metadata_util, verify_signature_util};

     fn read_aqua_data(path: &PathBuf) -> Result<PageData, String> {
        let data = fs::read_to_string(path);
        match data {
            Ok(data) => {
                let res = serde_json::from_str::<PageData>(&data);
                match res {
                    Ok(res_data) => Ok(res_data),
                    Err(err_data) => {
                        return Err(format!("Error, parsing json {}", err_data));
                    }
                }
            }
            Err(e) => {
                return Err(format!("Error , {}", e));
            }
        }
    }

    #[test]
    fn test_verify_file_content() {

        let path = Path::new("src/tests/sample.json");

        print!("Path is  {}", path.display());
        let res: Result<PageData, String> = read_aqua_data(&path.to_path_buf());

        if res.is_err(){
            panic!("Cannot read json");

        }
        let hash_chain = res.unwrap().pages;
        let (_hash,revsion) = hash_chain.get(0).unwrap().revisions.get(0).unwrap();

        let (is_ok , _reason ) = verify_content_util(&revsion.content);

        assert_eq!(is_ok, true);
    }


    #[test]
    fn test_verify_metadata_content() {

        let path = Path::new("src/tests/sample.json");

        print!("Path is  {}", path.display());
        let res: Result<PageData, String> = read_aqua_data(&path.to_path_buf());

        if res.is_err(){
            panic!("Cannot read json");

        }
        let hash_chain = res.unwrap().pages;
        let (_hash,revsion) = hash_chain.get(0).unwrap().revisions.get(0).unwrap();

        let (is_ok , _reason ) = verify_metadata_util(&revsion.metadata);

        assert_eq!(is_ok, true);
    }



    #[test]
    fn test_verify_signature() {

        let path = Path::new("src/tests/sample.json");

        print!("Path is  {}", path.display());
        let res: Result<PageData, String> = read_aqua_data(&path.to_path_buf());

        if res.is_err(){
            panic!("Cannot read json");

        }
        let hash_chain = res.unwrap().pages;
        let (_hash,revsion) = hash_chain.get(0).unwrap().revisions.get(0).unwrap();
        let (_hash_2,revsion_2) = hash_chain.get(0).unwrap().revisions.get(1).unwrap();

        let (is_ok , _reason ) = verify_signature_util(revsion_2.signature.clone().unwrap(),revsion.metadata.verification_hash);

        assert_eq!(is_ok, true);
    }


}