'Initial' checkin

This commit is contained in:
2021-04-14 15:43:49 -05:00
parent 3c868968fd
commit 1d5075c232
16 changed files with 1084 additions and 3 deletions
+70
View File
@@ -0,0 +1,70 @@
(defpackage cl-gemini/tests/main
(:use :cl
:cl-gemini
:rove))
(in-package :cl-gemini/tests/main)
;; NOTE: To run this test file, execute `(asdf:test-system :cl-gemini)' in your Lisp.
(deftest create-errors
(testing "temporary-redirect"
(ok (= (response/status-code
(error/temporary-redirect "gemini://nowhere"))
30)))
(testing "permanent-redirect"
(ok (= (response/status-code
(error/permanent-redirect "gemini://nowhere"))
31)))
(testing "temporary-failure"
(ok (= (response/status-code
(error/temporary-failure))
40)))
(testing "permanent-failure"
(ok (= (response/status-code
(error/permanent-failure))
50)))
(testing "success-code"
(ok (= (response/status-code
(success "Hello World!"))
20)))
(testing "success-terminate-code"
(ok (= (response/status-code
(success/end-session "Hello World!"))
21))))
(deftest test-portal
(testing "portal-closed"
(ok (let ((portal (test/portal))
(err (error/temporary-failure "hi")))
(progn (response/write portal err)
(test/closed-p portal))))))
(deftest check-output
(testing "simple-header"
(ok (let ((portal (test/portal))
(err (error/temporary-failure)))
(progn (response/write portal err)
(string= (test/output portal)
(format nil "40 TEMPORARY-FAILURE<BREAK>~%"))))))
(testing "header-with-message"
(ok (let ((portal (test/portal))
(err (error/temporary-failure "hi")))
(progn (response/write portal err)
(string= (test/output portal)
(format nil "40 TEMPORARY-FAILURE: hi<BREAK>~%"))))))
(testing "success-output"
(ok (let ((portal (test/portal))
(resp (success "Oh hello there!")))
(progn (response/write portal resp)
(string= (test/output portal)
(format nil "20 SUCCESS<BREAK>~%Oh hello there!<BREAK>~%"))))))
(testing "success/end-session-output"
(ok (let ((portal (test/portal))
(resp (success/end-session "Oh hello there!")))
(progn (response/write portal resp)
(string= (test/output portal)
(format nil "21 SUCCESS-END-OF-CLIENT-CERTIFICATE-SESSION<BREAK>~%Oh hello there!<BREAK>~%")))))))