Skip to content

Commit

Permalink
fix(Deployment): Bulk delete support(#937)
Browse files Browse the repository at this point in the history
fix(Deployment): Delete operation should not be available to deployment in ERROR state
  • Loading branch information
0xbase12 committed Aug 29, 2024
1 parent 7ca78d2 commit 08a58ab
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 16 deletions.
4 changes: 4 additions & 0 deletions code/src/com/sixsq/nuvla/server/resources/deployment.clj
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,10 @@ a container orchestration engine.
[request]
(bulk-action-impl request))

(defmethod crud/bulk-action [resource-type "bulk-delete"]
[request]
(bulk-action-impl request))

(defmethod crud/bulk-action [resource-type "bulk-force-delete"]
[request]
(bulk-action-impl request))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@

(defn can-delete?
[{:keys [state] :as _resource}]
(#{"CREATED" "STOPPED" "ERROR"} state))
(#{"CREATED" "STOPPED"} state))


(defn can-start?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -763,15 +763,13 @@
valid-deployment {:module {:href module-id}}]

;; check deployment creation
(let [deployment-id (-> session-user
(let [deployment-url (-> session-user
(request base-uri
:request-method :post
:body (json/write-str valid-deployment))
(ltu/body->edn)
(ltu/is-status 201)
(ltu/location))

deployment-url (str p/service-context deployment-id)]
(ltu/location-url))]

;; admin/user should see one deployment
(doseq [session [session-user session-admin]]
Expand All @@ -791,18 +789,23 @@
(ltu/body->edn)
(ltu/is-status 200))

;; verify that the user can delete the deployment
(-> session-user
(request deployment-url
:request-method :delete)
(ltu/body->edn)
(ltu/is-status 200))
(testing "verify that the user cannot delete the deployment"
(-> session-user
(request deployment-url
:request-method :delete)
(ltu/body->edn)
(ltu/is-status 409)))

;; verify that the deployment has disappeared
(-> session-user
(request deployment-url)
(ltu/body->edn)
(ltu/is-status 404)))
(let [force-delete-url (-> session-user
(request deployment-url)
(ltu/body->edn)
(ltu/is-status 200)
(ltu/get-op-url :force-delete))]
(testing "verify that the user can force delete the deployment"
(-> session-user
(request force-delete-url)
(ltu/body->edn)
(ltu/is-status 200)))))

(-> session-user
(request (str p/service-context module-id)
Expand Down

0 comments on commit 08a58ab

Please sign in to comment.