dialtone_sqlx 0.1.0

Dialtone SQLx Back-End
Documentation
use dialtone_sqlx::db::persistent_queue::insert_job::insert_job;
use dialtone_sqlx::db::persistent_queue::pop_queue::pop_queue;
use dialtone_sqlx::db::persistent_queue::JobDbType;
use dialtone_sqlx::logic::persistent_queue::job_details::{JobDetails, NoOpJobDetails};
use dialtone_test_util::{test_action, test_pg};

#[tokio::test]
async fn pop_queue_test() {
    test_pg::test_pg(move |pool| async move {
        let job_details = JobDetails::NoOp(NoOpJobDetails {
            message: "a test".to_string(),
        });
        let action = insert_job(&pool, &JobDbType::NoOperation, &job_details, None, None).await;
        test_action!(action);
        println!("job id = {}", action.unwrap());

        let action = pop_queue(&pool, &JobDbType::NoOperation).await;
        test_action!(action);
        let job = action.unwrap();
        assert!(job.is_some());
        println!("job id = {}", job.unwrap().job_id);
    })
    .await;
}