Adapt FileStorage tests to Instance<JobOwnershipService> constructor

This commit is contained in:
a
2026-06-12 22:11:27 +01:00
parent 10f4ecd09d
commit e07eefc013
46 changed files with 437 additions and 268 deletions
@@ -2,26 +2,34 @@ package stirling.software.common.service;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.io.IOException;
import java.nio.file.Path;
import java.util.Optional;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import jakarta.enterprise.inject.Instance;
import stirling.software.common.cluster.inprocess.LocalDiskFileStore;
class FileStorageDelegationTest {
@Test
@SuppressWarnings("unchecked")
void storeBytesThenRetrieveBytesRoundTripsThroughFileStore(@TempDir Path tempDir)
throws IOException {
// FileStorage now takes a CDI Instance<JobOwnershipService> (was Optional). Mock one that
// is
// not resolvable, mirroring the previous Optional.empty() (desktop / no-security mode).
Instance<JobOwnershipService> noOwnership = mock(Instance.class);
when(noOwnership.isResolvable()).thenReturn(false);
FileStorage fs =
new FileStorage(
mock(FileOrUploadService.class),
new LocalDiskFileStore(tempDir.toString()),
Optional.empty());
noOwnership);
byte[] payload = "round-trip".getBytes();
String id = fs.storeBytes(payload, "x.bin");
assertArrayEquals(payload, fs.retrieveBytes(id));
@@ -13,16 +13,29 @@ import java.util.concurrent.atomic.AtomicReference;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import jakarta.enterprise.inject.Instance;
import stirling.software.common.cluster.inprocess.LocalDiskFileStore;
import stirling.software.common.util.JobContext;
class FileStorageOwnershipTest {
// FileStorage now takes a CDI Instance<JobOwnershipService> (was Optional). Build a mock
// Instance
// whose isResolvable()/get() mirror the previous Optional.empty()/Optional.of(svc) contract.
@SuppressWarnings("unchecked")
private static Instance<JobOwnershipService> instanceOf(JobOwnershipService svc) {
Instance<JobOwnershipService> instance = mock(Instance.class);
when(instance.isResolvable()).thenReturn(svc != null);
when(instance.get()).thenReturn(svc);
return instance;
}
private FileStorage newStorageWithoutSecurity(Path tempDir) {
return new FileStorage(
mock(FileOrUploadService.class),
new LocalDiskFileStore(tempDir.toString()),
Optional.empty());
instanceOf(null));
}
private FileStorage newStorageWithCurrentUser(Path tempDir, AtomicReference<String> userRef) {
@@ -31,7 +44,7 @@ class FileStorageOwnershipTest {
return new FileStorage(
mock(FileOrUploadService.class),
new LocalDiskFileStore(tempDir.toString()),
Optional.of(svc));
instanceOf(svc));
}
@Test