feat: define input adapter to trigger refreshing OAuthAccessToken

This commit is contained in:
Aravinth Manivannan 2024-05-12 18:53:57 +05:30
parent 49dc998735
commit 7c1a62c549
Signed by: realaravinth
GPG key ID: F8F50389936984FF
3 changed files with 40 additions and 0 deletions

View file

@ -0,0 +1 @@
pub mod refresh_access_token;

View file

@ -0,0 +1,38 @@
use std::sync::Arc;
use mockall::predicate::*;
use mockall::*;
use crate::auth::application::port::out::forge::refresh_access_token::RefreshAccessToken;
use crate::auth::application::services::refresh_access_token::{command::*, errors::*};
#[automock]
#[async_trait::async_trait]
pub trait RefreshAccessTokenInputPort: Send + Sync {
async fn refresh_access_token(
&self,
refresh_access_token_adapter: Arc<dyn RefreshAccessToken>,
cmd: RefreshAccessTokenCommand,
) -> RefreshAccessTokenServiceResult<()>;
}
#[cfg(test)]
pub mod tests {
use super::*;
pub fn mock_refresh_access_token_usecase_factory(
times: Option<usize>,
) -> Arc<dyn RefreshAccessTokenInputPort> {
let mut m = MockRefreshAccessTokenInputPort::new();
if let Some(times) = times {
m.expect_refresh_access_token()
.times(times)
.returning(move |_, _| Ok(()));
} else {
m.expect_refresh_access_token()
.returning(move |_, _| Ok(()));
}
Arc::new(m)
}
}

View file

@ -1 +1,2 @@
pub mod forge;
pub mod ui;