bios-basic 0.2.0

An embeddable message queue system
Documentation
use tardis::basic::dto::TardisContext;
use tardis::basic::field::TrimString;
use tardis::basic::result::TardisResult;
use tardis::log::info;
use tardis::TardisFuns;

use bios_basic::rbum::dto::rbum_domain_dto::{RbumDomainAddReq, RbumDomainModifyReq};
use bios_basic::rbum::dto::rbum_filer_dto::RbumBasicFilterReq;
use bios_basic::rbum::rbum_enumeration::RbumScopeLevelKind;
use bios_basic::rbum::serv::rbum_crud_serv::RbumCrudOperation;
use bios_basic::rbum::serv::rbum_domain_serv::RbumDomainServ;

pub async fn test(context: &TardisContext) -> TardisResult<()> {
    let mut funs = TardisFuns::inst_with_db_conn("".to_string(), None);
    funs.begin().await?;

    info!("【test_rbum_domin】 : Test Add : RbumDomainServ::add_rbum");
    let id = RbumDomainServ::add_rbum(
        &mut RbumDomainAddReq {
            code: TrimString("mysql-dev".to_string()),
            name: TrimString("Mysql测试集群".to_string()),
            note: Some("...".to_string()),
            icon: Some("...".to_string()),
            sort: None,
            scope_level: Some(RbumScopeLevelKind::L2),
        },
        &funs,
        context,
    )
    .await?;

    info!("【test_rbum_domin】 : Test Get : RbumDomainServ::get_rbum");
    let rbum = RbumDomainServ::get_rbum(&id, &RbumBasicFilterReq::default(), &funs, context).await?;
    assert_eq!(rbum.id, id);
    assert_eq!(rbum.code, "mysql-dev");
    assert_eq!(rbum.name, "Mysql测试集群");
    assert_eq!(rbum.icon, "...");
    assert_eq!(rbum.note, "...");

    info!("【test_rbum_domin】 : Test Modify : RbumDomainServ::modify_rbum");
    RbumDomainServ::modify_rbum(
        &id,
        &mut RbumDomainModifyReq {
            name: None,
            note: None,
            icon: Some(".".to_string()),
            sort: None,
            scope_level: None,
        },
        &funs,
        context,
    )
    .await?;

    info!("【test_rbum_domin】 : Test Find : RbumDomainServ::paginate_rbums");
    let rbums = RbumDomainServ::paginate_rbums(
        &RbumBasicFilterReq {
            scope_level: Some(RbumScopeLevelKind::L2),
            ..Default::default()
        },
        1,
        10,
        None,
        None,
        &funs,
        context,
    )
    .await?;
    assert_eq!(rbums.page_number, 1);
    assert_eq!(rbums.page_size, 10);
    assert_eq!(rbums.total_size, 1);
    assert_eq!(rbums.records.first().unwrap().icon, ".");

    info!("【test_rbum_domin】 : Test Delete : RbumDomainServ::delete_rbum");
    RbumDomainServ::delete_rbum(&id, &funs, context).await?;
    assert!(RbumDomainServ::get_rbum(&id, &RbumBasicFilterReq::default(), &funs, context).await.is_err());

    funs.rollback().await?;

    Ok(())
}