From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-file/jnpf-file-storage/src/test/java/jnpf/fileStorage/SeaweedFsStorageRegistrarTest.java |   68 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/jnpf-file/jnpf-file-storage/src/test/java/jnpf/fileStorage/SeaweedFsStorageRegistrarTest.java b/jnpf-file/jnpf-file-storage/src/test/java/jnpf/fileStorage/SeaweedFsStorageRegistrarTest.java
new file mode 100644
index 0000000..a9aa391
--- /dev/null
+++ b/jnpf-file/jnpf-file-storage/src/test/java/jnpf/fileStorage/SeaweedFsStorageRegistrarTest.java
@@ -0,0 +1,68 @@
+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;
+    }
+}

--
Gitblit v1.8.0