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  }