github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/test/groovy/templates/AbapEnvironmentPipelineStageBuild.groovy (about) 1 package templates 2 3 import org.junit.Before 4 import org.junit.Rule 5 import org.junit.Test 6 import org.junit.rules.RuleChain 7 import util.BasePiperTest 8 import util.JenkinsReadYamlRule 9 import util.JenkinsStepRule 10 import util.PipelineWhenException 11 import util.Rules 12 13 import static org.hamcrest.Matchers.* 14 import static org.junit.Assert.assertThat 15 16 class AbapEnvironmentPipelineStageBuildTest extends BasePiperTest { 17 private JenkinsStepRule jsr = new JenkinsStepRule(this) 18 19 @Rule 20 public RuleChain rules = Rules 21 .getCommonRules(this) 22 .around(new JenkinsReadYamlRule(this)) 23 .around(jsr) 24 25 private stepsCalled = [] 26 27 @Before 28 void init() { 29 binding.variables.env.STAGE_NAME = 'Build' 30 31 helper.registerAllowedMethod('piperStageWrapper', [Map.class, Closure.class], {m, body -> 32 assertThat(m.stageName, is('Build')) 33 return body() 34 }) 35 helper.registerAllowedMethod('cloudFoundryCreateServiceKey', [Map.class], {m -> stepsCalled.add('cloudFoundryCreateServiceKey')}) 36 helper.registerAllowedMethod('abapEnvironmentAssemblePackages', [Map.class], {m -> stepsCalled.add('abapEnvironmentAssemblePackages')}) 37 helper.registerAllowedMethod('abapEnvironmentBuild', [Map.class], {m -> stepsCalled.add('abapEnvironmentBuild')}) 38 helper.registerAllowedMethod('abapAddonAssemblyKitRegisterPackages', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitRegisterPackages')}) 39 helper.registerAllowedMethod('abapAddonAssemblyKitReleasePackages', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitReleasePackages')}) 40 helper.registerAllowedMethod('abapEnvironmentAssembleConfirm', [Map.class], {m -> stepsCalled.add('abapEnvironmentAssembleConfirm')}) 41 helper.registerAllowedMethod('abapAddonAssemblyKitCreateTargetVector', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitCreateTargetVector')}) 42 helper.registerAllowedMethod('abapAddonAssemblyKitPublishTargetVector', [Map.class], {m -> stepsCalled.add('abapAddonAssemblyKitPublishTargetVector')}) 43 helper.registerAllowedMethod('abapEnvironmentCreateTag', [Map.class], {m -> stepsCalled.add('abapEnvironmentCreateTag')}) 44 } 45 46 @Test 47 void testAbapEnvironmentRunTestsWithoutHost() { 48 nullScript.commonPipelineEnvironment.configuration.runStage = [ 49 'Build': true, 50 ] 51 jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript) 52 53 assertThat(stepsCalled, hasItems('cloudFoundryCreateServiceKey', 54 'abapEnvironmentAssemblePackages', 55 'abapEnvironmentBuild', 56 'abapAddonAssemblyKitRegisterPackages', 57 'abapAddonAssemblyKitReleasePackages', 58 'abapEnvironmentAssembleConfirm', 59 'abapAddonAssemblyKitCreateTargetVector', 60 'abapAddonAssemblyKitPublishTargetVector')) 61 assertThat(stepsCalled, not(hasItems('abapEnvironmentCreateTag'))) 62 } 63 64 @Test 65 void testAbapEnvironmentRunTestsWithHost() { 66 nullScript.commonPipelineEnvironment.configuration.runStage = [ 67 'Build': true 68 ] 69 jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript, host: 'abc.com', generateTagForAddonComponentVersion: true) 70 71 assertThat(stepsCalled, hasItems('abapEnvironmentAssemblePackages', 72 'abapEnvironmentBuild', 73 'abapAddonAssemblyKitRegisterPackages', 74 'abapAddonAssemblyKitReleasePackages', 75 'abapEnvironmentAssembleConfirm', 76 'abapAddonAssemblyKitCreateTargetVector', 77 'abapAddonAssemblyKitPublishTargetVector', 78 'abapEnvironmentCreateTag')) 79 assertThat(stepsCalled, not(hasItems('cloudFoundryCreateServiceKey'))) 80 } 81 82 @Test 83 void testAbapEnvironmentRunTest4TestBuild() { 84 nullScript.commonPipelineEnvironment.configuration.runStage = [ 85 'Build': true 86 ] 87 jsr.step.abapEnvironmentPipelineStageBuild(script: nullScript, testBuild: true, generateTagForAddonComponentVersion: true) 88 89 assertThat(stepsCalled, hasItems('cloudFoundryCreateServiceKey', 90 'abapEnvironmentAssemblePackages', 91 'abapEnvironmentBuild', 92 'abapAddonAssemblyKitRegisterPackages', 93 'abapAddonAssemblyKitCreateTargetVector')) 94 assertThat(stepsCalled, not(hasItems('abapAddonAssemblyKitReleasePackages', 95 'abapEnvironmentAssembleConfirm', 96 'abapAddonAssemblyKitPublishTargetVector', 97 'abapEnvironmentCreateTag'))) 98 } 99 100 }