Skip to content

Commit

Permalink
[FIXED JENKINS-17723] add test cases to verify defaulting global sett…
Browse files Browse the repository at this point in the history
…ings providers
  • Loading branch information
imod committed May 5, 2013
1 parent 91f0352 commit ad286c5
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 0 deletions.
28 changes: 28 additions & 0 deletions test/src/test/java/hudson/maven/MavenProjectTest.java
Expand Up @@ -33,6 +33,11 @@
import java.io.File;

import jenkins.model.Jenkins;
import jenkins.mvn.DefaultGlobalSettingsProvider;
import jenkins.mvn.DefaultSettingsProvider;
import jenkins.mvn.FilePathGlobalSettingsProvider;
import jenkins.mvn.FilePathSettingsProvider;
import jenkins.mvn.GlobalMavenConfig;

import org.junit.Assert;
import org.jvnet.hudson.test.Bug;
Expand Down Expand Up @@ -209,4 +214,27 @@ public void testConfigRoundtrip() throws Exception {
assertEquals(r,m.getRunPostStepsIfResult());
}
}


public void testDefaultSettingsProvider() throws Exception {
{
MavenModuleSet m = createMavenProject();

assertNotNull(m);
assertEquals(DefaultSettingsProvider.class, m.getSettings().getClass());
assertEquals(DefaultGlobalSettingsProvider.class, m.getGlobalSettings().getClass());
}

{
GlobalMavenConfig globalMavenConfig = GlobalMavenConfig.get();
assertNotNull("No global Maven Config available", globalMavenConfig);
globalMavenConfig.setSettingsProvider(new FilePathSettingsProvider("/tmp/settigns.xml"));
globalMavenConfig.setGlobalSettingsProvider(new FilePathGlobalSettingsProvider("/tmp/global-settigns.xml"));

MavenModuleSet m = createMavenProject();
assertEquals(FilePathSettingsProvider.class, m.getSettings().getClass());
assertEquals("/tmp/settigns.xml", ((FilePathSettingsProvider)m.getSettings()).getPath());
assertEquals("/tmp/global-settigns.xml", ((FilePathGlobalSettingsProvider)m.getGlobalSettings()).getPath());
}
}
}
33 changes: 33 additions & 0 deletions test/src/test/java/hudson/tasks/MavenTest.java
Expand Up @@ -26,6 +26,11 @@
import hudson.model.Build;
import hudson.model.FreeStyleProject;
import jenkins.model.Jenkins;
import jenkins.mvn.DefaultGlobalSettingsProvider;
import jenkins.mvn.DefaultSettingsProvider;
import jenkins.mvn.FilePathGlobalSettingsProvider;
import jenkins.mvn.FilePathSettingsProvider;
import jenkins.mvn.GlobalMavenConfig;
import hudson.model.JDK;
import hudson.model.ParametersDefinitionProperty;
import hudson.model.Result;
Expand All @@ -47,6 +52,7 @@

import junit.framework.Assert;

import org.apache.maven.settings.building.FileSettingsSource;
import org.jvnet.hudson.test.HudsonTestCase;

import com.gargoylesoftware.htmlunit.html.HtmlForm;
Expand Down Expand Up @@ -196,4 +202,31 @@ public void testSensitiveParameters() throws Exception {
System.out.println(buildLog);
assertFalse(buildLog.contains("-Dpassword=12345"));
}

public void testDefaultSettingsProvider() throws Exception {
{
FreeStyleProject p = createFreeStyleProject();
p.getBuildersList().add(new Maven("a", null, "a.pom", "c=d", "-e", true));

Maven m = p.getBuildersList().get(Maven.class);
assertNotNull(m);
assertEquals(DefaultSettingsProvider.class, m.getSettings().getClass());
assertEquals(DefaultGlobalSettingsProvider.class, m.getGlobalSettings().getClass());
}

{
GlobalMavenConfig globalMavenConfig = GlobalMavenConfig.get();
assertNotNull("No global Maven Config available", globalMavenConfig);
globalMavenConfig.setSettingsProvider(new FilePathSettingsProvider("/tmp/settigns.xml"));
globalMavenConfig.setGlobalSettingsProvider(new FilePathGlobalSettingsProvider("/tmp/global-settigns.xml"));

FreeStyleProject p = createFreeStyleProject();
p.getBuildersList().add(new Maven("b", null, "b.pom", "c=d", "-e", true));

Maven m = p.getBuildersList().get(Maven.class);
assertEquals(FilePathSettingsProvider.class, m.getSettings().getClass());
assertEquals("/tmp/settigns.xml", ((FilePathSettingsProvider)m.getSettings()).getPath());
assertEquals("/tmp/global-settigns.xml", ((FilePathGlobalSettingsProvider)m.getGlobalSettings()).getPath());
}
}
}

0 comments on commit ad286c5

Please sign in to comment.