|
27 | 27 |
|
28 | 28 | (require 'buttercup) |
29 | 29 | (require 'cider-log) |
| 30 | +(require 'cider-test-utils) |
30 | 31 |
|
31 | 32 | ;; Please, for each `describe', ensure there's an `it' block, so that its execution is visible in CI. |
32 | 33 |
|
|
200 | 201 | (expect (substring-no-properties (cider-log--description-clear-events-buffer)) |
201 | 202 | :to-equal "Clear *cider-log* buffer")))) |
202 | 203 |
|
203 | | -(defun cider-log-tests--request-get (request key) |
204 | | - "Return the value following KEY in the nREPL REQUEST list." |
205 | | - (cadr (member key request))) |
206 | | - |
207 | 204 | (describe "cider-log nREPL request construction" |
208 | 205 | :var (framework appender event) |
209 | 206 | (before-each |
|
219 | 216 | :and-return-value (nrepl-dict "cider/log-add-appender" appender)) |
220 | 217 | (expect (cider-sync-request:log-add-appender framework appender) |
221 | 218 | :to-equal appender) |
222 | | - (let ((request (car (spy-calls-args-for 'cider-nrepl-sync-request 0)))) |
223 | | - (expect (cider-log-tests--request-get request "op") |
224 | | - :to-equal "cider/log-add-appender") |
225 | | - (expect (cider-log-tests--request-get request "framework") :to-equal "logback") |
226 | | - (expect (cider-log-tests--request-get request "appender") :to-equal "my-appender") |
227 | | - (expect (cider-log-tests--request-get request "size") :to-equal 100) |
228 | | - (expect (cider-log-tests--request-get request "threshold") :to-equal 10) |
229 | | - (expect (nrepl-dict-get (cider-log-tests--request-get request "filters") "level") |
230 | | - :to-equal "INFO"))) |
| 219 | + (expect 'cider-nrepl-sync-request :to-have-sent-op "cider/log-add-appender" |
| 220 | + "framework" "logback" "appender" "my-appender" |
| 221 | + "size" 100 "threshold" 10) |
| 222 | + (expect (cider-request-get (cider-sent-request 'cider-nrepl-sync-request) "filters") |
| 223 | + :to-equal-dict (nrepl-dict "level" "INFO"))) |
231 | 224 |
|
232 | 225 | (it "cider-sync-request:log-clear sends the clear-appender op" |
233 | 226 | (spy-on 'cider-nrepl-sync-request :and-return-value (nrepl-dict)) |
234 | 227 | (cider-sync-request:log-clear framework appender) |
235 | | - (let ((request (car (spy-calls-args-for 'cider-nrepl-sync-request 0)))) |
236 | | - (expect (cider-log-tests--request-get request "op") |
237 | | - :to-equal "cider/log-clear-appender") |
238 | | - (expect (cider-log-tests--request-get request "framework") :to-equal "logback") |
239 | | - (expect (cider-log-tests--request-get request "appender") :to-equal "my-appender"))) |
| 228 | + (expect 'cider-nrepl-sync-request :to-have-sent-op "cider/log-clear-appender" |
| 229 | + "framework" "logback" "appender" "my-appender")) |
240 | 230 |
|
241 | 231 | (it "cider-sync-request:log-search sends the filters and pagination" |
242 | 232 | (spy-on 'cider-nrepl-sync-request |
|
245 | 235 | (expect (cider-sync-request:log-search framework appender |
246 | 236 | :filters filters :limit 25 :offset 5) |
247 | 237 | :to-equal (list event)) |
248 | | - (let ((request (car (spy-calls-args-for 'cider-nrepl-sync-request 0)))) |
249 | | - (expect (cider-log-tests--request-get request "op") |
250 | | - :to-equal "cider/log-search") |
251 | | - (expect (cider-log-tests--request-get request "filters") :to-equal filters) |
252 | | - (expect (cider-log-tests--request-get request "limit") :to-equal 25) |
253 | | - (expect (cider-log-tests--request-get request "offset") :to-equal 5)))) |
| 238 | + (expect 'cider-nrepl-sync-request :to-have-sent-op "cider/log-search" |
| 239 | + "filters" filters "limit" 25 "offset" 5))) |
254 | 240 |
|
255 | 241 | (it "cider-sync-request:log-inspect-event asks for the event by id" |
256 | 242 | (spy-on 'cider-nrepl-sync-request |
257 | 243 | :and-return-value (nrepl-dict "value" "inspected")) |
258 | 244 | (expect (cider-sync-request:log-inspect-event framework appender event) |
259 | 245 | :to-equal "inspected") |
260 | | - (let ((request (car (spy-calls-args-for 'cider-nrepl-sync-request 0)))) |
261 | | - (expect (cider-log-tests--request-get request "op") |
262 | | - :to-equal "cider/log-inspect-event") |
263 | | - (expect (cider-log-tests--request-get request "event") :to-equal "ev-42"))) |
| 246 | + (expect 'cider-nrepl-sync-request :to-have-sent-op "cider/log-inspect-event" |
| 247 | + "event" "ev-42")) |
264 | 248 |
|
265 | 249 | (it "cider-sync-request:log-format-event includes the print options" |
266 | 250 | (spy-on 'cider-nrepl-sync-request |
267 | 251 | :and-return-value (nrepl-dict "cider/log-format-event" "formatted")) |
268 | 252 | (expect (cider-sync-request:log-format-event framework appender event) |
269 | 253 | :to-equal "formatted") |
270 | | - (let ((request (car (spy-calls-args-for 'cider-nrepl-sync-request 0)))) |
271 | | - (expect (cider-log-tests--request-get request "op") |
272 | | - :to-equal "cider/log-format-event") |
273 | | - (expect (cider-log-tests--request-get request "event") :to-equal "ev-42") |
274 | | - (expect (cider-log-tests--request-get request "nrepl.middleware.print/stream?") |
275 | | - :to-equal "1"))) |
| 254 | + (expect 'cider-nrepl-sync-request :to-have-sent-op "cider/log-format-event" |
| 255 | + "event" "ev-42" "nrepl.middleware.print/stream?" "1")) |
276 | 256 |
|
277 | 257 | (it "cider-request:log-add-consumer sends the consumer's filters and the callback" |
278 | 258 | (spy-on 'cider-nrepl-send-request) |
279 | 259 | (let ((consumer (nrepl-dict "filters" (nrepl-dict "level" "INFO")))) |
280 | 260 | (cider-request:log-add-consumer framework appender consumer #'ignore) |
281 | | - (let ((args (spy-calls-args-for 'cider-nrepl-send-request 0))) |
282 | | - (expect (cider-log-tests--request-get (car args) "op") |
283 | | - :to-equal "cider/log-add-consumer") |
284 | | - (expect (cider-log-tests--request-get (car args) "framework") :to-equal "logback") |
285 | | - (expect (cider-log-tests--request-get (car args) "appender") :to-equal "my-appender") |
286 | | - (expect (nrepl-dict-get (cider-log-tests--request-get (car args) "filters") "level") |
| 261 | + (expect 'cider-nrepl-send-request :to-have-sent-op "cider/log-add-consumer" |
| 262 | + "framework" "logback" "appender" "my-appender") |
| 263 | + (let ((args (spy-context-args (spy-calls-most-recent 'cider-nrepl-send-request)))) |
| 264 | + (expect (nrepl-dict-get (cider-request-get (car args) "filters") "level") |
287 | 265 | :to-equal "INFO") |
288 | 266 | (expect (cadr args) :to-be #'ignore)))) |
289 | 267 |
|
290 | 268 | (it "cider-sync-request:log-remove-consumer identifies the consumer by id" |
291 | 269 | (spy-on 'cider-nrepl-sync-request :and-return-value (nrepl-dict)) |
292 | 270 | (cider-sync-request:log-remove-consumer |
293 | 271 | framework appender (nrepl-dict "id" "my-consumer")) |
294 | | - (let ((request (car (spy-calls-args-for 'cider-nrepl-sync-request 0)))) |
295 | | - (expect (cider-log-tests--request-get request "op") |
296 | | - :to-equal "cider/log-remove-consumer") |
297 | | - (expect (cider-log-tests--request-get request "consumer") :to-equal "my-consumer")))) |
| 272 | + (expect 'cider-nrepl-sync-request :to-have-sent-op "cider/log-remove-consumer" |
| 273 | + "consumer" "my-consumer"))) |
298 | 274 |
|
299 | 275 | (describe "cider-log appender and consumer accessors" |
300 | 276 | (it "reads the appender size, threshold, filters and consumers" |
|
454 | 430 | (cider-log-appender-id "my-appender")) |
455 | 431 | (cider-log-info))) |
456 | 432 | (expect (substring-no-properties |
457 | | - (apply #'format (spy-calls-args-for 'message 0))) |
| 433 | + (apply #'format (spy-context-args (spy-calls-most-recent 'message)))) |
458 | 434 | :to-equal |
459 | 435 | "Buffer: *cider-log* Framework: Logback Appender: my-appender Consumer: c1"))) |
0 commit comments