github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/pkg/control/controldisplay/templates/nunit3.xml/output.tmpl (about) 1 {{ define "output" }} 2 <test-run testcasecount="{{ .Data.Root.Summary.Status.TotalCount }}" total="{{ .Data.Root.Summary.Status.TotalCount }}" passed="{{ .Data.Root.Summary.Status.PassedCount }}" failed="{{ .Data.Root.Summary.Status.FailedCount }}" skipped="{{ .Data.Root.Summary.Status.Skip }}"> 3 {{ range .Data.Root.Groups }} 4 {{ template "group_template" . }} 5 {{ end }} 6 7 {{ range .Data.Root.ControlRuns -}} 8 {{ template "control_run_template" . -}} 9 {{ end -}} 10 </test-run> 11 {{ end }} 12 13 {{/* sub template for result groups */}} 14 {{ define "group_template" }} 15 <test-suite id="{{ .GroupId }}" name="{{ .Title }}" duration="{{ .Duration | durationInSeconds }}" testcasecount="{{ .Summary.Status.TotalCount }}" total="{{ .Summary.Status.TotalCount }}" passed="{{ .Summary.Status.PassedCount }}" failed="{{ .Summary.Status.FailedCount }}" skipped="{{ .Summary.Status.Skip }}"> 16 {{ range .Groups }} 17 {{ template "group_template" . }} 18 {{ end }} 19 20 {{ range .ControlRuns -}} 21 {{ template "control_run_template" . -}} 22 {{ end -}} 23 </test-suite> 24 {{ end }} 25 26 {{/* sub template for control runs */}} 27 {{ define "control_run_template" }} 28 <test-suite id="{{ .ControlId }}" name="{{ .Control.FullName }}" duration="{{ .Duration | durationInSeconds }}" testcasecount="{{ .Summary.TotalCount }}" total="{{ .Summary.TotalCount }}" passed="{{ .Summary.PassedCount }}" failed="{{ .Summary.FailedCount }}" skipped="{{ .Summary.Skip }}"> 29 {{ range $index,$row := .Rows }} 30 {{ template "control_row_template" dict "idx" $index "row" $row }} 31 {{ end }} 32 </test-suite> 33 {{ end }} 34 35 {{/* sub template for control rows */}} 36 {{ define "control_row_template" }} 37 <test-case id="{{ .row.Control.ShortName }}::{{ .idx }}" name="{{ .row.Control.FullName }}::{{ .idx }}" result="{{ template "statusmap" .row.Status }}"> 38 <properties> 39 <property> 40 <key>steampipe:status</key> 41 <value>{{ .row.Status }}</value> 42 </property> 43 <property> 44 <key>steampipe:reason</key> 45 <value>{{ .row.Reason }}</value> 46 </property> 47 {{ range .row.Dimensions }} 48 <property> 49 <key>steampipe:dimension:{{ .Key }}</key> 50 <value>{{ .Value }}</value> 51 </property> 52 {{ end }} 53 </properties> 54 <reason> 55 <message><![CDATA[{{ .row.Reason }}]]></message> 56 </reason> 57 </test-case> 58 {{ end }} 59 60 {{/* mapping steampipe statuses with NUnit3 status values */}} 61 {{ define "statusmap" }} 62 {{- if eq . "ok" -}} 63 Passed 64 {{- end -}} 65 {{- if eq . "info" -}} 66 Passed 67 {{- end -}} 68 {{- if eq . "error" -}} 69 Failed 70 {{- end -}} 71 {{- if eq . "alarm" -}} 72 Failed 73 {{- end -}} 74 {{- if eq . "skip" -}} 75 Skipped 76 {{- end -}} 77 {{- end -}}