feat(admin): show storage policies
This commit is contained in:
@@ -320,11 +320,33 @@ class AdminControllerIntegrationTest {
|
||||
.andExpect(jsonPath("$.code").value(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
@WithMockUser(username = "admin")
|
||||
void shouldAllowConfiguredAdminToListStoragePolicies() throws Exception {
|
||||
mockMvc.perform(get("/api/admin/storage-policies"))
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(jsonPath("$.code").value(0))
|
||||
.andExpect(jsonPath("$.data.length()", greaterThanOrEqualTo(1)))
|
||||
.andExpect(jsonPath("$.data[0].name").value("Default Local Storage"))
|
||||
.andExpect(jsonPath("$.data[0].type").value("LOCAL"))
|
||||
.andExpect(jsonPath("$.data[0].enabled").value(true))
|
||||
.andExpect(jsonPath("$.data[0].defaultPolicy").value(true))
|
||||
.andExpect(jsonPath("$.data[0].capabilities.directUpload").value(false))
|
||||
.andExpect(jsonPath("$.data[0].capabilities.multipartUpload").value(false))
|
||||
.andExpect(jsonPath("$.data[0].capabilities.serverProxyDownload").value(true))
|
||||
.andExpect(jsonPath("$.data[0].capabilities.requiresCors").value(false))
|
||||
.andExpect(jsonPath("$.data[0].maxSizeBytes").isNumber());
|
||||
}
|
||||
|
||||
@Test
|
||||
@WithMockUser(username = "portal-user")
|
||||
void shouldRejectNonAdminUser() throws Exception {
|
||||
mockMvc.perform(get("/api/admin/users?page=0&size=10"))
|
||||
.andExpect(status().isForbidden())
|
||||
.andExpect(jsonPath("$.msg").value("没有权限访问该资源"));
|
||||
|
||||
mockMvc.perform(get("/api/admin/storage-policies"))
|
||||
.andExpect(status().isForbidden())
|
||||
.andExpect(jsonPath("$.msg").value("没有权限访问该资源"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,8 @@ import com.yoyuzh.files.FileBlobRepository;
|
||||
import com.yoyuzh.files.FileService;
|
||||
import com.yoyuzh.files.StoredFile;
|
||||
import com.yoyuzh.files.StoredFileRepository;
|
||||
import com.yoyuzh.files.StoragePolicyRepository;
|
||||
import com.yoyuzh.files.StoragePolicyService;
|
||||
import com.yoyuzh.transfer.OfflineTransferSessionRepository;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -56,6 +58,10 @@ class AdminServiceTest {
|
||||
private OfflineTransferSessionRepository offlineTransferSessionRepository;
|
||||
@Mock
|
||||
private AdminMetricsService adminMetricsService;
|
||||
@Mock
|
||||
private StoragePolicyRepository storagePolicyRepository;
|
||||
@Mock
|
||||
private StoragePolicyService storagePolicyService;
|
||||
|
||||
private AdminService adminService;
|
||||
|
||||
@@ -64,7 +70,8 @@ class AdminServiceTest {
|
||||
adminService = new AdminService(
|
||||
userRepository, storedFileRepository, fileBlobRepository, fileService,
|
||||
passwordEncoder, refreshTokenService, registrationInviteService,
|
||||
offlineTransferSessionRepository, adminMetricsService);
|
||||
offlineTransferSessionRepository, adminMetricsService,
|
||||
storagePolicyRepository, storagePolicyService);
|
||||
}
|
||||
|
||||
// --- getSummary ---
|
||||
|
||||
Reference in New Issue
Block a user