style: cargo fmt --all
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
use domain::entities::{
|
||||
Asset, AssetMetadata, AssetStack, AssetType, DerivativeAsset, DerivativeProfile,
|
||||
DetectionMethod, DuplicateGroup, DuplicateStatus, GenerationStatus,
|
||||
MetadataSource, SourceReference, StackMemberRole, StackType,
|
||||
DetectionMethod, DuplicateGroup, DuplicateStatus, GenerationStatus, MetadataSource,
|
||||
SourceReference, StackMemberRole, StackType,
|
||||
};
|
||||
use domain::errors::DomainError;
|
||||
use domain::value_objects::{Checksum, MetadataValue, StructuredData, SystemId};
|
||||
@@ -63,7 +63,9 @@ fn new_stack_contains_primary() {
|
||||
fn add_motion_clip() {
|
||||
let mut stack = AssetStack::new(StackType::LivePhoto, SystemId::new(), SystemId::new());
|
||||
let clip_id = SystemId::new();
|
||||
stack.add_member(clip_id.clone(), StackMemberRole::MotionClip).unwrap();
|
||||
stack
|
||||
.add_member(clip_id.clone(), StackMemberRole::MotionClip)
|
||||
.unwrap();
|
||||
assert_eq!(stack.members.len(), 2);
|
||||
assert_eq!(stack.members[1].asset_id, clip_id);
|
||||
assert_eq!(stack.members[1].sort_order, 1);
|
||||
|
||||
@@ -20,7 +20,10 @@ fn user_edited_overrides_exif() {
|
||||
|
||||
#[test]
|
||||
fn ai_overrides_exif_but_not_user() {
|
||||
let exif = layer(MetadataSource::ExifExtracted, &[("desc", "raw"), ("camera", "Nikon")]);
|
||||
let exif = layer(
|
||||
MetadataSource::ExifExtracted,
|
||||
&[("desc", "raw"), ("camera", "Nikon")],
|
||||
);
|
||||
let ai = layer(MetadataSource::AiGenerated, &[("desc", "ai-desc")]);
|
||||
let user = layer(MetadataSource::UserEdited, &[("desc", "user-desc")]);
|
||||
let result = resolve_metadata(&[exif, ai, user]);
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
mod value_objects;
|
||||
mod events;
|
||||
mod value_objects;
|
||||
|
||||
@@ -13,10 +13,14 @@ fn now_is_recent() {
|
||||
#[test]
|
||||
fn ordering() {
|
||||
let a = DateTimeStamp::from_datetime(
|
||||
chrono::DateTime::parse_from_rfc3339("2024-01-01T00:00:00Z").unwrap().into(),
|
||||
chrono::DateTime::parse_from_rfc3339("2024-01-01T00:00:00Z")
|
||||
.unwrap()
|
||||
.into(),
|
||||
);
|
||||
let b = DateTimeStamp::from_datetime(
|
||||
chrono::DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z").unwrap().into(),
|
||||
chrono::DateTime::parse_from_rfc3339("2025-01-01T00:00:00Z")
|
||||
.unwrap()
|
||||
.into(),
|
||||
);
|
||||
assert!(a < b);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
mod catalog;
|
||||
mod common;
|
||||
mod identity;
|
||||
mod storage;
|
||||
mod catalog;
|
||||
mod organization;
|
||||
mod processing;
|
||||
mod sharing;
|
||||
mod sidecar;
|
||||
mod processing;
|
||||
mod storage;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use domain::entities::permission::{
|
||||
admin_permissions, contributor_permissions, viewer_permissions,
|
||||
Permission, PermissionAction, ResourceType,
|
||||
Permission, PermissionAction, ResourceType, admin_permissions, contributor_permissions,
|
||||
viewer_permissions,
|
||||
};
|
||||
use domain::entities::{Group, Role, User};
|
||||
use domain::errors::DomainError;
|
||||
@@ -36,8 +36,16 @@ fn role_checks_permission() {
|
||||
|
||||
#[test]
|
||||
fn creates_user_with_unique_id() {
|
||||
let a = User::new("alice", Email::new("a@example.com").unwrap(), PasswordHash::from_hash("h".into()));
|
||||
let b = User::new("bob", Email::new("b@example.com").unwrap(), PasswordHash::from_hash("h".into()));
|
||||
let a = User::new(
|
||||
"alice",
|
||||
Email::new("a@example.com").unwrap(),
|
||||
PasswordHash::from_hash("h".into()),
|
||||
);
|
||||
let b = User::new(
|
||||
"bob",
|
||||
Email::new("b@example.com").unwrap(),
|
||||
PasswordHash::from_hash("h".into()),
|
||||
);
|
||||
assert_ne!(a.id, b.id);
|
||||
assert_eq!(a.username, "alice");
|
||||
assert_eq!(b.username, "bob");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use domain::entities::{Permission, PermissionAction, ResourceType, Role};
|
||||
use domain::entities::permission::{admin_permissions, viewer_permissions};
|
||||
use domain::entities::{Permission, PermissionAction, ResourceType, Role};
|
||||
use domain::services::permission_service::PermissionChecker;
|
||||
|
||||
#[test]
|
||||
@@ -24,8 +24,24 @@ fn viewer_cannot_delete() {
|
||||
|
||||
#[test]
|
||||
fn roles_additive() {
|
||||
let r1 = Role::new("r1", [Permission::new(PermissionAction::ReadAsset, ResourceType::Global)].into(), false);
|
||||
let r2 = Role::new("r2", [Permission::new(PermissionAction::WriteMetadata, ResourceType::Global)].into(), false);
|
||||
let r1 = Role::new(
|
||||
"r1",
|
||||
[Permission::new(
|
||||
PermissionAction::ReadAsset,
|
||||
ResourceType::Global,
|
||||
)]
|
||||
.into(),
|
||||
false,
|
||||
);
|
||||
let r2 = Role::new(
|
||||
"r2",
|
||||
[Permission::new(
|
||||
PermissionAction::WriteMetadata,
|
||||
ResourceType::Global,
|
||||
)]
|
||||
.into(),
|
||||
false,
|
||||
);
|
||||
let eff = PermissionChecker::effective_permissions(&[r1, r2]);
|
||||
assert_eq!(eff.len(), 2);
|
||||
}
|
||||
|
||||
@@ -6,14 +6,26 @@ use domain::value_objects::{DateTimeStamp, SystemId};
|
||||
|
||||
#[test]
|
||||
fn not_expired_when_no_expiry() {
|
||||
let scope = ShareScope::new(ScopeType::Link, ShareableType::Album, SystemId::new(), SystemId::new());
|
||||
let scope = ShareScope::new(
|
||||
ScopeType::Link,
|
||||
ShareableType::Album,
|
||||
SystemId::new(),
|
||||
SystemId::new(),
|
||||
);
|
||||
assert!(!scope.is_expired());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn expired_when_past() {
|
||||
let mut scope = ShareScope::new(ScopeType::Link, ShareableType::Album, SystemId::new(), SystemId::new());
|
||||
scope.expires_at = Some(DateTimeStamp::from_datetime(Utc::now() - Duration::hours(1)));
|
||||
let mut scope = ShareScope::new(
|
||||
ScopeType::Link,
|
||||
ShareableType::Album,
|
||||
SystemId::new(),
|
||||
SystemId::new(),
|
||||
);
|
||||
scope.expires_at = Some(DateTimeStamp::from_datetime(
|
||||
Utc::now() - Duration::hours(1),
|
||||
));
|
||||
assert!(scope.is_expired());
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use domain::entities::{
|
||||
IngestSession, IngestStatus, LibraryPath, OwnershipPolicy,
|
||||
QuotaDefinition, StorageVolume, TimePeriod, UsageType,
|
||||
IngestSession, IngestStatus, LibraryPath, OwnershipPolicy, QuotaDefinition, StorageVolume,
|
||||
TimePeriod, UsageType,
|
||||
};
|
||||
use domain::errors::DomainError;
|
||||
use domain::value_objects::{Checksum, SystemId};
|
||||
@@ -63,7 +63,11 @@ fn invalid_transition_rejected() {
|
||||
|
||||
#[test]
|
||||
fn can_fail_from_any_non_terminal() {
|
||||
for target in [IngestStatus::Uploading, IngestStatus::AwaitingProcessing, IngestStatus::Processing] {
|
||||
for target in [
|
||||
IngestStatus::Uploading,
|
||||
IngestStatus::AwaitingProcessing,
|
||||
IngestStatus::Processing,
|
||||
] {
|
||||
let mut s = make_session();
|
||||
if target == IngestStatus::AwaitingProcessing || target == IngestStatus::Processing {
|
||||
s.advance_to(IngestStatus::AwaitingProcessing).unwrap();
|
||||
|
||||
Reference in New Issue
Block a user