Skip to content

Commit

Permalink
AE-2282: Add removal of toimenpide document
Browse files Browse the repository at this point in the history
- Change the valvonta type in test to be such that it creates a
  document.
- Reveal file-path from valvonta-oikeellisuus.asha
- Add document removal step
  • Loading branch information
solita-juhohaa committed Oct 22, 2024
1 parent cf2bac9 commit ec5cfc6
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
[solita.etp.exception :as exception]
[solita.etp.service.complete-energiatodistus :as complete-energiatodistus-service]
[solita.etp.service.energiatodistus :as energiatodistus-service]
[solita.etp.service.valvonta-oikeellisuus.asha :as vo-asha-service]
[solita.etp.service.kayttaja :as kayttaja-service]
[solita.etp.service.rooli :as rooli-service]
[solita.etp.service.liite :as liite-service]
Expand All @@ -21,15 +22,6 @@
(defn- destroy-energiatodistus-audit-data! [db energiatodistus-id]
(energiatodistus-destruction-db/destroy-energiatodistus-audit! db {:energiatodistus-id energiatodistus-id}))

(defn- destroy-energiatodistus-oikeellisuuden-valvonta! [db energiatodistus-id]
(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-note! db {:energiatodistus-id energiatodistus-id})
(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-virhe! db {:energiatodistus-id energiatodistus-id})
(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-tiedoksi! db {:energiatodistus-id energiatodistus-id})
(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-toimenpide! db {:energiatodistus-id energiatodistus-id})

(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-toimenpide-audit! db {:energiatodistus-id energiatodistus-id})
(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-note-audit! db {:energiatodistus-id energiatodistus-id}))

