package jnpf.fileStorage;
|
|
import org.dromara.x.file.storage.core.FileStorageService;
|
import org.dromara.x.file.storage.core.platform.MinioFileStorage;
|
import org.junit.Test;
|
|
import java.util.Collections;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
|
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertTrue;
|
|
public class SeaweedFsStorageRegistrarTest {
|
|
@Test
|
public void registersEnabledSeaweedFsWithoutChangingDefaultPlatform() {
|
SeaweedFsStorageProperties properties = new SeaweedFsStorageProperties();
|
properties.setSeaweedfs(Collections.singletonList(enabledConfig("seaweedfs-1")));
|
FileStorageService service = serviceWithEmptyStorageList();
|
SeaweedFsStorageRegistrar registrar = new SeaweedFsStorageRegistrar(properties, service);
|
|
registrar.register();
|
|
assertEquals(1, service.getFileStorageList().size());
|
assertEquals("seaweedfs-1", service.getFileStorageList().get(0).getPlatform());
|
assertTrue(service.getFileStorageList().get(0) instanceof MinioFileStorage);
|
registrar.unregister();
|
}
|
|
@Test
|
public void ignoresDisabledSeaweedFs() {
|
SeaweedFsStorageProperties properties = new SeaweedFsStorageProperties();
|
SeaweedFsStorageProperties.SeaweedFsConfig config = enabledConfig("seaweedfs-1");
|
config.setEnableStorage(false);
|
properties.setSeaweedfs(Collections.singletonList(config));
|
FileStorageService service = serviceWithEmptyStorageList();
|
|
new SeaweedFsStorageRegistrar(properties, service).register();
|
|
assertTrue(service.getFileStorageList().isEmpty());
|
}
|
|
@Test(expected = IllegalStateException.class)
|
public void rejectsMinioPlatformNameInSeaweedFsGroup() {
|
SeaweedFsStorageProperties properties = new SeaweedFsStorageProperties();
|
properties.setSeaweedfs(Collections.singletonList(enabledConfig("minio-1")));
|
|
new SeaweedFsStorageRegistrar(properties, serviceWithEmptyStorageList()).register();
|
}
|
|
private FileStorageService serviceWithEmptyStorageList() {
|
FileStorageService service = new FileStorageService();
|
service.setFileStorageList(new CopyOnWriteArrayList<>());
|
return service;
|
}
|
|
private SeaweedFsStorageProperties.SeaweedFsConfig enabledConfig(String platform) {
|
SeaweedFsStorageProperties.SeaweedFsConfig config = new SeaweedFsStorageProperties.SeaweedFsConfig();
|
config.setEnableStorage(true);
|
config.setPlatform(platform);
|
config.setAccessKey("access");
|
config.setSecretKey("secret");
|
config.setEndPoint("http://127.0.0.1:8333/");
|
config.setBucketName("bucket");
|
config.setBasePath("dms/");
|
return config;
|
}
|
}
|