feat(domain): add actor_json to FederationActionPort

This commit is contained in:
2026-05-14 20:46:10 +02:00
parent 812cf7b140
commit 57110f3b75
2 changed files with 12 additions and 0 deletions

View File

@@ -198,6 +198,7 @@ pub trait RemoteActorRepository: Send + Sync {
pub trait FederationActionPort: Send + Sync { pub trait FederationActionPort: Send + Sync {
async fn lookup_actor(&self, handle: &str) -> Result<RemoteActor, DomainError>; async fn lookup_actor(&self, handle: &str) -> Result<RemoteActor, DomainError>;
async fn follow_remote(&self, local_user_id: &UserId, handle: &str) -> Result<(), DomainError>; async fn follow_remote(&self, local_user_id: &UserId, handle: &str) -> Result<(), DomainError>;
async fn actor_json(&self, user_id: &UserId) -> Result<String, DomainError>;
} }
#[async_trait] #[async_trait]

View File

@@ -547,6 +547,10 @@ impl FederationActionPort for TestStore {
) -> Result<(), DomainError> { ) -> Result<(), DomainError> {
Ok(()) Ok(())
} }
async fn actor_json(&self, _user_id: &UserId) -> Result<String, DomainError> {
Err(DomainError::NotFound)
}
} }
#[async_trait] #[async_trait]
@@ -806,6 +810,13 @@ mod federation_port_tests {
.await .await
.unwrap(); .unwrap();
} }
#[tokio::test]
async fn test_store_actor_json_returns_not_found() {
let store = TestStore::default();
let err = store.actor_json(&UserId::new()).await.unwrap_err();
assert!(matches!(err, DomainError::NotFound));
}
} }
#[cfg(test)] #[cfg(test)]