Skip to content

Commit 76f87db

Browse files
authored
Merge pull request #17 from rc185202/Runs_CustomAttributesUpdate
Added run custom attributes
2 parents 03ea76c + c36c985 commit 76f87db

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,9 @@ parameters:
6060
--email=YOUR_EMAIL
6161
--testset-name=TESTSET_NAME
6262
--project-id=PRACTITEST_PROJECT_ID
63-
--additional-test-fields='{"custom-fields": {"---f-123": "foo", "---f-124": "bar"}, "system-fields"{"version": "2.3", "status":"Draft"}}'
64-
--additional-testset-fields='{"custom-fields": {"---f-125": "baz"}, "system-fields"{"version": "1.0", "assigned-to-id": "1"}}
63+
--additional-test-fields '{"custom-fields": {"---f-123": "foo", "---f-124": "bar"}, "system-fields"{"version": "2.3", "status":"Draft"}}'
64+
--additional-testset-fields '{"custom-fields": {"---f-125": "baz"}, "system-fields"{"version": "1.0", "assigned-to-id": "1"}}
65+
--additional-run-fields '{"custom-fields": {"---f-124": "test"}, "system-fields"{}}
6566
if they are relevant to the run (additional-fields not required).
6667

6768

@@ -77,6 +78,7 @@ java -jar practitest-firecracker-standalone.jar \
7778
--author-id=PRACTITEST_USER_ID \
7879
--additional-test-fields '{"custom-fields": {"---f-123": "foo", "---f-124": "bar"}}' \
7980
--additional-testset-fields '{"custom-fields": {"---f-125": "baz"}}' \
81+
--additional-run-fields '{"custom-fields": {"---f-124": "test"}, "system-fields"{}}' \
8082
create-and-populate-testset
8183
```
8284

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"
@@ -89,9 +93,11 @@
8993
(let [parsed-json (json/parse-stream (reader (:config-path options)) true)
9094
new-additional-test-fields (parse-additional-fields (json/generate-string (:additional-test-fields parsed-json)))
9195
new-additional-testset-fields (parse-additional-fields (json/generate-string (:additional-testset-fields parsed-json)))
96+
new-additional-run-fields (parse-additional-fields (json/generate-string (:additional-run-fields parsed-json)))
9297
new-parsed-json (merge parsed-json
9398
(when (:additional-testset-fields parsed-json) {:additional-testset-fields new-additional-testset-fields})
9499
(when (:additional-test-fields parsed-json) {:additional-test-fields new-additional-test-fields})
100+
(when (:additional-run-fields parsed-json) {:additional-run-fields new-additional-run-fields})
95101
(when (:pt-test-name parsed-json) {:pt-test-name (read-query (:pt-test-name parsed-json))})
96102
(when (:pt-test-step-name parsed-json) {:pt-test-step-name (read-query (:pt-test-step-name parsed-json))}))]
97103
new-parsed-json))

src/practitest_firecracker/practitest.clj

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

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

492499
(defn find-sf-testset [client [project-id display-action-logs] options testset-name]
493500
(let [testset (ll-find-testset client [project-id display-action-logs] testset-name)]

0 commit comments

Comments
 (0)