@@ -96,17 +96,7 @@ public void reset() throws Exception {
96
96
}
97
97
98
98
public void mockProgrammingExerciseChatResponse (Consumer <PyrisExerciseChatPipelineExecutionDTO > responseConsumer ) {
99
- // @formatter:off
100
- mockServer
101
- .expect (ExpectedCount .once (), requestTo (pipelinesApiURL + "/programming-exercise-chat/run" ))
102
- .andExpect (method (HttpMethod .POST ))
103
- .andRespond (request -> {
104
- var mockRequest = (MockClientHttpRequest ) request ;
105
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisExerciseChatPipelineExecutionDTO .class );
106
- responseConsumer .accept (dto );
107
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
108
- });
109
- // @formatter:on
99
+ mockPostRequest ("/programming-exercise-chat/run" , PyrisExerciseChatPipelineExecutionDTO .class , responseConsumer );
110
100
}
111
101
112
102
public void mockProgrammingExerciseChatResponseExpectingSubmissionId (Consumer <PyrisExerciseChatPipelineExecutionDTO > responseConsumer , long submissionId ) {
@@ -142,193 +132,75 @@ public void mockProgrammingExerciseChatResponseExpectingSubmissionId(Consumer<Py
142
132
}
143
133
144
134
public void mockTextExerciseChatResponse (Consumer <PyrisTextExerciseChatPipelineExecutionDTO > responseConsumer ) {
145
- // @formatter:off
146
- mockServer
147
- .expect (ExpectedCount .once (), requestTo (pipelinesApiURL + "/text-exercise-chat/run" ))
148
- .andExpect (method (HttpMethod .POST ))
149
- .andRespond (request -> {
150
- var mockRequest = (MockClientHttpRequest ) request ;
151
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisTextExerciseChatPipelineExecutionDTO .class );
152
- responseConsumer .accept (dto );
153
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
154
- });
155
- // @formatter:on
135
+ mockPostRequest ("/text-exercise-chat/run" , PyrisTextExerciseChatPipelineExecutionDTO .class , responseConsumer );
156
136
}
157
137
158
138
public void mockLectureChatResponse (Consumer <PyrisLectureChatPipelineExecutionDTO > responseConsumer ) {
159
- // @formatter:off
160
- mockServer
161
- .expect (ExpectedCount .once (), requestTo (pipelinesApiURL + "/lecture-chat/run" ))
162
- .andExpect (method (HttpMethod .POST ))
163
- .andRespond (request -> {
164
- var mockRequest = (MockClientHttpRequest ) request ;
165
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisLectureChatPipelineExecutionDTO .class );
166
- responseConsumer .accept (dto );
167
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
168
- });
169
- // @formatter:on
139
+ mockPostRequest ("/lecture-chat/run" , PyrisLectureChatPipelineExecutionDTO .class , responseConsumer );
170
140
}
171
141
172
142
public void mockTutorSuggestionResponse (Consumer <PyrisTutorSuggestionPipelineExecutionDTO > responseConsumer ) {
173
- // @formatter:off
174
- mockServer
175
- .expect (ExpectedCount .once (), requestTo (pipelinesApiURL + "/tutor-suggestion/run" ))
176
- .andExpect (method (HttpMethod .POST ))
177
- .andRespond (request -> {
178
- var mockRequest = (MockClientHttpRequest ) request ;
179
- assert mockRequest != null ;
180
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisTutorSuggestionPipelineExecutionDTO .class );
181
- responseConsumer .accept (dto );
182
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
183
- });
184
- // @formatter:on
143
+ mockPostRequest ("/tutor-suggestion/run" , PyrisTutorSuggestionPipelineExecutionDTO .class , responseConsumer );
185
144
}
186
145
187
- public void mockRunCompetencyExtractionResponseAnd (Consumer <PyrisCompetencyExtractionPipelineExecutionDTO > executionDTOConsumer ) {
188
- // @formatter:off
189
- mockServer
190
- .expect (ExpectedCount .once (), requestTo (pipelinesApiURL + "/competency-extraction/run" ))
191
- .andExpect (method (HttpMethod .POST ))
192
- .andRespond (request -> {
193
- var mockRequest = (MockClientHttpRequest ) request ;
194
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisCompetencyExtractionPipelineExecutionDTO .class );
195
- executionDTOConsumer .accept (dto );
196
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
197
- });
198
- // @formatter:on
146
+ public void mockRunCompetencyExtractionResponseAnd (Consumer <PyrisCompetencyExtractionPipelineExecutionDTO > responseConsumer ) {
147
+ mockPostRequest ("/competency-extraction/run" , PyrisCompetencyExtractionPipelineExecutionDTO .class , responseConsumer );
199
148
}
200
149
201
150
public void mockRewritingPipelineResponse (Consumer <PyrisRewritingPipelineExecutionDTO > responseConsumer ) {
202
- // @formatter:off
203
- mockServer
204
- .expect (ExpectedCount .once (), requestTo (pipelinesApiURL + "/rewriting/run" ))
205
- .andExpect (method (HttpMethod .POST ))
206
- .andRespond (request -> {
207
- var mockRequest = (MockClientHttpRequest ) request ;
208
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisRewritingPipelineExecutionDTO .class );
209
- responseConsumer .accept (dto );
210
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
211
- });
212
- // @formatter:on
151
+ mockPostRequest ("/rewriting/run" , PyrisRewritingPipelineExecutionDTO .class , responseConsumer );
213
152
}
214
153
215
- public void mockProgrammingConsistencyCheckResponse (Consumer <PyrisConsistencyCheckPipelineExecutionDTO > responseConsumer , long exerciseId ) {
216
- mockServer .expect (ExpectedCount .once (), requestTo (pipelinesApiURL + "/inconsistency-check/run" )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
217
- var mockRequest = (MockClientHttpRequest ) request ;
218
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisConsistencyCheckPipelineExecutionDTO .class );
219
- responseConsumer .accept (dto );
220
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
221
- });
154
+ public void mockProgrammingConsistencyCheckResponse (Consumer <PyrisConsistencyCheckPipelineExecutionDTO > responseConsumer ) {
155
+ mockPostRequest ("/inconsistency-check/run" , PyrisConsistencyCheckPipelineExecutionDTO .class , responseConsumer );
222
156
}
223
157
224
158
public void mockIngestionWebhookRunResponse (Consumer <PyrisWebhookLectureIngestionExecutionDTO > responseConsumer ) {
225
- mockServer .expect (ExpectedCount .once (), requestTo (webhooksApiURL + "/lectures/ingest" )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
226
- var mockRequest = (MockClientHttpRequest ) request ;
227
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisWebhookLectureIngestionExecutionDTO .class );
228
- responseConsumer .accept (dto );
229
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
230
- });
159
+ mockWebhookPost ("/lectures/ingest" , PyrisWebhookLectureIngestionExecutionDTO .class , responseConsumer );
231
160
}
232
161
233
162
public void mockTranscriptionIngestionWebhookRunResponse (Consumer <PyrisWebhookTranscriptionIngestionExecutionDTO > responseConsumer ) {
234
- mockServer .expect (ExpectedCount .once (), requestTo (webhooksApiURL + "/transcriptions/ingest" )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
235
- var mockRequest = (MockClientHttpRequest ) request ;
236
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisWebhookTranscriptionIngestionExecutionDTO .class );
237
- responseConsumer .accept (dto );
238
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
239
- });
163
+ mockWebhookPost ("/transcriptions/ingest" , PyrisWebhookTranscriptionIngestionExecutionDTO .class , responseConsumer );
240
164
}
241
165
242
166
public void mockTranscriptionDeletionWebhookRunResponse (Consumer <PyrisWebhookTranscriptionDeletionExecutionDTO > responseConsumer ) {
243
- mockServer .expect (ExpectedCount .once (), requestTo (webhooksApiURL + "/transcriptions/delete" )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
244
- var mockRequest = (MockClientHttpRequest ) request ;
245
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisWebhookTranscriptionDeletionExecutionDTO .class );
246
- responseConsumer .accept (dto );
247
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
248
- });
167
+ mockWebhookPost ("/transcriptions/delete" , PyrisWebhookTranscriptionDeletionExecutionDTO .class , responseConsumer );
249
168
}
250
169
251
170
public void mockFaqIngestionWebhookRunResponse (Consumer <PyrisWebhookFaqIngestionExecutionDTO > responseConsumer ) {
252
- mockServer .expect (ExpectedCount .once (), requestTo (webhooksApiURL + "/faqs/ingest" )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
253
- var mockRequest = (MockClientHttpRequest ) request ;
254
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisWebhookFaqIngestionExecutionDTO .class );
255
- responseConsumer .accept (dto );
256
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
257
- });
171
+ mockWebhookPost ("/faqs/ingest" , PyrisWebhookFaqIngestionExecutionDTO .class , responseConsumer );
258
172
}
259
173
260
174
public void mockDeletionWebhookRunResponse (Consumer <PyrisWebhookLectureIngestionExecutionDTO > responseConsumer ) {
261
- mockServer .expect (ExpectedCount .once (), requestTo (webhooksApiURL + "/lectures/delete" )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
262
- var mockRequest = (MockClientHttpRequest ) request ;
263
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisWebhookLectureIngestionExecutionDTO .class );
264
- responseConsumer .accept (dto );
265
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
266
- });
175
+ mockWebhookPost ("/lectures/delete" , PyrisWebhookLectureIngestionExecutionDTO .class , responseConsumer );
267
176
}
268
177
269
178
public void mockFaqDeletionWebhookRunResponse (Consumer <PyrisWebhookFaqIngestionExecutionDTO > responseConsumer ) {
270
- mockServer .expect (ExpectedCount .once (), requestTo (webhooksApiURL + "/faqs/delete" )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
271
- var mockRequest = (MockClientHttpRequest ) request ;
272
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisWebhookFaqIngestionExecutionDTO .class );
273
- responseConsumer .accept (dto );
274
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
275
- });
179
+ mockWebhookPost ("/faqs/delete" , PyrisWebhookFaqIngestionExecutionDTO .class , responseConsumer );
276
180
}
277
181
278
182
public void mockBuildFailedRunResponse (Consumer <PyrisExerciseChatPipelineExecutionDTO > responseConsumer ) {
279
- mockServer .expect (ExpectedCount .max (2 ), requestTo (pipelinesApiURL + "/programming-exercise-chat/run?event=build_failed" )).andExpect (method (HttpMethod .POST ))
280
- .andRespond (request -> {
281
- var mockRequest = (MockClientHttpRequest ) request ;
282
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisExerciseChatPipelineExecutionDTO .class );
283
- responseConsumer .accept (dto );
284
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
285
- });
183
+ mockPostRequest ("/programming-exercise-chat/run?event=build_failed" , PyrisExerciseChatPipelineExecutionDTO .class , responseConsumer , ExpectedCount .max (2 ));
286
184
}
287
185
288
186
public void mockProgressStalledEventRunResponse (Consumer <PyrisCourseChatPipelineExecutionDTO > responseConsumer ) {
289
- mockServer .expect (ExpectedCount .max (2 ), requestTo (pipelinesApiURL + "/programming-exercise-chat/run?event=progress_stalled" )).andExpect (method (HttpMethod .POST ))
290
- .andRespond (request -> {
291
- var mockRequest = (MockClientHttpRequest ) request ;
292
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisCourseChatPipelineExecutionDTO .class );
293
- responseConsumer .accept (dto );
294
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
295
- });
187
+ mockPostRequest ("/programming-exercise-chat/run?event=progress_stalled" , PyrisCourseChatPipelineExecutionDTO .class , responseConsumer , ExpectedCount .max (2 ));
296
188
}
297
189
298
190
public void mockJolEventRunResponse (Consumer <PyrisCourseChatPipelineExecutionDTO > responseConsumer ) {
299
- mockServer .expect (ExpectedCount .once (), requestTo (pipelinesApiURL + "/course-chat/run?event=jol" )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
300
- var mockRequest = (MockClientHttpRequest ) request ;
301
- var dto = mapper .readValue (mockRequest .getBodyAsString (), PyrisCourseChatPipelineExecutionDTO .class );
302
- responseConsumer .accept (dto );
303
- return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
304
- });
191
+ mockPostRequest ("/course-chat/run?event=jol" , PyrisCourseChatPipelineExecutionDTO .class , responseConsumer );
305
192
}
306
193
307
194
public void mockRunError (int httpStatus ) {
308
- // @formatter:off
309
- mockServer
310
- .expect (ExpectedCount .once (), requestTo (pipelinesApiURL + "/programming-exercise-chat/run" ))
311
- .andExpect (method (HttpMethod .POST ))
312
- .andRespond (withStatus (HttpStatus .valueOf (httpStatus )));
313
- // @formatter:on
195
+ mockPostError (pipelinesApiURL .toString (), "/programming-exercise-chat/run" , httpStatus );
314
196
}
315
197
316
198
public void mockIngestionWebhookRunError (int httpStatus ) {
317
- // @formatter:off
318
- mockServer
319
- .expect (ExpectedCount .once (), requestTo (webhooksApiURL + "/lectures/ingest" ))
320
- .andExpect (method (HttpMethod .POST ))
321
- .andRespond (withStatus (HttpStatus .valueOf (httpStatus )));
322
- // @formatter:on
199
+ mockPostError (webhooksApiURL .toString (), "/lectures/ingest" , httpStatus );
323
200
}
324
201
325
202
public void mockDeletionWebhookRunError (int httpStatus ) {
326
- // @formatter:off
327
- mockServer
328
- .expect (ExpectedCount .once (), requestTo (webhooksApiURL + "/lectures/delete" ))
329
- .andExpect (method (HttpMethod .POST ))
330
- .andRespond (withStatus (HttpStatus .valueOf (httpStatus )));
331
- // @formatter:on
203
+ mockPostError (webhooksApiURL .toString (), "/lectures/delete" , httpStatus );
332
204
}
333
205
334
206
public void mockVariantsResponse (IrisSubSettingsType feature ) throws JsonProcessingException {
@@ -358,6 +230,32 @@ public void mockStatusResponses() throws JsonProcessingException {
358
230
// @formatter:on
359
231
}
360
232
233
+ private void mockPostError (String baseUrl , String path , int httpStatus ) {
234
+ mockServer .expect (ExpectedCount .once (), requestTo (baseUrl + path )).andExpect (method (HttpMethod .POST )).andRespond (withStatus (HttpStatus .valueOf (httpStatus )));
235
+ }
236
+
237
+ private <T > void mockPostRequest (String path , Class <T > dtoClass , Consumer <T > responseConsumer ) {
238
+ mockPostRequest (path , dtoClass , responseConsumer , ExpectedCount .once ());
239
+ }
240
+
241
+ private <T > void mockPostRequest (String path , Class <T > dtoClass , Consumer <T > responseConsumer , ExpectedCount count ) {
242
+ mockServer .expect (count , requestTo (pipelinesApiURL + path )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
243
+ var mockRequest = (MockClientHttpRequest ) request ;
244
+ var dto = mapper .readValue (mockRequest .getBodyAsString (), dtoClass );
245
+ responseConsumer .accept (dto );
246
+ return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
247
+ });
248
+ }
249
+
250
+ private <T > void mockWebhookPost (String path , Class <T > dtoClass , Consumer <T > responseConsumer ) {
251
+ mockServer .expect (ExpectedCount .once (), requestTo (webhooksApiURL + path )).andExpect (method (HttpMethod .POST )).andRespond (request -> {
252
+ var mockRequest = (MockClientHttpRequest ) request ;
253
+ var dto = mapper .readValue (mockRequest .getBodyAsString (), dtoClass );
254
+ responseConsumer .accept (dto );
255
+ return MockRestResponseCreators .withRawStatus (HttpStatus .ACCEPTED .value ()).createResponse (request );
256
+ });
257
+ }
258
+
361
259
/**
362
260
* Mocks a get model error from the Pyris models endpoint
363
261
*/
0 commit comments