Skip to content

Commit 27d8df3

Browse files
committed
Added run custom attributes
correct deps.edn adjustment correction correction correction Documentation update Turn to run
1 parent 6ca702b commit 27d8df3

3 files changed

Lines changed: 18 additions & 3 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ parameters:
7878
--project-id=PRACTITEST_PROJECT_ID
7979
--additional-test-fields '{"custom-fields": {"---f-123": "foo", "---f-124": "bar"}, "system-fields"{"version": "2.3", "status":"Draft"}}'
8080
--additional-testset-fields '{"custom-fields": {"---f-125": "baz"}, "system-fields"{"version": "1.0", "assigned-to-id": "1"}}
81+
--additional-run-fields '{"custom-fields": {"---f-124": "test"}, "system-fields"{}}
8182
if they are relevant to the run (additional-fields not required).
8283

8384

@@ -93,6 +94,7 @@ java -jar practitest-firecracker-standalone.jar \
9394
--author-id=PRACTITEST_USER_ID \
9495
--additional-test-fields '{"custom-fields": {"---f-123": "foo", "---f-124": "bar"}}' \
9596
--additional-testset-fields '{"custom-fields": {"---f-125": "baz"}}' \
97+
--additional-run-fields '{"custom-fields": {"---f-124": "test"}, "system-fields"{}}' \
9698
create-and-populate-testset
9799
```
98100

src/practitest_firecracker/cli.clj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@
4747
"JSON containing the fields that should be added when creating PractiTest TestSet"
4848
:default {}
4949
:parse-fn parse-additional-fields]
50+
[nil "--additional-run-fields JSON"
51+
"JSON containing the fields that should be added when creating PractiTest Runs"
52+
:default {}
53+
:parse-fn parse-additional-fields]
5054
;; [nil "--test-case-as-pt-test" :default true]
5155
[nil "--test-case-as-pt-test-step" :default true]
5256
#_[nil "--pt-test-name DSL"
@@ -92,9 +96,11 @@
9296
(let [parsed-json (json/parse-stream (reader (:config-path options)) true)
9397
new-additional-test-fields (parse-additional-fields (json/generate-string (:additional-test-fields parsed-json)))
9498
new-additional-testset-fields (parse-additional-fields (json/generate-string (:additional-testset-fields parsed-json)))
99+
new-additional-run-fields (parse-additional-fields (json/generate-string (:additional-run-fields parsed-json)))
95100
new-parsed-json (merge parsed-json
96101
(when (:additional-testset-fields parsed-json) {:additional-testset-fields new-additional-testset-fields})
97102
(when (:additional-test-fields parsed-json) {:additional-test-fields new-additional-test-fields})
103+
(when (:additional-run-fields parsed-json) {:additional-run-fields new-additional-run-fields})
98104
(when (:pt-test-name parsed-json) {:pt-test-name (read-query (:pt-test-name parsed-json))})
99105
(when (:pt-test-step-name parsed-json) {:pt-test-step-name (read-query (:pt-test-step-name parsed-json))}))]
100106
new-parsed-json))

src/practitest_firecracker/practitest.clj

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -478,17 +478,24 @@
478478
[{:run-duration (:time-elapsed test-suite)}
479479
(map (partial sf-test-case->run-step-def options) (:test-cases test-suite))])
480480

481+
(defn sf-test-run->run-def [custom-fields run-duration]
482+
{:run-duration (:time-elapsed run-duration),
483+
:custom-fields (:custom-fields custom-fields)})
484+
481485
(defn make-runs [[test-by-id instance-to-ts-test] client {:keys [project-id display-action-logs] :as options} start-time]
482486
(when display-action-logs (log/infof "make-runs"))
483487
(flatten (doall
484488
(for [[test-testset instances] instance-to-ts-test]
485489
(for [instance instances]
486490
(let [[ts-id test-id] test-testset
487491
tst (first (get test-by-id test-id))
488-
[run run-steps] (sf-test-suite->run-def options (get tst 1))]
489-
{:instance-id (:id instance)
492+
[run run-steps] (sf-test-suite->run-def options (get tst 1))
493+
additional-run-fields (eval-additional-fields run (:additional-run-fields options))
494+
additional-run-fields (merge additional-run-fields (:system-fields additional-run-fields))
495+
run (sf-test-run->run-def additional-run-fields (get tst 1))]
496+
{:instance-id (:id instance)
490497
:attributes run
491-
:steps run-steps}))))))
498+
:steps run-steps}))))))
492499

493500
(defn populate-sf-results [client {:keys [project-id testset-id display-action-logs] :as options} sf-test-suites]
494501
(when display-action-logs (log/infof "populating testset %s with results from %d suites" testset-id (count sf-test-suites)))

0 commit comments

Comments
 (0)