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 -}}