From d9313a08f55bd41d6af398493ae211e331810f0f Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Fri, 18 Jun 2021 15:39:58 +0200 Subject: Implement the POST method for the server --- tests/crud.scm | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 tests/crud.scm (limited to 'tests/crud.scm') diff --git a/tests/crud.scm b/tests/crud.scm new file mode 100644 index 0000000..422b1da --- /dev/null +++ b/tests/crud.scm @@ -0,0 +1,80 @@ +(use-modules (webid-oidc server create) + (webid-oidc server resource content) + (webid-oidc server resource path) + (webid-oidc errors) + (webid-oidc testing) + (web http) + (web request) + (web response) + (web uri)) + +(with-test-environment + "crud" + (lambda () + (for-each + (lambda (f) + (false-if-exception + (delete-file + (string-append + "tests/crud.home/webid-oidc/server/content/" + f)))) + '("6/8OMG_V5x-KmI6TI" + "X/hqM_2Avn5_egTzs" + "5/n1KPgAd3ng4wSqn" + "D/wxU0ogx5rzRrvu2" + "F/BQKBGrtq6U_M0L7" + "n/U46BXbknEaLWZpH" + "A/fkGTJRCHc-jHk-V" + "a/68pTwiImTWTpjQl" + "H/y4S5p1BqTEJi-Jb")) + (for-each + (lambda (f) + (false-if-exception + (delete-file + (string-append + "tests/crud.home/webid-oidc/server/path/" + f)))) + '("L/uhr1159jdGYjIj_tpM6FDiW4rUZDQQKUnT35lhAR-s" + "8/jgewChguz6YRPCTBOkx_9CW94iH_X88rP6Os4aM8jg" + "n/PQ_3L8lXCsqpz1tkUhsJnVC9rcyqgDD41DnFPIDG1Q" + "i/l7asoJjJEMhngUeSt4tHVu8Zxx4EFG_FDeJfL3-oPE")) + (let ((server-name (string->uri "https://example.com")) + (owner (string->uri "https://alice.databox.me"))) + (unless + (create-root server-name owner) + (exit 1)) + (let ((inbox (create server-name owner owner "/" + (list (string->uri "http://www.w3.org/ns/ldp#BasicContainer")) + "inbox" + 'text/turtle + ""))) + (unless (equal? inbox (string->uri "https://example.com/inbox/")) + (exit 2)) + (let ((inbox-2 (create server-name owner owner "/" + (list (string->uri "http://www.w3.org/ns/ldp#BasicContainer")) + "inbox" + 'text/turtle + ""))) + (when (equal? inbox-2 (string->uri "https://example.com/inbox/")) + (exit 3))) + (let ((notif-1 (create server-name owner owner "/inbox" + '() + #f + 'text/turtle + ""))) + (unless (equal? notif-1 + (string->uri "https://example.com/inbox/NgnO8RAS9FpPiO5j")) + (format (current-error-port) "Notif 1: ~s\n" notif-1) + (exit 4)))) + (for-each + (lambda (slug) + (with-exception-handler + (lambda (error) + (unless (path-is-auxiliary? error) + (raise-exception error))) + (lambda () + (create server-name owner owner "/" '() slug 'text/turtle "") + (exit 5)) + #:unwind? #t + #:unwind-for-type &path-is-auxiliary)) + '(".acl" ".meta"))))) -- cgit v1.2.3