From 4ae9518add80cf627bea3cb3a6ff703c28dc7e97 Mon Sep 17 00:00:00 2001 From: chenbaowang <49091147+Rsweater@users.noreply.github.com> Date: Fri, 24 Apr 2026 18:50:17 +0800 Subject: [PATCH] fix: update test files for platformRoles parameter in lifecycle governance methods All lifecycle methods (hideSkill, archiveSkill, unarchiveSkill, deleteVersion, unhideSkill) now accept a Set platformRoles parameter for SUPER_ADMIN/ SKILL_ADMIN bypass. Updated all test calls to pass null for this parameter. AdminSkillControllerTest now mocks hideSkillAsAdmin instead of hideSkill. --- .../admin/AdminSkillControllerTest.java | 2 +- .../portal/SkillLifecycleControllerTest.java | 7 ++++--- .../service/SkillLifecycleAppServiceTest.java | 6 ++++-- .../domain/report/SkillReportServiceTest.java | 2 +- .../service/SkillGovernanceServiceTest.java | 20 +++++++++---------- 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/admin/AdminSkillControllerTest.java b/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/admin/AdminSkillControllerTest.java index d4cc4670..34b3e2a5 100644 --- a/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/admin/AdminSkillControllerTest.java +++ b/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/admin/AdminSkillControllerTest.java @@ -48,7 +48,7 @@ class AdminSkillControllerTest { @Test void hideSkill_returnsUpdatedResponse() throws Exception { Skill skill = new Skill(1L, "demo", "owner", SkillVisibility.PUBLIC); - given(skillGovernanceService.hideSkill(org.mockito.ArgumentMatchers.eq(10L), org.mockito.ArgumentMatchers.eq("admin"), org.mockito.ArgumentMatchers.any(), org.mockito.ArgumentMatchers.any(), org.mockito.ArgumentMatchers.any(), org.mockito.ArgumentMatchers.eq("policy"))) + given(skillGovernanceService.hideSkillAsAdmin(org.mockito.ArgumentMatchers.eq(10L), org.mockito.ArgumentMatchers.eq("admin"), org.mockito.ArgumentMatchers.any(), org.mockito.ArgumentMatchers.any(), org.mockito.ArgumentMatchers.eq("policy"))) .willReturn(skill); PlatformPrincipal principal = new PlatformPrincipal("admin", "admin", "a@example.com", "", "github", Set.of("SUPER_ADMIN")); diff --git a/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/portal/SkillLifecycleControllerTest.java b/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/portal/SkillLifecycleControllerTest.java index 09751065..8b7452f1 100644 --- a/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/portal/SkillLifecycleControllerTest.java +++ b/server/skillhub-app/src/test/java/com/iflytek/skillhub/controller/portal/SkillLifecycleControllerTest.java @@ -1,5 +1,6 @@ package com.iflytek.skillhub.controller.portal; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyMap; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.nullable; @@ -88,7 +89,7 @@ class SkillLifecycleControllerTest { given(namespaceRepository.findBySlug("global")).willReturn(java.util.Optional.of(namespace)); given(skillSlugResolutionService.resolve(1L, "demo-skill", "usr_1", SkillSlugResolutionService.Preference.CURRENT_USER)) .willReturn(skill); - given(skillGovernanceService.archiveSkill(eq(1L), eq("usr_1"), anyMap(), nullable(String.class), nullable(String.class), eq("cleanup"))) + given(skillGovernanceService.archiveSkill(eq(1L), eq("usr_1"), anyMap(), any(), nullable(String.class), nullable(String.class), eq("cleanup"))) .willReturn(skillWithStatus(skill, com.iflytek.skillhub.domain.skill.SkillStatus.ARCHIVED)); mockMvc.perform(post("/api/web/skills/global/demo-skill/archive") @@ -116,7 +117,7 @@ class SkillLifecycleControllerTest { given(namespaceRepository.findBySlug("global")).willReturn(java.util.Optional.of(namespace)); given(skillSlugResolutionService.resolve(1L, "demo-skill", "usr_1", SkillSlugResolutionService.Preference.CURRENT_USER)) .willReturn(skill); - given(skillGovernanceService.unarchiveSkill(eq(1L), eq("usr_1"), anyMap(), nullable(String.class), nullable(String.class))) + given(skillGovernanceService.unarchiveSkill(eq(1L), eq("usr_1"), anyMap(), any(), nullable(String.class), nullable(String.class))) .willReturn(skillWithStatus(skill, com.iflytek.skillhub.domain.skill.SkillStatus.ACTIVE)); mockMvc.perform(post("/api/web/skills/global/demo-skill/unarchive") @@ -241,7 +242,7 @@ class SkillLifecycleControllerTest { given(namespaceRepository.findBySlug("global")).willReturn(java.util.Optional.of(namespace)); given(skillSlugResolutionService.resolve(1L, "demo-skill", "usr_1", SkillSlugResolutionService.Preference.CURRENT_USER)) .willReturn(skill); - given(skillGovernanceService.archiveSkill(eq(1L), eq("usr_1"), anyMap(), nullable(String.class), nullable(String.class), eq("cleanup"))) + given(skillGovernanceService.archiveSkill(eq(1L), eq("usr_1"), anyMap(), any(), nullable(String.class), nullable(String.class), eq("cleanup"))) .willReturn(skillWithStatus(skill, com.iflytek.skillhub.domain.skill.SkillStatus.ARCHIVED)); mockMvc.perform(post("/api/web/skills/@global/demo-skill/archive") diff --git a/server/skillhub-app/src/test/java/com/iflytek/skillhub/service/SkillLifecycleAppServiceTest.java b/server/skillhub-app/src/test/java/com/iflytek/skillhub/service/SkillLifecycleAppServiceTest.java index e2c10146..e8488b3f 100644 --- a/server/skillhub-app/src/test/java/com/iflytek/skillhub/service/SkillLifecycleAppServiceTest.java +++ b/server/skillhub-app/src/test/java/com/iflytek/skillhub/service/SkillLifecycleAppServiceTest.java @@ -1,6 +1,7 @@ package com.iflytek.skillhub.service; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyMap; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.nullable; @@ -59,7 +60,7 @@ class SkillLifecycleAppServiceTest { when(namespaceRepository.findBySlug("global")).thenReturn(Optional.of(namespace)); when(skillSlugResolutionService.resolve(7L, "demo-skill", "owner-1", SkillSlugResolutionService.Preference.CURRENT_USER)) .thenReturn(skill); - when(skillGovernanceService.archiveSkill(eq(11L), eq("owner-1"), anyMap(), nullable(String.class), nullable(String.class), eq("cleanup"))) + when(skillGovernanceService.archiveSkill(eq(11L), eq("owner-1"), anyMap(), any(), nullable(String.class), nullable(String.class), eq("cleanup"))) .thenReturn(skill); var response = service.archiveSkill( @@ -68,12 +69,13 @@ class SkillLifecycleAppServiceTest { new AdminSkillActionRequest("cleanup"), "owner-1", Map.of(7L, NamespaceRole.OWNER), + null, new AuditRequestContext("127.0.0.1", "JUnit") ); assertThat(response.skillId()).isEqualTo(11L); assertThat(response.action()).isEqualTo("ARCHIVE"); assertThat(response.status()).isEqualTo("ARCHIVED"); - verify(skillGovernanceService).archiveSkill(11L, "owner-1", Map.of(7L, NamespaceRole.OWNER), "127.0.0.1", "JUnit", "cleanup"); + verify(skillGovernanceService).archiveSkill(11L, "owner-1", Map.of(7L, NamespaceRole.OWNER), null, "127.0.0.1", "JUnit", "cleanup"); } } diff --git a/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/report/SkillReportServiceTest.java b/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/report/SkillReportServiceTest.java index fcae03d7..b1db8116 100644 --- a/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/report/SkillReportServiceTest.java +++ b/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/report/SkillReportServiceTest.java @@ -134,7 +134,7 @@ class SkillReportServiceTest { ); assertThat(saved.getStatus()).isEqualTo(SkillReportStatus.RESOLVED); - verify(skillGovernanceService).hideSkill(10L, "admin", java.util.Map.of(), "127.0.0.1", "JUnit", "handled"); + verify(skillGovernanceService).hideSkillAsAdmin(10L, "admin", "127.0.0.1", "JUnit", "handled"); verify(governanceNotificationService).notifyUser( eq("user-1"), eq("REPORT"), diff --git a/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/skill/service/SkillGovernanceServiceTest.java b/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/skill/service/SkillGovernanceServiceTest.java index 12855a41..36c761d0 100644 --- a/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/skill/service/SkillGovernanceServiceTest.java +++ b/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/skill/service/SkillGovernanceServiceTest.java @@ -92,7 +92,7 @@ class SkillGovernanceServiceTest { given(skillRepository.findById(10L)).willReturn(Optional.of(skill)); given(skillRepository.save(skill)).willReturn(skill); - Skill result = service.hideSkill(10L, "admin", java.util.Map.of(), "127.0.0.1", "JUnit", "policy"); + Skill result = service.hideSkill(10L, "admin", java.util.Map.of(), null, "127.0.0.1", "JUnit", "policy"); assertThat(result.isHidden()).isTrue(); assertThat(result.getHiddenBy()).isEqualTo("admin"); @@ -107,7 +107,7 @@ class SkillGovernanceServiceTest { given(skillRepository.findById(10L)).willReturn(Optional.of(skill)); given(skillRepository.save(skill)).willReturn(skill); - Skill result = service.archiveSkill(10L, "owner", Map.of(), "127.0.0.1", "JUnit", "cleanup"); + Skill result = service.archiveSkill(10L, "owner", Map.of(), null, "127.0.0.1", "JUnit", "cleanup"); assertThat(result.getStatus()).isEqualTo(SkillStatus.ARCHIVED); verify(auditLogService).record("owner", "ARCHIVE_SKILL", "SKILL", 10L, null, "127.0.0.1", "JUnit", "{\"reason\":\"cleanup\"}"); @@ -122,7 +122,7 @@ class SkillGovernanceServiceTest { given(skillRepository.findById(10L)).willReturn(Optional.of(skill)); given(skillRepository.save(skill)).willReturn(skill); - Skill result = service.unarchiveSkill(10L, "owner", Map.of(), "127.0.0.1", "JUnit"); + Skill result = service.unarchiveSkill(10L, "owner", Map.of(), null, "127.0.0.1", "JUnit"); assertThat(result.getStatus()).isEqualTo(SkillStatus.ACTIVE); verify(auditLogService).record("owner", "UNARCHIVE_SKILL", "SKILL", 10L, null, "127.0.0.1", "JUnit", null); @@ -136,7 +136,7 @@ class SkillGovernanceServiceTest { given(skillRepository.findById(10L)).willReturn(Optional.of(skill)); assertThrows(DomainForbiddenException.class, - () -> service.archiveSkill(10L, "other", Map.of(1L, NamespaceRole.MEMBER), "127.0.0.1", "JUnit", null)); + () -> service.archiveSkill(10L, "other", Map.of(1L, NamespaceRole.MEMBER), null, "127.0.0.1", "JUnit", null)); } @Test @@ -216,7 +216,7 @@ class SkillGovernanceServiceTest { SkillFile icon = new SkillFile(version.getId(), "icon.png", 20L, "image/png", "sha2", "skills/demo/icon"); given(skillFileRepository.findByVersionId(version.getId())).willReturn(java.util.List.of(readme, icon)); - service.deleteVersion(skill, version, "owner", Map.of(), "127.0.0.1", "JUnit", "test-ns"); + service.deleteVersion(skill, version, "owner", Map.of(), null, "127.0.0.1", "JUnit", "test-ns"); verify(objectStorageService).deleteObjects(argThat(keys -> keys.size() == 3 @@ -246,7 +246,7 @@ class SkillGovernanceServiceTest { TransactionSynchronizationManager.initSynchronization(); - service.deleteVersion(skill, version, "owner", Map.of(), "127.0.0.1", "JUnit", "test-ns"); + service.deleteVersion(skill, version, "owner", Map.of(), null, "127.0.0.1", "JUnit", "test-ns"); verify(objectStorageService, never()).deleteObjects(argThat(keys -> !keys.isEmpty())); @@ -279,7 +279,7 @@ class SkillGovernanceServiceTest { TransactionSynchronizationManager.initSynchronization(); - service.deleteVersion(skill, version, "owner", Map.of(), "127.0.0.1", "JUnit", "test-ns"); + service.deleteVersion(skill, version, "owner", Map.of(), null, "127.0.0.1", "JUnit", "test-ns"); for (TransactionSynchronization synchronization : TransactionSynchronizationManager.getSynchronizations()) { synchronization.afterCommit(); @@ -307,7 +307,7 @@ class SkillGovernanceServiceTest { version.setStatus(SkillVersionStatus.PUBLISHED); assertThrows(DomainBadRequestException.class, - () -> service.deleteVersion(skill, version, "owner", Map.of(), "127.0.0.1", "JUnit", "test-ns")); + () -> service.deleteVersion(skill, version, "owner", Map.of(), null, "127.0.0.1", "JUnit", "test-ns")); verify(skillVersionRepository, never()).delete(any()); verify(objectStorageService, never()).deleteObject(any()); @@ -323,7 +323,7 @@ class SkillGovernanceServiceTest { given(skillVersionRepository.findBySkillId(1L)).willReturn(java.util.List.of(version)); DomainBadRequestException ex = assertThrows(DomainBadRequestException.class, - () -> service.deleteVersion(skill, version, "owner", Map.of(), "127.0.0.1", "JUnit", "test-ns")); + () -> service.deleteVersion(skill, version, "owner", Map.of(), null, "127.0.0.1", "JUnit", "test-ns")); assertThat(ex.messageCode()).isEqualTo("error.skill.version.delete.lastVersion"); verify(skillVersionRepository, never()).delete(any()); @@ -351,7 +351,7 @@ class SkillGovernanceServiceTest { given(skillRepository.save(skill)).willReturn(skill); given(skillFileRepository.findByVersionId(2L)).willReturn(java.util.List.of()); - service.deleteVersion(skill, draftVersion, "owner", Map.of(), "127.0.0.1", "JUnit", "test-ns"); + service.deleteVersion(skill, draftVersion, "owner", Map.of(), null, "127.0.0.1", "JUnit", "test-ns"); assertThat(skill.getLatestVersionId()).isEqualTo(3L); verify(skillRepository).save(skill);