dialtone_sqlx 0.1.0

Dialtone SQLx Back-End
Documentation
use dialtone_common::ap::ActorType;
use dialtone_sqlx::control::actor::create_owned::create_credentialed_actor;
use dialtone_sqlx::control::user::create::create_user;
use dialtone_sqlx::db::actor_owner::fetch_authz::fetch_actor_owner_authz;
use dialtone_sqlx::logic::actor::new_actor::NewActor;
use dialtone_test_util::{test_action, test_pg};

#[tokio::test]
async fn fetch_actor_owner_authz_test() {
    test_pg::test_pg(move |pool| async move {
        let acct = "test@example.com";
        let action = create_user(&pool, acct, "secretpassword").await;
        assert!(action.is_ok());

        let new_actor = NewActor {
            preferred_user_name: "test_user",
            actor_type: ActorType::Person,
            owner: acct,
            name: None,
            summary: None,
            icon: None,
            image: None,
        };
        let action = create_credentialed_actor(&pool, new_actor, true, "example.com").await;
        test_action!(action);
        let actor = action.unwrap();

        let action = fetch_actor_owner_authz(&pool, &actor.owned_actor.ap.id, acct).await;
        test_action!(action);
        let authorized = action.unwrap();
        assert!(authorized);
    })
    .await;
}