/src/main/resources/com/onresolve/jira/groovy/test/BuiltinScriptTests.groovy
Groovy | 157 lines | 124 code | 22 blank | 11 comment | 1 complexity | 93993433d579f0eb9707afb6d1ed728e MD5 | raw file
- package com.onresolve.jira.groovy.test
-
- import com.atlassian.jira.issue.AttachmentManager
- import com.atlassian.jira.issue.IssueManager
- import com.atlassian.jira.project.ProjectManager
-
- import org.junit.Before
- import org.junit.Test
- import static org.junit.Assert.assertEquals
- import org.codehaus.groovy.control.CompilationFailedException
- import com.onresolve.jira.groovy.canned.CannedScript
- import com.onresolve.jira.groovy.GroovyRunner
- import com.onresolve.jira.groovy.CannedScriptRunner
- import com.onresolve.jira.groovy.PackageScanner
-
- /**
- * User: jechlin2
- * Date: 28-Oct-2010
- * Time: 16:43:49
- */
- class BuiltinScriptTests {
-
- GroovyRunner groovyRunner;
- CannedScriptRunner cannedScriptRunner;
-
- @Before
- public void setUp() throws Exception {
- groovyRunner = new GroovyRunner() {
- @Override
- public ProjectManager getProjectManager() {
- return null;
- }
-
- @Override
- protected IssueManager getIssueManager() {
- return null;
- }
-
- @Override
- protected AttachmentManager getAttachmentManager() {
- return null;
- }
- };
-
- cannedScriptRunner = new CannedScriptRunner() {
- @Override
- public ProjectManager getProjectManager() {
- return null;
- }
-
- @Override
- protected IssueManager getIssueManager() {
- return null;
- }
-
- @Override
- protected AttachmentManager getAttachmentManager() {
- return null;
- }
- };
- }
-
- @Test
- public void testRunCannedScript() throws Exception {
- assertEquals(Collections.EMPTY_MAP, groovyRunner.runCannedScript("com.onresolve.jira.groovy.canned.admin.GetUser", Collections.EMPTY_MAP));
- assertEquals(Collections.EMPTY_MAP, groovyRunner.run("com.onresolve.jira.groovy.canned.admin.GetUser", Collections.EMPTY_MAP));
- }
-
- @Test
- public void testWontCompileScript() throws Exception {
- try {
- assertEquals(Collections.EMPTY_MAP, groovyRunner.runCannedScript("com.onresolve.jira.groovy.canned.admin.WontCompile", Collections.EMPTY_MAP))
- } catch (CompilationFailedException e) {
- println e.getMessage()
- };
- }
-
- @Test
- public void testPackageScanner() throws Exception {
- Set<String> aPackage = PackageScanner.getClassesForPackage("com.onresolve.jira.groovy.canned.workflow.conditions");
- println aPackage
- return
-
- // get classes like this.
- // properties file specifies what won't be included
- String classText = this.getClass().getClassLoader().getResourceAsStream("com/onresolve/jira/groovy/canned/admin/WontCompile40.groovy").text
- // println classText
- GroovyClassLoader gcl = new GroovyClassLoader()
- CannedScript cannedScript = gcl.parseClass(classText).newInstance() as CannedScript
- println cannedScript.getName()
- println cannedScript.getClass().getName()
- return
- println gcl.getLoadedClasses()*.name
-
- println "reloading"
- gcl.setShouldRecompile (true)
- cannedScript = gcl.parseClass(classText).newInstance() as CannedScript
- cannedScript = gcl.parseClass(classText).newInstance() as CannedScript
- while (true) {
- classText = this.getClass().getClassLoader().getResourceAsStream("com/onresolve/jira/groovy/canned/admin/WontCompile.groovy").text
- cannedScript = gcl.parseClass(classText).newInstance() as CannedScript
- println cannedScript.getDescription()
- Thread.sleep (1000)
- }
- }
-
- @Test
- public void testGetCannedScripts() throws Exception {
- println cannedScriptRunner.getCannedScripts()
- // println PackageScanner.getClassesForPackage("com.onresolve.jira.groovy.canned.admin").size()
- }
-
- @Test
- public void testLoadingClassWithDifferentFileName() throws Exception {
- GroovyClassLoader gcl = new GroovyClassLoader(Thread.currentThread().getContextClassLoader())
- gcl.setShouldRecompile(true);
- CannedScript scriptDef = (CannedScript) gcl.loadClass("com.onresolve.jira.groovy.canned.admin.WontCompile313").newInstance();
- println scriptDef.getClass().getName()
- }
-
- @Test
- public void scratch() throws Exception {
- GroovyClassLoader gcl = new GroovyClassLoader(Thread.currentThread().getContextClassLoader())
- gcl.setShouldRecompile(true);
- CannedScript scriptDef = (CannedScript) gcl.loadClass("com.onresolve.jira.groovy.canned.admin.WontCompile313").newInstance();
- println scriptDef.getClass().getName()
- List expectedArgs = scriptDef.getParameters(null)*.'Name'
- List actualArgs = ['ProjectOne', 'admin']
- Map params = [:]
- expectedArgs.eachWithIndex {String s, Integer i ->
- println i
- params.put(s, actualArgs.get(i))
- }
-
- println params
- println scriptDef.getDescription(params, false)
-
- }
-
- @Test
- public void testValidation() throws Exception {
- // run the dovalidation thing
- GroovyClassLoader gcl = new GroovyClassLoader(Thread.currentThread().getContextClassLoader())
- gcl.setShouldRecompile(true);
- CannedScript scriptDef = (CannedScript) gcl.loadClass("com.onresolve.jira.groovy.canned.admin.WontCompile313").newInstance();
- println scriptDef.doValidate(["P": "x"], false)
- }
-
- @Test
- public void testBusted() throws Exception {
- // run the dovalidation thing
- GroovyClassLoader gcl = new GroovyClassLoader(Thread.currentThread().getContextClassLoader())
- gcl.setShouldRecompile(true);
- CannedScript scriptDef = (CannedScript) gcl.loadClass("com.onresolve.jira.groovy.canned.workflow.conditions.TestCondition").newInstance();
- println scriptDef.doValidate(["P": "x"], false)
- }
- }