1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/test/groovy/util/BasePiperTest.groovy
Oliver Nocon f8e5733486 speed up tests
* use new base class for testing
* initialize jenkins unit test framework only once for all test classes
* minor test cleanups
2018-06-06 11:19:19 +02:00

57 lines
1.6 KiB
Groovy

#!groovy
package util
import com.lesfurets.jenkins.unit.BasePipelineTest
import com.sap.piper.GitUtils
import com.sap.piper.Utils
import org.junit.Before
import org.junit.runner.RunWith
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.test.context.ContextConfiguration
import org.springframework.test.context.TestExecutionListeners
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner
@RunWith(SpringJUnit4ClassRunner)
@ContextConfiguration(classes = [BasePiperTestContext.class])
@TestExecutionListeners(listeners = [LibraryLoadingTestExecutionListener.class], mergeMode = TestExecutionListeners.MergeMode.MERGE_WITH_DEFAULTS)
abstract class BasePiperTest extends BasePipelineTest {
@Autowired
MockHelper mockHelper
@Autowired
Script nullScript
@Autowired
GitUtils gitUtils
@Autowired
Utils utils
@Override
@Before
void setUp() throws Exception {
helper = LibraryLoadingTestExecutionListener.singletonInstance
if(!isHelperInitialized()) {
super.setScriptRoots('.', 'vars')
super.setUp()
}
}
boolean isHelperInitialized() {
try {
helper.loadScript('dummy.groovy')
} catch (Exception e) {
if (e.getMessage().startsWith('GroovyScriptEngine is not initialized:'))
return false
}
return true
}
@Deprecated
void prepareObjectInterceptors(Object object) {
LibraryLoadingTestExecutionListener.prepareObjectInterceptors(object)
}
}