jenkinsci/hpe-application-automation-tools-plugin

View on GitHub
src/main/resources/com/microfocus/application/automation/tools/octane/actions/UFTTestDetectionBuildAction/index.jelly

Summary

Maintainability
Test Coverage
<?jelly escape-by-default='true'?>
<!--
 ~ Certain versions of software accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company.
 ~ This software was acquired by Micro Focus on September 1, 2017, and is now offered by OpenText.
 ~ Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.
 ~ __________________________________________________________________
 ~ MIT License
 ~
 ~ Copyright 2012-2024 Open Text
 ~
 ~ The only warranties for products and services of Open Text and
 ~ its affiliates and licensors ("Open Text") are as may be set forth
 ~ in the express warranty statements accompanying such products and services.
 ~ Nothing herein should be construed as constituting an additional warranty.
 ~ Open Text shall not be liable for technical or editorial errors or
 ~ omissions contained herein. The information contained herein is subject
 ~ to change without notice.
 ~
 ~ Except as specifically indicated otherwise, this document contains
 ~ confidential information and a valid license is required for possession,
 ~ use or copying. If this work is provided to the U.S. Government,
 ~ consistent with FAR 12.211 and 12.212, Commercial Computer Software,
 ~ Computer Software Documentation, and Technical Data for Commercial Items are
 ~ licensed to the U.S. Government under vendor's standard commercial license.
 ~
 ~ Unless required by applicable law or agreed to in writing, software
 ~ distributed under the License is distributed on an "AS IS" BASIS,
 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 ~ See the License for the specific language governing permissions and
 ~ limitations under the License.
 ~ ___________________________________________________________________
  -->

<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form" xmlns:i="jelly:fmt" xmlns:p="/lib/hudson/project" xmlns:s="/lib/samples">
  <l:layout title="ALM Octane UFT Tests Discovery Report">
    <style type="text/css">

    .myTable {
        empty-cells: show;
        border: 1px solid #cbcbcb;
        border-collapse: collapse;
        border-spacing: 0;
    }

    .myTable thead {
        background-color: #ffedb3;
        text-align: left;
        vertical-align: bottom;
    }

    .myTable th{
        color: #555753;
    }

    .myTable caption{
        font-weight: bold;
        padding-bottom: 10px;
    }

    .myTable td, .myTable th {
        border-left: 1px solid #cbcbcb;
        border-width: 0 0 0 1px;
        margin: 0;
        text-align: left;
        padding: 8px;
    }


    .myTable tbody tr:nth-child(even) {
        background-color: #fff9e6;
    }

    .firstColumn{
        min-width:400px;
    }


    </style>

    <st:include it="${it.build}" page="sidepanel.jelly" />
    <l:main-panel>
       <p><h1><u>ALM Octane UFT Tests Discovery Report</u></h1></p>
       <br/>
       <br/>
        <p>

            <j:if test="${it.hasNewTests}">
                New tests : ${it.results.newTests.size()}
                <br/>
                <br/>
            </j:if>
            <j:if test="${it.hasDeletedTests}">
                Deleted tests :  ${it.results.deletedTests.size()}
                <br/>
                <br/>
            </j:if>
            <j:if test="${it.hasUpdatedTests}">
                Updated tests :  ${it.results.updatedTests.size()}
                <br/>
                <br/>
            </j:if>
            <j:if test="${it.hasNewScmResources}">
                New data tables : ${it.results.newScmResourceFiles.size()}
                <br/>
                <br/>
            </j:if>
            <j:if test="${it.hasDeletedScmResources}">
                Deleted data tables : ${it.results.deletedScmResourceFiles.size()}
                <br/>
                <br/>
            </j:if>
            <j:if test="${it.hasUpdatedScmResources}">
                Moved data tables : ${it.results.updatedScmResourceFiles.size()}
                <br/>
                <br/>
            </j:if>
            <j:if test="${it.hasDeletedFolders}">
                Deleted folders : ${it.results.deletedFolders.size()}
                <br/>
                <br/>
            </j:if>

         </p>
       <p>
       <!--
          ~ [JENKINS-64639]: This table is only for drawing information.
          -->
       <table class = "myTable" frame="vsides above bottom" >
        <caption>Tests</caption>
        <thead>

         <tr>
             <th class = "firstColumn">Test package</th>
             <th>Test name</th>
             <th>Status</th>
             <th>Description</th>
         </tr>
         </thead>

         <tbody>
          <j:forEach var="s" items="${it.results.allTests}">
                <tr>
                    <td >${s.package}</td>
                    <td >${s.name}</td>
                    <td >${s.octaneStatus}</td>
                    <td ><j:if test="${s.isMoved}">moved from ${s.oldPackage}\${s.oldName} </j:if></td>
                </tr>
          </j:forEach>

          </tbody>
       </table>
       </p>

       <br/><br/>
       <p>
              <table class = "myTable" frame="vsides above bottom" >
               <caption>Data tables</caption>
               <thead>
                <tr>
                    <th class = "firstColumn">Path</th>
                    <th>Status</th>
                    <th>Description</th>
                </tr>
                </thead>

                <tbody>
                    <j:forEach var="s" items="${it.results.allScmResourceFiles}">
                        <tr>
                            <td >${s.relativePath}</td>
                            <td >${s.octaneStatus}</td>
                            <td ><j:if test="${s.isMoved}">moved from ${s.oldRelativePath}</j:if> </td>
                        </tr>
                    </j:forEach>
                 </tbody>
              </table>
              </p>

        <br/><br/>


       <p>
              <table class = "myTable" frame="vsides above bottom" >
               <caption>Deleted Folders</caption>
               <thead>
                <tr>
                    <th class = "firstColumn">Path</th>
                </tr>
                </thead>

                <tbody>
                  <j:forEach var="s" items="${it.results.deletedFolders}">
                      <tr>
                          <td >${s}</td>

                      </tr>
                  </j:forEach>

                 </tbody>
              </table>
         </p>

        <br/><br/>
        <j:if test="${it.hasQuotedPaths}">
                        <b>NOTE</b>: This run may not have discovered all updated tests.
                        <br/>It seems that the changes in this build included filenames with Unicode characters, which Git did not list correctly.
                        <br/>To make sure Git can properly list such file names, configure Git as follows : git config --global core.quotepath false
                        <br/>To discover the updated tests that were missed in this run and send them to ALM Octane, run this job manually with the "Full sync" parameter selected.
                    </j:if>

        <br/><br/><br/>

        This report contains items that were discovered in SCM repository. Final list of  dispatched items can be found <a href="../../ws/_Final_Detection_Results/final_detection_result_build_${it.build.id}.json">here</a> after dispatching.


    </l:main-panel>

  </l:layout>
</j:jelly>