diff options
Diffstat (limited to 'tests/authorization-endpoint-no-args.scm')
-rw-r--r-- | tests/authorization-endpoint-no-args.scm | 58 |
1 files changed, 38 insertions, 20 deletions
diff --git a/tests/authorization-endpoint-no-args.scm b/tests/authorization-endpoint-no-args.scm index 7976d9d..0cc2fab 100644 --- a/tests/authorization-endpoint-no-args.scm +++ b/tests/authorization-endpoint-no-args.scm @@ -1,4 +1,4 @@ -;; webid-oidc, implementation of the Solid specification +;; disfluid, implementation of the Solid specification ;; Copyright (C) 2020, 2021 Vivien Kraus ;; This program is free software: you can redistribute it and/or modify @@ -14,17 +14,22 @@ ;; You should have received a copy of the GNU Affero General Public License ;; along with this program. If not, see <https://www.gnu.org/licenses/>. -(use-modules (webid-oidc authorization-endpoint) - (webid-oidc jwk) - (webid-oidc testing) - ((webid-oidc parameters) #:prefix p:) - (web uri) - (web request) - (web response) - (srfi srfi-19) - (web response) - (ice-9 optargs) - (ice-9 receive)) +(define-module (tests authorization-endpoint-no-args) + #:use-module (webid-oidc jwk) + #:use-module (webid-oidc testing) + #:use-module ((webid-oidc parameters) #:prefix p:) + #:use-module (web uri) + #:use-module (web request) + #:use-module (web response) + #:use-module (srfi srfi-19) + #:use-module (web response) + #:use-module (ice-9 optargs) + #:use-module (ice-9 receive) + #:use-module (webid-oidc server endpoint) + #:use-module (webid-oidc server endpoint identity-provider) + #:use-module (oop goops) + #:duplicates (merge-generics) + #:declarative? #t) (with-test-environment "authorization-endpoint-no-args" @@ -32,12 +37,25 @@ (define subject (string->uri "https://authorization-endpoint-get-form.scm/profile/card#me")) (define password "p4ssw0rd") (define endpoint - (make-authorization-endpoint subject password "./key-file.jwk")) - (receive (response response-body) + (make <authorization-endpoint> + #:subject subject + #:encrypted-password (crypt password "$6$some.salt.data") + #:key-file "key-file.jwk")) + (with-exception-handler + (lambda (exn) + (unless (and (web-exception? exn) + (eqv? (web-exception-code exn) 400)) + (raise-exception + (make-exception + (make-exception-with-message + "I was expected a 400 response.") + exn)))) + (lambda () (parameterize ((p:current-date 0)) - (endpoint - (build-request (string->uri - "https://authorization-endpoint-get-form.scm/authorize")) - "")) - (unless (eq? (response-code response) 400) - (exit 3))))) + (handle endpoint + (build-request (string->uri + "https://authorization-endpoint-get-form.scm/authorize")) + "") + (exit 3))) + #:unwind? #t + #:unwind-for-type &web-exception))) |