ForgeFlux/src/auth/application/port/out/forge/request_access_token.rs

33 lines
852 B
Rust

use mockall::predicate::*;
use mockall::*;
use super::errors::*;
use crate::auth::domain::OAuthAccessToken;
#[automock]
#[async_trait::async_trait]
pub trait RequestAccessToken: Send + Sync {
async fn request_access_token(&self, code: &str) -> OutForgePortResult<OAuthAccessToken>;
}
#[cfg(test)]
pub mod tests {
use super::*;
use std::sync::Arc;
pub fn mock_request_access_token(times: Option<usize>) -> Arc<dyn RequestAccessToken> {
let mut m = MockRequestAccessToken::default();
if let Some(times) = times {
m.expect_request_access_token()
.times(times)
.returning(|_| Ok(OAuthAccessToken::default()));
} else {
m.expect_request_access_token()
.returning(|_| Ok(OAuthAccessToken::default()));
}
Arc::new(m)
}
}