Skip to content

Commit b463d88

Browse files
committed
update tests in samples
1 parent 0701d5b commit b463d88

2 files changed

Lines changed: 87 additions & 0 deletions

File tree

samples/server/petstore/springboot-sort-validation/src/main/java/org/openapitools/api/PetApiController.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,16 @@ public ResponseEntity<List<Pet>> findPetsWithPageAndSizeConstraint(Pageable page
9090
return ResponseEntity.ok(Collections.emptyList());
9191
}
9292

93+
@Override
94+
public ResponseEntity<List<Pet>> findPetsWithMinSizeConstraintFromAllOfRef(Pageable pageable) {
95+
return ResponseEntity.ok(Collections.emptyList());
96+
}
97+
98+
@Override
99+
public ResponseEntity<List<Pet>> findPetsWithSizeConstraintFromAllOfRef(Pageable pageable) {
100+
return ResponseEntity.ok(Collections.emptyList());
101+
}
102+
93103
// ── @PageableDefault ─────────────────────────────────────────────────────
94104
// @PageableDefault(page = 0, size = 25)
95105

@@ -106,6 +116,17 @@ public ResponseEntity<List<Pet>> findPetsWithPageSizeDefaultsOnly(Pageable pagea
106116
return ResponseEntity.ok(Collections.emptyList());
107117
}
108118

119+
// @PageableDefault(size = 7)
120+
121+
@Override
122+
public ResponseEntity<List<Pet>> findPetsWithDefaultFromAllOfRef(Pageable pageable) {
123+
if (pageable.getPageSize() != 7) {
124+
throw new IllegalStateException(
125+
"@PageableDefault size: expected 7, got " + pageable.getPageSize());
126+
}
127+
return ResponseEntity.ok(Collections.emptyList());
128+
}
129+
109130
// ── @SortDefault ─────────────────────────────────────────────────────────
110131
// @SortDefault(sort = {"name"}, direction = DESC)
111132

samples/server/petstore/springboot-sort-validation/src/test/java/org/openapitools/api/PetApiValidationTest.java

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,4 +178,70 @@ void pageableDefaultAndSortDefaults_absentParamsResolveAllDefaults() throws Exce
178178
mockMvc.perform(get(PetApi.PATH_FIND_PETS_WITH_ALL_DEFAULTS))
179179
.andExpect(status().isOk());
180180
}
181+
182+
// ── @PageableDefault — size default from allOf $ref ───────────────────────
183+
// Endpoint: GET /pet/findWithDefaultFromAllOfRef @PageableDefault(size = 7)
184+
// PetApiController asserts size == 7; returns 200 on success, throws on mismatch.
185+
186+
@Test
187+
void pageableDefault_absentSizeParamResolvesToSizeSevenDefault() throws Exception {
188+
mockMvc.perform(get(PetApi.PATH_FIND_PETS_WITH_DEFAULT_FROM_ALL_OF_REF))
189+
.andExpect(status().isOk());
190+
}
191+
192+
// ── @ValidPageable — minSize constraint from allOf $ref ───────────────────
193+
// Endpoint: GET /pet/findWithMinSizeConstraintFromAllOfRef minSize = 5
194+
195+
@Test
196+
void validPageable_sizeAboveMinimumReturns200() throws Exception {
197+
mockMvc.perform(get(PetApi.PATH_FIND_PETS_WITH_MIN_SIZE_CONSTRAINT_FROM_ALL_OF_REF)
198+
.param("size", "6"))
199+
.andExpect(status().isOk());
200+
}
201+
202+
@Test
203+
void validPageable_sizeAtMinimumReturns200() throws Exception {
204+
mockMvc.perform(get(PetApi.PATH_FIND_PETS_WITH_MIN_SIZE_CONSTRAINT_FROM_ALL_OF_REF)
205+
.param("size", "5"))
206+
.andExpect(status().isOk());
207+
}
208+
209+
@Test
210+
void validPageable_sizeBelowMinimumReturns400() throws Exception {
211+
mockMvc.perform(get(PetApi.PATH_FIND_PETS_WITH_MIN_SIZE_CONSTRAINT_FROM_ALL_OF_REF)
212+
.param("size", "4"))
213+
.andExpect(status().isBadRequest());
214+
}
215+
216+
@Test
217+
void validPageable_unpagedPageableIsAllowedForMinConstraint() throws Exception {
218+
// Unpaged Pageable (no params, no @PageableDefault) bypasses the validator per
219+
// PageableConstraintValidator#isValid which returns true immediately for !isPaged().
220+
mockMvc.perform(get(PetApi.PATH_FIND_PETS_WITH_MIN_SIZE_CONSTRAINT_FROM_ALL_OF_REF))
221+
.andExpect(status().isOk());
222+
}
223+
224+
// ── @ValidPageable — maxSize constraint from allOf $ref ───────────────────
225+
// Endpoint: GET /pet/findWithSizeConstraintFromAllOfRef maxSize = 75
226+
227+
@Test
228+
void validPageable_sizeBelowMaximumReturns200_forSizeConstraintFromAllOfRef() throws Exception {
229+
mockMvc.perform(get(PetApi.PATH_FIND_PETS_WITH_SIZE_CONSTRAINT_FROM_ALL_OF_REF)
230+
.param("size", "50"))
231+
.andExpect(status().isOk());
232+
}
233+
234+
@Test
235+
void validPageable_sizeAtMaximumReturns200_forSizeConstraintFromAllOfRef() throws Exception {
236+
mockMvc.perform(get(PetApi.PATH_FIND_PETS_WITH_SIZE_CONSTRAINT_FROM_ALL_OF_REF)
237+
.param("size", "75"))
238+
.andExpect(status().isOk());
239+
}
240+
241+
@Test
242+
void validPageable_sizeExceedsMaximumReturns400_forSizeConstraintFromAllOfRef() throws Exception {
243+
mockMvc.perform(get(PetApi.PATH_FIND_PETS_WITH_SIZE_CONSTRAINT_FROM_ALL_OF_REF)
244+
.param("size", "76"))
245+
.andExpect(status().isBadRequest());
246+
}
181247
}

0 commit comments

Comments
 (0)