aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Ángel Moreno <mail@migalmoreno.com>2023-08-05 20:55:43 +0200
committerMiguel Ángel Moreno <mail@migalmoreno.com>2023-08-05 20:55:43 +0200
commitdc3fb1ba0a5a5cd2ed9eb2e25ca86b6e0719c906 (patch)
tree54d44db451a79eb77273558f379b3638519a6e8b
parent72b38b7d6a0f5c6e0a206f38105eee36d0c6ae7a (diff)
fix: Fix tests for new API
-rw-r--r--tests/router.lisp119
1 files changed, 57 insertions, 62 deletions
diff --git a/tests/router.lisp b/tests/router.lisp
index 37ae018..f2c4788 100644
--- a/tests/router.lisp
+++ b/tests/router.lisp
@@ -32,88 +32,83 @@
:redirect
'(("https://atlas.engineer/\\1/\\2" . "https://(\\w+)\\.atlas.engineer/(.*)"))))
-(defparameter *blocker-with-list-blocklist*
- (make-instance 'router:blocker
- :route (match-domain *url*)
- :blocklist (list ".*/about.*/work$" ".*://nyxt.*atlas.*")))
+(define-test redirector-basic ()
+ (assert-equality #'quri:uri=
+ (quri:uri "https://atlas.engineer/articles")
+ (nx-router::compute-router *redirector-with-host-redirect*
+ (quri:make-uri :defaults *url* :path "/articles")))
+ (assert-equality #'quri:uri=
+ (quri:uri "http://atlas.engineer:8080/articles")
+ (nx-router::compute-router *redirector-with-quri-redirect*
+ (quri:make-uri :defaults *url* :path "/articles"))))
-(defparameter *blocker-with-regexp-blocklist*
- (make-instance 'router:blocker
- :route (match-domain *url*)
- :blocklist "/(^nyxt)|work"))
+(define-test redirector-regexp-interpolation ()
+ (assert-equality #'quri:uri=
+ (quri:uri "https://atlas.engineer/nyxt/contact")
+ (nx-router::compute-router *redirector-with-regexp-redirect*
+ (quri:make-uri :defaults *url*
+ :host "nyxt.atlas.engineer"
+ :path "/contact")))
+ (assert-equality #'quri:uri=
+ (quri:uri "https://atlas.engineer/nyxt/contact")
+ (nx-router::compute-router *redirector-with-list-redirect-regexp-interpolation*
+ (quri:make-uri :defaults *url*
+ :host "nyxt.atlas.engineer"
+ :path "/contact"))))
-(define-test redirector-with-list-rule ()
+(define-test redirector-list-redirect ()
(assert-equality #'quri:uri=
(quri:uri "https://atlas.engineer/")
- (nx-router::compute-router *redirector-with-list-rule* (quri:uri *url*)))
+ (nx-router::compute-router *redirector-with-list-redirect* (quri:uri *url*)))
(assert-equality #'quri:uri=
(quri:uri "https://atlas.engineer/")
- (nx-router::compute-router *redirector-with-list-rule*
- (quri:make-uri :defaults *url* :path "/")))
+ (nx-router::compute-router *redirector-with-list-redirect*
+ (quri:make-uri :defaults *url* :path "/")))
(assert-equality #'quri:uri=
(quri:uri "https://atlas.engineer/about/example")
- (nx-router::compute-router *redirector-with-list-rule*
- (quri:make-uri :defaults *url* :path "/example")))
+ (nx-router::compute-router *redirector-with-list-redirect*
+ (quri:make-uri :defaults *url* :path "/example")))
(assert-equality #'quri:uri=
(quri:uri "https://atlas.engineer/community/1234")
- (nx-router::compute-router *redirector-with-list-rule*
- (quri:make-uri :defaults *url* :path "/c/1234")))
- (assert-equality #'quri:uri=
- (quri:uri "https://atlas.engineer/v/1234")
- (nx-router::compute-router *redirector-with-list-rule*
- (quri:make-uri :defaults *url* :path "/v/1234"))))
-(defparameter *blocker-with-list-exception-blocklist*
+ (nx-router::compute-router *redirector-with-list-redirect*
+ (quri:make-uri :defaults *url* :path "/c/1234"))))
+
+(defparameter *blocker-with-list-blocklist*
(make-instance 'router:blocker
:route (match-domain *url*)
- :blocklist '(or "://.*/.*" (not ".*/about.*" ".*://nyxt.*atlas.*"))))
-
-(define-test redirector-with-nonstandard-port-and-scheme ()
- (assert-equality #'quri:uri=
- (quri:uri "http://atlas.engineer:8080/articles")
- (nx-router::compute-router *redirector-with-nonstandard-port-and-scheme*
- (quri:make-uri :defaults *url* :path "/articles"))))
+ :blocklist (list ".*/about.*/work$" ".*://nyxt.*atlas.*")))
-(define-test redirector-with-regexp-route ()
- (assert-equality #'quri:uri=
- (quri:uri "https://atlas.engineer/nyxt/contact")
- (nx-router::compute-router *redirector-with-regexp-route*
- (quri:make-uri :defaults *url*
- :host "nyxt.atlas.engineer"
- :path "/contact"))))
+(defparameter *blocker-with-regexp-blocklist*
+ (make-instance 'router:blocker
+ :route (match-domain *url*)
+ :blocklist "/(^nyxt)|work"))
-(define-test redirector-with-regexp-rule ()
- (assert-equality #'quri:uri=
- (quri:uri "https://atlas.engineer/nyxt/contact")
- (nx-router::compute-router *redirector-with-regexp-rule*
- (quri:make-uri :defaults *url*
- :host "nyxt.atlas.engineer"
- :path "/contact"))))
+(defparameter *blocker-with-list-exception-blocklist*
+ (make-instance 'router:blocker
+ :route (match-domain *url*)
+ :blocklist '(or "://.*/.*" (not ".*/about.*" ".*://nyxt.*atlas.*"))))
-(define-test blocker-with-list-rule ()
+(define-test blocker-with-list-blocklist ()
(assert-false (nx-router::compute-router *blocker-with-list-blocklist*
- (quri:make-uri :defaults *url*
- :path "/about/work")))
+ (quri:make-uri :defaults *url*
+ :path "/about/work")))
(assert-false (nx-router::compute-router *blocker-with-list-blocklist*
- (quri:make-uri :defaults *url*
- :host "nyxt.atlas.engineer")))
+ (quri:make-uri :defaults *url*
+ :host "nyxt.atlas.engineer")))
(assert-true (nx-router::compute-router *blocker-with-list-blocklist*
- (quri:make-uri :defaults *url*
- :host "nyxt.atlas.engineer"
- :path "/about/work"))))
-
-(define-test blocker-with-list-rule-or-rules ()
- (assert-true (nx-router::compute-router *blocker-with-list-blocklist-or-rules*
(quri:make-uri :defaults *url*
+ :host "nyxt.atlas.engineer"
:path "/about/work")))
- (assert-true (nx-router::compute-router *blocker-with-list-blocklist-or-rules*
- (quri:make-uri :defaults *url*
- :host "nyxt.atlas.engineer")))
- (assert-true (nx-router::compute-router *blocker-with-list-blocklist-or-rules*
- (quri:make-uri :defaults *url*
- :host "nyxt.atlas.engineer"
- :path "/about/work")))
- (assert-false (nx-router::compute-router *blocker-with-list-blocklist-or-rules*
- (quri:make-uri :defaults *url*))))
+ (assert-true (nx-router::compute-router *blocker-with-list-exception-blocklist*
+ (quri:make-uri :defaults *url*
+ :path "/work/")))
+ (assert-true (nx-router::compute-router *blocker-with-list-exception-blocklist*
+ (quri:make-uri :defaults *url*
+ :host "nyxt.atlas.engineer")))
+ (assert-false (nx-router::compute-router *blocker-with-list-exception-blocklist*
+ (quri:make-uri :defaults *url*
+ :host "nyxt.atlas.engineer"
+ :path "/about/work"))))
(define-test blocker-with-regexp-rule ()
(assert-true (nx-router::compute-router *blocker-with-regexp-blocklist*