feat(files): stamp entities with storage policy
This commit is contained in:
@@ -26,6 +26,8 @@ class FileEntityBackfillServiceTest {
|
||||
private FileEntityRepository fileEntityRepository;
|
||||
@Mock
|
||||
private StoredFileEntityRepository storedFileEntityRepository;
|
||||
@Mock
|
||||
private StoragePolicyService storagePolicyService;
|
||||
|
||||
private FileEntityBackfillService backfillService;
|
||||
|
||||
@@ -34,7 +36,8 @@ class FileEntityBackfillServiceTest {
|
||||
backfillService = new FileEntityBackfillService(
|
||||
storedFileRepository,
|
||||
fileEntityRepository,
|
||||
storedFileEntityRepository
|
||||
storedFileEntityRepository,
|
||||
storagePolicyService
|
||||
);
|
||||
}
|
||||
|
||||
@@ -50,6 +53,7 @@ class FileEntityBackfillServiceTest {
|
||||
entity.setId(100L);
|
||||
return entity;
|
||||
});
|
||||
when(storagePolicyService.ensureDefaultPolicy()).thenReturn(createDefaultStoragePolicy());
|
||||
|
||||
backfillService.backfillPrimaryEntities();
|
||||
|
||||
@@ -57,6 +61,7 @@ class FileEntityBackfillServiceTest {
|
||||
assertThat(storedFile.getPrimaryEntity().getObjectKey()).isEqualTo("blobs/blob-20");
|
||||
assertThat(storedFile.getPrimaryEntity().getEntityType()).isEqualTo(FileEntityType.VERSION);
|
||||
assertThat(storedFile.getPrimaryEntity().getReferenceCount()).isEqualTo(1);
|
||||
assertThat(storedFile.getPrimaryEntity().getStoragePolicyId()).isEqualTo(42L);
|
||||
verify(fileEntityRepository).save(any(FileEntity.class));
|
||||
verify(storedFileRepository).save(storedFile);
|
||||
verify(storedFileEntityRepository).save(any(StoredFileEntity.class));
|
||||
@@ -111,4 +116,16 @@ class FileEntityBackfillServiceTest {
|
||||
blob.setCreatedAt(LocalDateTime.now());
|
||||
return blob;
|
||||
}
|
||||
|
||||
private StoragePolicy createDefaultStoragePolicy() {
|
||||
StoragePolicy policy = new StoragePolicy();
|
||||
policy.setId(42L);
|
||||
policy.setName("Default Local Storage");
|
||||
policy.setType(StoragePolicyType.LOCAL);
|
||||
policy.setCredentialMode(StoragePolicyCredentialMode.NONE);
|
||||
policy.setMaxSizeBytes(500L * 1024 * 1024);
|
||||
policy.setEnabled(true);
|
||||
policy.setDefaultPolicy(true);
|
||||
return policy;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +63,8 @@ class FileServiceTest {
|
||||
private FileShareLinkRepository fileShareLinkRepository;
|
||||
@Mock
|
||||
private AdminMetricsService adminMetricsService;
|
||||
@Mock
|
||||
private StoragePolicyService storagePolicyService;
|
||||
|
||||
private FileService fileService;
|
||||
|
||||
@@ -150,6 +152,7 @@ class FileServiceTest {
|
||||
fileContentStorage,
|
||||
fileShareLinkRepository,
|
||||
adminMetricsService,
|
||||
storagePolicyService,
|
||||
new FileStorageProperties()
|
||||
);
|
||||
User user = createUser(7L);
|
||||
@@ -168,6 +171,7 @@ class FileServiceTest {
|
||||
entity.setId(200L);
|
||||
return entity;
|
||||
});
|
||||
when(storagePolicyService.ensureDefaultPolicy()).thenReturn(createDefaultStoragePolicy());
|
||||
when(storedFileRepository.save(any(StoredFile.class))).thenAnswer(invocation -> {
|
||||
StoredFile file = invocation.getArgument(0);
|
||||
file.setId(10L);
|
||||
@@ -181,6 +185,7 @@ class FileServiceTest {
|
||||
assertThat(entityCaptor.getValue().getObjectKey()).startsWith("blobs/");
|
||||
assertThat(entityCaptor.getValue().getEntityType()).isEqualTo(FileEntityType.VERSION);
|
||||
assertThat(entityCaptor.getValue().getCreatedBy()).isSameAs(user);
|
||||
assertThat(entityCaptor.getValue().getStoragePolicyId()).isEqualTo(42L);
|
||||
|
||||
var relationCaptor = forClass(StoredFileEntity.class);
|
||||
verify(storedFileEntityRepository).save(relationCaptor.capture());
|
||||
@@ -828,4 +833,16 @@ class FileServiceTest {
|
||||
directory.setBlob(null);
|
||||
return directory;
|
||||
}
|
||||
|
||||
private StoragePolicy createDefaultStoragePolicy() {
|
||||
StoragePolicy policy = new StoragePolicy();
|
||||
policy.setId(42L);
|
||||
policy.setName("Default Local Storage");
|
||||
policy.setType(StoragePolicyType.LOCAL);
|
||||
policy.setCredentialMode(StoragePolicyCredentialMode.NONE);
|
||||
policy.setMaxSizeBytes(500L * 1024 * 1024);
|
||||
policy.setEnabled(true);
|
||||
policy.setDefaultPolicy(true);
|
||||
return policy;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user