mirror of
https://github.com/SAP/jenkins-library.git
synced 2025-01-06 04:13:55 +02:00
ae0074b5d3
Add a function for inferring the used build tool based on project layout. This feature must be explicitly enabled for backwards compatibility reasons.
112 lines
4.6 KiB
Groovy
112 lines
4.6 KiB
Groovy
import org.junit.Rule
|
|
import org.junit.Test
|
|
import org.junit.rules.RuleChain
|
|
import util.BasePiperTest
|
|
import util.JenkinsFileExistsRule
|
|
import util.JenkinsReadFileRule
|
|
import util.JenkinsWriteFileRule
|
|
import util.JenkinsReadYamlRule
|
|
import util.Rules
|
|
|
|
import static org.hamcrest.CoreMatchers.is
|
|
import static org.hamcrest.Matchers.hasItem
|
|
import static org.junit.Assert.assertThat
|
|
|
|
import org.junit.After
|
|
|
|
class CommonPipelineEnvironmentTest extends BasePiperTest {
|
|
|
|
private JenkinsWriteFileRule writeFileRule = new JenkinsWriteFileRule(this)
|
|
private JenkinsFileExistsRule fileExistsRule = new JenkinsFileExistsRule(this, [])
|
|
private JenkinsReadFileRule readFileRule = new JenkinsReadFileRule(this, null)
|
|
|
|
@Rule
|
|
public RuleChain rules = Rules
|
|
.getCommonRules(this)
|
|
.around(new JenkinsReadYamlRule(this))
|
|
.around(writeFileRule)
|
|
.around(fileExistsRule)
|
|
.around(readFileRule)
|
|
|
|
@After
|
|
void tearDown() {
|
|
nullScript.metaClass.findFiles = null
|
|
}
|
|
|
|
@Test
|
|
void testCustomValueList() {
|
|
nullScript.commonPipelineEnvironment.setValue('myList', [])
|
|
nullScript.commonPipelineEnvironment.getValue('myList').add('item1')
|
|
nullScript.commonPipelineEnvironment.getValue('myList').add('item2')
|
|
assertThat(nullScript.commonPipelineEnvironment.getValue('myList'), hasItem('item1'))
|
|
assertThat(nullScript.commonPipelineEnvironment.getValue('myList'), hasItem('item2'))
|
|
}
|
|
|
|
@Test
|
|
void testCustomValueMap() {
|
|
nullScript.commonPipelineEnvironment.setValue('myList', [:])
|
|
nullScript.commonPipelineEnvironment.getValue('myList').key1 = 'val1'
|
|
nullScript.commonPipelineEnvironment.getValue('myList').key2 = 'val2'
|
|
assertThat(nullScript.commonPipelineEnvironment.getValue('myList').key1, is('val1'))
|
|
assertThat(nullScript.commonPipelineEnvironment.getValue('myList').key2, is('val2'))
|
|
}
|
|
|
|
@Test
|
|
void testContainereMap() {
|
|
nullScript.commonPipelineEnvironment.setContainerProperty('image', 'myImage')
|
|
assertThat(nullScript.commonPipelineEnvironment.getContainerProperty('image'), is('myImage'))
|
|
}
|
|
|
|
@Test
|
|
void testWritetoDisk() {
|
|
nullScript.commonPipelineEnvironment.artifactVersion = '1.0.0'
|
|
nullScript.commonPipelineEnvironment.originalArtifactVersion = '2.0.0'
|
|
nullScript.commonPipelineEnvironment.setContainerProperty('image', 'myImage')
|
|
nullScript.commonPipelineEnvironment.setValue('custom1', 'customVal1')
|
|
nullScript.commonPipelineEnvironment.setAbapRepositoryNames('[\"value1\",\"value2\"]')
|
|
nullScript.commonPipelineEnvironment.writeToDisk(nullScript)
|
|
|
|
|
|
assertThat(writeFileRule.files['.pipeline/commonPipelineEnvironment/artifactVersion'], is('1.0.0'))
|
|
assertThat(writeFileRule.files['.pipeline/commonPipelineEnvironment/originalArtifactVersion'], is('2.0.0'))
|
|
assertThat(writeFileRule.files['.pipeline/commonPipelineEnvironment/container/image'], is('myImage'))
|
|
assertThat(writeFileRule.files['.pipeline/commonPipelineEnvironment/custom/custom1'], is('customVal1'))
|
|
assertThat(writeFileRule.files['.pipeline/commonPipelineEnvironment/abap/repositoryNames'], is('[\"value1\",\"value2\"]'))
|
|
}
|
|
|
|
@Test
|
|
void readFromDisk() {
|
|
|
|
fileExistsRule.existingFiles.addAll([
|
|
'.pipeline/commonPipelineEnvironment/artifactVersion',
|
|
'.pipeline/commonPipelineEnvironment/originalArtifactVersion',
|
|
'.pipeline/commonPipelineEnvironment/custom/custom1',
|
|
'.pipeline/commonPipelineEnvironment/abap/repositoryNames',
|
|
])
|
|
|
|
nullScript.metaClass.findFiles {
|
|
[
|
|
[
|
|
'getName': {'custom1'},
|
|
'getPath': {'.pipeline/commonPipelineEnvironment/custom'},
|
|
]
|
|
]
|
|
}
|
|
|
|
readFileRule.files.putAll([
|
|
'.pipeline/commonPipelineEnvironment/artifactVersion': '1.0.0',
|
|
'.pipeline/commonPipelineEnvironment/originalArtifactVersion': '2.0.0',
|
|
'.pipeline/commonPipelineEnvironment/custom': 'customVal1',
|
|
'.pipeline/commonPipelineEnvironment/abap/repositoryNames': '[\"value1\",\"value2\"]',
|
|
])
|
|
|
|
nullScript.commonPipelineEnvironment.readFromDisk(nullScript)
|
|
|
|
assertThat(nullScript.commonPipelineEnvironment.artifactVersion, is('1.0.0'))
|
|
assertThat(nullScript.commonPipelineEnvironment.originalArtifactVersion, is('2.0.0'))
|
|
assertThat(nullScript.commonPipelineEnvironment.valueMap['custom1'], is('customVal1'))
|
|
assertThat(nullScript.commonPipelineEnvironment.abapRepositoryNames, is("[\"value1\",\"value2\"]"))
|
|
}
|
|
|
|
}
|