(defn- delete-from-s3 [aws-s3-client file-key]
(if (file/file-exists? aws-s3-client file-key)
(do
Expand Down Expand Up @@ -65,6 +57,27 @@
(let [liitteet (map :liite-id (energiatodistus-destruction-db/select-to-be-destroyed-liitteet-by-energiatodistus-id db {:energiatodistus-id energiatodistus-id}))]
(run! #(delete-energiatodistus-liite db aws-s3-client %) liitteet)))

(defn- destroy-toimenpide-s3! [aws-s3-client energiatodistus-id valvonta-id]
(let [file-key (vo-asha-service/file-path energiatodistus-id valvonta-id)]
;; All the toimenpiteet do not create documents
(when (file/file-exists? aws-s3-client file-key)
(delete-from-s3 aws-s3-client file-key))))

(defn- destroy-oikeellisuuden-valvonta-s3! [db aws-s3-client energiatodistus-id]
(let [vo-toimenpide-ids (map :vo-toimenpide-id (energiatodistus-destruction-db/select-vo-toimenpiteet-by-energiatodistus-id db {:energiatodistus-id energiatodistus-id}))]
(run! #(destroy-toimenpide-s3! aws-s3-client energiatodistus-id %) vo-toimenpide-ids)))

(defn- destroy-energiatodistus-oikeellisuuden-valvonta! [db aws-s3-client energiatodistus-id]
(destroy-oikeellisuuden-valvonta-s3! db aws-s3-client energiatodistus-id)

(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-note! db {:energiatodistus-id energiatodistus-id})
(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-virhe! db {:energiatodistus-id energiatodistus-id})
(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-tiedoksi! db {:energiatodistus-id energiatodistus-id})
(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-toimenpide! db {:energiatodistus-id energiatodistus-id})

(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-toimenpide-audit! db {:energiatodistus-id energiatodistus-id})
(energiatodistus-destruction-db/destroy-energiatodistus-oikeellisuuden-valvonta-note-audit! db {:energiatodistus-id energiatodistus-id}))

(defn- destroy-viesti! [db viesti-id]
(energiatodistus-destruction-db/destroy-viesti-reader! db {:viesti-id viesti-id})
(energiatodistus-destruction-db/destroy-viesti! db {:viesti-id viesti-id}))
Expand Down Expand Up @@ -98,7 +111,7 @@
(log/error "There exists one or many viestiketju for oikeellisuuden valvonta (id: " vo-toimenpide-id ")"))))

(defn- check-oikeellisuuden-valvontojen-viestiketjut [db energiatodistus-id]
(let [vo-toimenpide-ids (map :id (energiatodistus-destruction-db/select-vo-toimenpiteet-by-energiatodistus-id db {:energiatodistus-id energiatodistus-id}))]
(let [vo-toimenpide-ids (map :vo-toimenpide-id (energiatodistus-destruction-db/select-vo-toimenpiteet-by-energiatodistus-id db {:energiatodistus-id energiatodistus-id}))]
(run! (partial check-oikeellisuuden-valvonta-viestiketjut db) vo-toimenpide-ids)))

(defn- destroy-energiatodistus-viestiketjut [db aws-s3-client energiatodistus-id]
Expand All @@ -111,7 +124,7 @@
(jdbc/with-db-transaction [db db]
(destroy-energiatodistus-viestiketjut db aws-s3-client energiatodistus-id)
(destroy-energiatodistus-liitteet db aws-s3-client energiatodistus-id)
(destroy-energiatodistus-oikeellisuuden-valvonta! db energiatodistus-id)
(destroy-energiatodistus-oikeellisuuden-valvonta! db aws-s3-client energiatodistus-id)
(anonymize-energiatodistus! db energiatodistus-id)
(destroy-energiatodistus-audit-data! db energiatodistus-id))
(log/info (str "Destroyed energiatodistus (id: " energiatodistus-id ")")))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

(def file-key-prefix "valvonta/oikeellisuus")

(defn- file-path [energiatodistus-id toimenpide-id]
(defn file-path [energiatodistus-id toimenpide-id]
(str file-key-prefix "/" energiatodistus-id "/" toimenpide-id))

(defn toimenpide-type->document [type-id]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[solita.etp.service.valvonta-oikeellisuus :as valvonta-oikeellisuus-service]
[solita.etp.service.energiatodistus-destruction :as service]
[solita.etp.service.viesti-test :as viesti-test]
[solita.etp.service.valvonta-oikeellisuus.asha :as vo-asha-service]
[solita.etp.service.kayttaja :as kayttaja-service]
[solita.etp.service.file :as file-service]
[solita.etp.service.liite :as liite-service]
Expand Down Expand Up @@ -341,23 +342,43 @@
:description-sv "test"})
vo_virhe {:description "Test"
:type-id virhetype-id}
rfi-reply {:type-id 4
:deadline-date nil
:template-id nil
:description "Test"
:virheet [vo_virhe]
:severity-id nil
:tiedoksi [vo_tiedoksi vo_tiedoksi]}
_ (valvonta-oikeellisuus-service/add-toimenpide! (ts/db-user laatija-id)
ts/*aws-s3-client*
(test-whoami/laatija laatija-id)
energiatodistus-id-1 rfi-reply)
_ (valvonta-oikeellisuus-service/add-toimenpide! (ts/db-user laatija-id)
ts/*aws-s3-client*
(test-whoami/laatija laatija-id)
energiatodistus-id-2 rfi-reply)
_ (valvonta-oikeellisuus-service/add-note! ts/*db* energiatodistus-id-1 (:description vo_note))
_ (valvonta-oikeellisuus-service/add-note! ts/*db* energiatodistus-id-2 (:description vo_note))]

audit-report {:type-id 7
:deadline-date nil
:template-id nil
:description "Test"
:virheet [vo_virhe]
:severity-id nil
:tiedoksi [vo_tiedoksi vo_tiedoksi]}
vo-toimenpide-1-id (:id (valvonta-oikeellisuus-service/add-toimenpide! (ts/db-user paakayttaja-id)
ts/*aws-s3-client*
(test-whoami/paakayttaja paakayttaja-id)
energiatodistus-id-1 audit-report))
vo-toimenpide-2-id (:id (valvonta-oikeellisuus-service/add-toimenpide! (ts/db-user paakayttaja-id)
ts/*aws-s3-client*
(test-whoami/paakayttaja paakayttaja-id)
energiatodistus-id-2 audit-report))]

(valvonta-oikeellisuus-service/add-note! ts/*db* energiatodistus-id-1 (:description vo_note))

(valvonta-oikeellisuus-service/update-toimenpide! (ts/db-user paakayttaja-id)
(test-whoami/paakayttaja paakayttaja-id)
energiatodistus-id-1 vo-toimenpide-1-id {:template-id 1})
(valvonta-oikeellisuus-service/publish-toimenpide! ts/*db*
ts/*aws-s3-client*
(test-whoami/paakayttaja paakayttaja-id)
energiatodistus-id-1
vo-toimenpide-1-id)
(valvonta-oikeellisuus-service/add-note! ts/*db* energiatodistus-id-2 (:description vo_note))
(valvonta-oikeellisuus-service/update-toimenpide! (ts/db-user paakayttaja-id)
(test-whoami/paakayttaja paakayttaja-id)
energiatodistus-id-2 vo-toimenpide-2-id {:template-id 1})
(valvonta-oikeellisuus-service/publish-toimenpide! ts/*db*
ts/*aws-s3-client*
(test-whoami/paakayttaja paakayttaja-id)
energiatodistus-id-2
vo-toimenpide-2-id)

(t/testing "There is some toimenpide before deletion."
(t/is (not (empty? (get-vo-toimenpiteet energiatodistus-id-1)))))
(t/testing "There is some note before deletion."
Expand All @@ -373,9 +394,24 @@
(t/testing "There was some audit data on notes before deletion."
(t/is (not (empty? (select-notes-audit energiatodistus-id-1)))))

(t/testing "There are valvonta liite documents"
(let [file-key-et-1 (vo-asha-service/file-path energiatodistus-id-1 vo-toimenpide-1-id)
file-key-et-2 (vo-asha-service/file-path energiatodistus-id-2 vo-toimenpide-2-id)]
(t/is (true? (file-service/file-exists? ts/*aws-s3-client* file-key-et-1)))
(t/is (true? (file-service/file-exists? ts/*aws-s3-client* file-key-et-2)))))

;; wait for emails to finish
(Thread/sleep 5000)

(expire-energiatodistus! energiatodistus-id-1)
(service/destroy-expired-energiatodistukset! ts/*db* ts/*aws-s3-client* system-expiration-user)

(t/testing "Energiatodistus 1 valovonta documents are destroyed and energiatodistus 2 are not"
(let [file-key-et-1 (vo-asha-service/file-path energiatodistus-id-1 vo-toimenpide-1-id)
file-key-et-2 (vo-asha-service/file-path energiatodistus-id-2 vo-toimenpide-2-id)]
(t/is (false? (file-service/file-exists? ts/*aws-s3-client* file-key-et-1)))
(t/is (true? (file-service/file-exists? ts/*aws-s3-client* file-key-et-2)))))

(t/testing "There are no more toimenpiteet after deletion."
(t/is (empty? (get-vo-toimenpiteet energiatodistus-id-1))))
(t/testing "There are no more notes after deletion."
Expand Down

0 comments on commit ec5cfc6

Please sign in to comment.