From ce7cb651cd1d1c96bc955ca6dd0bd34bb6ad7e46 Mon Sep 17 00:00:00 2001 From: saidone Date: Thu, 13 Jun 2024 07:28:10 +0200 Subject: [PATCH] list-shared-link-renditions-test --- test/cral/shared_links_test.clj | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/test/cral/shared_links_test.clj b/test/cral/shared_links_test.clj index fd830df..be14800 100644 --- a/test/cral/shared_links_test.clj +++ b/test/cral/shared_links_test.clj @@ -20,6 +20,7 @@ [clojure.test :refer :all] [cral.api.auth :as auth] [cral.api.core.nodes :as nodes] + [cral.api.core.renditions :as renditions] [cral.api.core.shared-links :as shared-links] [cral.config :as c] [cral.fixtures :as fixtures] @@ -32,6 +33,8 @@ (use-fixtures :once fixtures/setup) +(def ^:const content-file "Elkjaer_Briegel.jpg") + (deftest create-shared-link-test (let [ticket (get-in (auth/create-ticket c/user c/password) [:body :entry]) ;; create a node @@ -129,6 +132,30 @@ (is (= (:status (nodes/delete-node ticket created-node-id {:permanent true})) 204)) (io/delete-file file-to-be-uploaded))) +(deftest list-shared-link-renditions-test + (let [ticket (get-in (auth/create-ticket c/user c/password) [:body :entry]) + ;; create a node + created-node-id (->> (model/map->CreateNodeBody {:name (str (.toString (UUID/randomUUID)) ".txt") :node-type cm/type-content}) + (nodes/create-node ticket (tu/get-guest-home ticket)) + (#(get-in % [:body :entry :id]))) + ;; update the node content + _ (nodes/update-node-content ticket created-node-id (io/as-file (io/resource content-file))) + ;; ask for rendition creation + _ (renditions/create-rendition ticket created-node-id [(model/map->CreateRenditionBody {:id "doclib"})]) + ;; create a shared link + created-shared-link-id (->> (model/map->CreateSharedLinkBody {:node-id created-node-id}) + (shared-links/create-shared-link ticket) + (#(get-in % [:body :entry :id])))] + (loop [list-shared-link-renditions-response nil] + (if (empty? (get-in list-shared-link-renditions-response [:body :list :entries])) + (do + (Thread/sleep 1000) + (recur (shared-links/list-shared-link-renditions created-shared-link-id))) + (is (some true? (map #(= (get-in % [:entry :id]) "doclib") (get-in list-shared-link-renditions-response [:body :list :entries])))))) + ;; clean up + (is (= (:status (shared-links/delete-shared-link ticket created-shared-link-id)) 204)) + (is (= (:status (nodes/delete-node ticket created-node-id {:permanent true})) 204)))) + (deftest email-shared-link-test (let [ticket (get-in (auth/create-ticket c/user c/password) [:body :entry]) ;; create a node