branch: externals/plz-media-type
commit c2c7f5f2ef73df2b08756b19c5aad7d263c30bea
Author: Roman Scherer <[email protected]>
Commit: Roman Scherer <[email protected]>
Add tests for DNS resolve errors
---
tests/test-plz-media-type.el | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/tests/test-plz-media-type.el b/tests/test-plz-media-type.el
index fb24a28f42..33ac72cad1 100644
--- a/tests/test-plz-media-type.el
+++ b/tests/test-plz-media-type.el
@@ -359,6 +359,38 @@
(should (equal "Operation timeout." (cdr (plz-error-curl-error
plz-error))))
(should (< (time-to-seconds (time-subtract end-time start-time)) 1.1))))
+(ert-deftest plz-media-type-request-resolve-error-async ()
+ (let* ((else) (finally) (then)
+ (process (plz-media-type-request 'get
"https://httpbinnnnnn.org/get/status/404"
+ :as `(media-types ,plz-media-types)
+ :else (lambda (object) (push object else))
+ :finally (lambda () (push t finally))
+ :then (lambda (object) (push object then)))))
+ (plz-media-type-test-wait process)
+ (should (equal '(t) finally))
+ (should (equal 0 (length then)))
+ (should (equal 1 (length else)))
+ (seq-doseq (error else)
+ (should (plz-error-p error))
+ (should (null (plz-error-message error)))
+ (should (null (plz-error-response error)))
+ (equal '(6 . "Couldn't resolve host. The given remote host was not
resolved.")
+ (plz-error-curl-error error)))))
+
+(ert-deftest plz-media-type-request-resolve-error-sync ()
+ (let* ((result (condition-case error
+ (plz-media-type-request 'get
"https://httpbinnnnnn.org/get/status/404"
+ :as `(media-types ,plz-media-types))
+ (plz-error error))))
+ (should (equal 'plz-curl-error (car result)))
+ (should (equal "Curl error" (cadr result)))
+ (let ((error (caddr result)))
+ (should (plz-error-p error))
+ (should (null (plz-error-message error)))
+ (should (null (plz-error-response error)))
+ (equal '(6 . "Couldn't resolve host. The given remote host was not
resolved.")
+ (plz-error-curl-error error)))))
+
;;;; Footer
(provide 'test-plz-media-type)