mirror of
https://github.com/iflytek/skillhub.git
synced 2026-10-05 02:41:49 +00:00
test(suite): cover version validation entry points
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
This commit is contained in:
parent
83ff64d76a
commit
24f07913ac
1 changed files with 15 additions and 1 deletions
|
|
@ -129,15 +129,23 @@ class SkillSuiteDraftServiceTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
void rejectsSuiteVersionsThatCannotBeUsedSafelyAcrossCliShells() {
|
||||
void rejectsUnsafeSuiteVersionsAtEveryDraftWriteEntryPoint() {
|
||||
Namespace namespace = new Namespace("team", "Team", "owner");
|
||||
setId(namespace, 1L);
|
||||
SkillSuite suite = new SkillSuite(1L, "writers", "Writers", "author");
|
||||
setId(suite, 10L);
|
||||
when(namespaceRepository.findById(1L)).thenReturn(Optional.of(namespace));
|
||||
when(suiteRepository.findById(10L)).thenReturn(Optional.of(suite));
|
||||
SkillSuiteActionContext context = new SkillSuiteActionContext(
|
||||
"author", Map.of(1L, NamespaceRole.MEMBER), Set.of(),
|
||||
"request-3", "127.0.0.1", "test");
|
||||
|
||||
for (String version : List.of("1.0.0; touch pwned", "a".repeat(65))) {
|
||||
SkillSuiteVersion existingVersion = new SkillSuiteVersion(
|
||||
10L, version, SkillVisibility.PUBLIC, "author");
|
||||
setId(existingVersion, 20L);
|
||||
when(versionRepository.findByIdForDefinitionUpdate(20L))
|
||||
.thenReturn(Optional.of(existingVersion));
|
||||
CreateSkillSuiteDraftCommand command = new CreateSkillSuiteDraftCommand(
|
||||
1L, "writers", "Writers", "Summary", null, version,
|
||||
SkillVisibility.PUBLIC, null, 40L,
|
||||
|
|
@ -147,6 +155,12 @@ class SkillSuiteDraftServiceTest {
|
|||
assertThatThrownBy(() -> service.create(command, context))
|
||||
.isInstanceOf(DomainBadRequestException.class)
|
||||
.hasMessage("error.suite.version.invalid");
|
||||
assertThatThrownBy(() -> service.createVersion(10L, command, context))
|
||||
.isInstanceOf(DomainBadRequestException.class)
|
||||
.hasMessage("error.suite.version.invalid");
|
||||
assertThatThrownBy(() -> service.updateDraft(10L, 20L, command, context))
|
||||
.isInstanceOf(DomainBadRequestException.class)
|
||||
.hasMessage("error.suite.version.invalid");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue