diff options
author | Miguel Ángel Moreno <mail@migalmoreno.com> | 2023-08-05 20:55:43 +0200 |
---|---|---|
committer | Miguel Ángel Moreno <mail@migalmoreno.com> | 2023-08-05 20:55:43 +0200 |
commit | dc3fb1ba0a5a5cd2ed9eb2e25ca86b6e0719c906 (patch) | |
tree | 54d44db451a79eb77273558f379b3638519a6e8b | |
parent | 72b38b7d6a0f5c6e0a206f38105eee36d0c6ae7a (diff) |
fix: Fix tests for new API
-rw-r--r-- | tests/router.lisp | 119 |
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* |