Merge "Add test_run_cvp_stacklight"
diff --git a/tcp_tests/tests/system/test_3rdparty_suites.py b/tcp_tests/tests/system/test_3rdparty_suites.py
index 188d21b..8ca8c06 100644
--- a/tcp_tests/tests/system/test_3rdparty_suites.py
+++ b/tcp_tests/tests/system/test_3rdparty_suites.py
@@ -46,7 +46,7 @@
 
     @pytest.mark.grab_versions
     @pytest.mark.parametrize("_", [settings.ENV_NAME])
-    @pytest.mark.run_stacklight
+    @pytest.mark.run_stacklight_old
     def test_run_stacklight(self, sl_actions, show_step, _):
         """Runner for Stacklight tests
 
diff --git a/tcp_tests/tests/system/test_cvp_pipelines.py b/tcp_tests/tests/system/test_cvp_pipelines.py
index 84deb20..830320d 100644
--- a/tcp_tests/tests/system/test_cvp_pipelines.py
+++ b/tcp_tests/tests/system/test_cvp_pipelines.py
@@ -252,3 +252,77 @@
 
         assert cvp_ha_smoke_result == 'SUCCESS', "{0}\n{1}".format(
             description, '\n'.join(stages))
+
+    @pytest.mark.grab_versions
+    @pytest.mark.parametrize("_", [settings.ENV_NAME])
+    @pytest.mark.run_stacklight
+    def test_run_cvp_stacklight(self, salt_actions, show_step, _):
+        """Runner for Pipeline CVP - Stacklight
+
+        Scenario:
+            1. Get CICD Jenkins access credentials from salt
+            2. Run job cvp-stacklight
+            3. Get passed stages from cvp-stacklight
+            4. Download XML report from the job
+        """
+        salt = salt_actions
+        show_step(1)
+
+        tgt = 'I@docker:client:stack:jenkins and cid01*'
+        jenkins_host = salt.get_single_pillar(
+            tgt=tgt, pillar="jenkins:client:master:host")
+        jenkins_port = salt.get_single_pillar(
+            tgt=tgt, pillar="jenkins:client:master:port")
+        jenkins_url = 'http://{0}:{1}'.format(jenkins_host, jenkins_port)
+        jenkins_user = salt.get_single_pillar(
+            tgt=tgt, pillar="jenkins:client:master:username")
+        jenkins_pass = salt.get_single_pillar(
+            tgt=tgt, pillar="jenkins:client:master:password")
+        jenkins_start_timeout = 60
+        jenkins_build_timeout = 1800
+
+        job_name = 'cvp-stacklight'
+
+        show_step(2)
+        cvp_stacklight_result = run_jenkins_job.run_job(
+            host=jenkins_url,
+            username=jenkins_user,
+            password=jenkins_pass,
+            start_timeout=jenkins_start_timeout,
+            build_timeout=jenkins_build_timeout,
+            verbose=True,
+            job_name=job_name,
+            job_parameters={},
+            job_output_prefix='[cvp-stacklight/{build_number}:platform {time}]'
+        )
+
+        show_step(3)
+        (description, stages) = get_jenkins_job_stages.get_deployment_result(
+            host=jenkins_url,
+            username=jenkins_user,
+            password=jenkins_pass,
+            job_name=job_name,
+            build_number='lastBuild')
+
+        LOG.info(description)
+        LOG.info('\n'.join(stages))
+        LOG.info('Job {0} result: {1}'.format(job_name,
+                                              cvp_stacklight_result))
+        # Download XML report
+        show_step(4)
+        destination_name = os.path.join(settings.LOGS_DIR,
+                                        "stacklight_report.xml")
+        # Do not fail the test case when the job is failed, but
+        # artifact with the XML report is present in the job.
+        try:
+            get_jenkins_job_artifact.download_artifact(
+                host=jenkins_url,
+                username=jenkins_user,
+                password=jenkins_pass,
+                job_name=job_name,
+                build_number='lastBuild',
+                artifact_path='validation_artifacts/cvp-stacklight_report.xml',
+                destination_name=destination_name)
+        except jenkins.NotFoundException:
+            raise jenkins.NotFoundException("{0}\n{1}".format(
+                description, '\n'.join(stages)))