emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/plz 5f54b5ebec 06/81: Changes


From: ELPA Syncer
Subject: [elpa] externals/plz 5f54b5ebec 06/81: Changes
Date: Wed, 11 May 2022 17:57:57 -0400 (EDT)

branch: externals/plz
commit 5f54b5ebeced21f57a1fc8d2681118d18503bd53
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    Changes
---
 test/test-plz.el | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/test/test-plz.el b/test/test-plz.el
index e63932b66b..cadcbab3bb 100644
--- a/test/test-plz.el
+++ b/test/test-plz.el
@@ -27,6 +27,7 @@
 ;;;; Requirements
 
 (require 'ert)
+(require 'json)
 
 ;;;; Variables
 
@@ -39,10 +40,31 @@
 
 ;;;; Functions
 
+(defun plz-test-get-response (response)
+  "Return non-nil if RESPONSE seems to be a correct GET response."
+  (and (plz-response-p response)
+       (numberp (plz-response-version response))
+       (eq 200 (plz-response-status response))
+       (equal "application/json" (alist-get "Content-Type" 
(plz-response-headers response) nil nil #'equal))
+       (let* ((json (json-read-from-string (plz-response-body response)))
+              (headers (alist-get 'headers json))
+              (user-agent (alist-get 'User-Agent headers nil nil #'equal)))
+         (string-match "curl" user-agent))))
+
 ;;;; Tests
 
+(ert-deftest plz-get-async nil
+  (let* ((test-response)
+         (process (plz-get "https://httpbin.org/get";
+                           :success (lambda (response)
+                                      (setf test-response response)))))
+    (cl-loop for i upto 100 ;; 10 seconds
+             while (equal 'run (process-status process))
+             do (sleep-for 0.1))
+    (plz-test-get-response test-response)))
+
 (ert-deftest plz-get-sync nil
-  (plz-response-p (plz-get "https://httpbin.org/get"; :sync t)))
+  (plz-test-get-response (plz-get "https://httpbin.org/get"; :sync t)))
 
 ;;;; Footer
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]