From 6041f3cc480588f493a67f42acfa68f277711d3e Mon Sep 17 00:00:00 2001 From: Prudhvi Godithi Date: Mon, 29 Jul 2024 17:50:17 -0700 Subject: [PATCH] Update the component build result for Not Available scenario Signed-off-by: Prudhvi Godithi --- .../TestPublishIntegTestResults.groovy | 46 +++++++++++++++++++ vars/publishIntegTestResults.groovy | 2 +- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/tests/jenkins/TestPublishIntegTestResults.groovy b/tests/jenkins/TestPublishIntegTestResults.groovy index a21ac6df..7e39675a 100644 --- a/tests/jenkins/TestPublishIntegTestResults.groovy +++ b/tests/jenkins/TestPublishIntegTestResults.groovy @@ -208,6 +208,52 @@ class TestPublishIntegTestResults extends BuildPipelineTest { assert parsedResult == expectedJson } +@Test + void testComponentResultWithSecurityFail() { + def withSecurity = 'fail' + def withoutSecurity = 'pass' + def componentResult = (withSecurity == 'fail' || withoutSecurity == 'fail' || withSecurity == 'Not Available' || withoutSecurity == 'Not Available') ? 'failed' : 'passed' + + assert componentResult == 'failed' + } + + @Test + void testComponentResultWithoutSecurityFail() { + def withSecurity = 'pass' + def withoutSecurity = 'fail' + def componentResult = (withSecurity == 'fail' || withoutSecurity == 'fail' || withSecurity == 'Not Available' || withoutSecurity == 'Not Available') ? 'failed' : 'passed' + + assert componentResult == 'failed' + } + + @Test + void testComponentResultWithSecurityNotAvailable() { + def withSecurity = 'Not Available' + def withoutSecurity = 'pass' + def componentResult = (withSecurity == 'fail' || withoutSecurity == 'fail' || withSecurity == 'Not Available' || withoutSecurity == 'Not Available') ? 'failed' : 'passed' + + assert componentResult == 'failed' + } + + @Test + void testComponentResultWithoutSecurityNotAvailable() { + def withSecurity = 'pass' + def withoutSecurity = 'Not Available' + def componentResult = (withSecurity == 'fail' || withoutSecurity == 'fail' || withSecurity == 'Not Available' || withoutSecurity == 'Not Available') ? 'failed' : 'passed' + + assert componentResult == 'failed' + } + + @Test + void testComponentResultBothPass() { + def withSecurity = 'pass' + def withoutSecurity = 'pass' + def componentResult = (withSecurity == 'fail' || withoutSecurity == 'fail' || withSecurity == 'Not Available' || withoutSecurity == 'Not Available') ? 'failed' : 'passed' + + assert componentResult == 'passed' + } + + @Test void testCallWithMissingArgs() { def script = loadScript('vars/publishIntegTestResults.groovy') diff --git a/vars/publishIntegTestResults.groovy b/vars/publishIntegTestResults.groovy index 290f95f8..55884682 100644 --- a/vars/publishIntegTestResults.groovy +++ b/vars/publishIntegTestResults.groovy @@ -64,7 +64,7 @@ void call(Map args = [:]) { def componentCategory = manifest.name def withSecurity = component.configs.find { it.name == 'with-security' }?.status?.toLowerCase() ?: 'unknown' def withoutSecurity = component.configs.find { it.name == 'without-security' }?.status?.toLowerCase() ?: 'unknown' - def componentResult = (withSecurity == 'fail' || withoutSecurity == 'fail') ? 'failed' : 'passed' + def componentResult = (withSecurity == 'fail' || withoutSecurity == 'fail' || withSecurity == 'Not Available' || withoutSecurity == 'Not Available') ? 'failed' : 'passed' def withSecurityYml = component.configs.find { it.name == 'with-security' }?.yml ?: '' def withSecurityStdout = component.configs.find { it.name == 'with-security' }?.cluster_stdout ?: [] def withSecurityStderr = component.configs.find { it.name == 'with-security' }?.cluster_stderr ?: []