Hi there,

I'd like to reinstall an old version of a particular plugin in my current 
Unit Tests, then I can test the behaviour of my plugin with different 
versions of some dependent plugins.

If I didn't explain myself correctly, this is how far I went:

*pom.xml*

...
<dependency>

  <groupId>org.jenkins-ci.plugins</groupId>
  <artifactId>groovy</artifactId>
  <version>2.0</version>
  <scope>test</scope>
</dependency>

...

*Unit Test:*


// this is just using the WithPlugin annotation based on the groovy version 1.30
@WithPlugin("groovy.hpi")
@Test public void testJobWithSystemGroovy1() throws Exception {
    FreeStyleProject project = j.createFreeStyleProject("SystemWithSandbox");
    project.getBuildersList().add(new hudson.plugins.groovy.SystemGroovy(new 
StringScriptSource("println 'hi'"),null,null));
    assertTrue(checker.executeCheck(project));
}


// This is just using the pom dependencies: groovy plugin version 2.0
@Test public void testJobWithSystemGroovy2() throws Exception {
    FreeStyleProject project = j.createFreeStyleProject("SystemWithSandbox");
    project.getBuildersList().add(new hudson.plugins.groovy.SystemGroovy(new 
StringScriptSource("println 'hi'"),null,null));
    assertTrue(checker.executeCheck(project));
}




*Then the executeCheck method *

public boolean executeCheck(Item item) {
    boolean found = false;
    PluginWrapper plugin = 
Jenkins.getInstance().pluginManager.getPlugin("groovy");
    if (plugin==null) {
        LOG.log(Level.FINE, "Plugin Groovy isn't installed");
    } else {
        if (plugin.getVersionNumber().isNewerThan(new 
hudson.util.VersionNumber("1.30"))) {
          ....
}



Unfortunately, WithPlugin doesn't work as I expect since the JenkinsRule 
takes the pom dependency rather than reinstalling the local one which it's 
stored under: ./src/test/resources/plugins/groovy.hpi

Any ideas how I can have the same plugin but in different versions while 
running the Unit Tests with the TestHarness framework?

Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/1e4a7d00-e82a-488e-a980-d9d1c1ba5d2b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to