Package hudson.plugins.scm_sync_configuration.data

Source Code of hudson.plugins.scm_sync_configuration.data.V0_0_2CompatibilityTest

package hudson.plugins.scm_sync_configuration.data;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assert.assertThat;
import static org.mockito.Matchers.notNull;
import static org.powermock.api.mockito.PowerMockito.doNothing;
import static org.powermock.api.mockito.PowerMockito.mockStatic;
import hudson.XmlFile;
import hudson.model.Saveable;
import hudson.model.listeners.SaveableListener;
import hudson.plugins.scm_sync_configuration.ScmSyncConfigurationPlugin;
import hudson.plugins.scm_sync_configuration.scms.SCM;
import hudson.plugins.scm_sync_configuration.scms.ScmSyncNoSCM;
import hudson.plugins.scm_sync_configuration.scms.ScmSyncSubversionSCM;
import hudson.plugins.scm_sync_configuration.util.ScmSyncConfigurationPluginBaseTest;
import hudson.plugins.test.utils.PluginUtil;
import hudson.plugins.test.utils.scms.ScmUnderTestSubversion;

import org.junit.Test;
import org.powermock.core.classloader.annotations.PrepareForTest;

@PrepareForTest(SaveableListener.class)
public class V0_0_2CompatibilityTest extends ScmSyncConfigurationPluginBaseTest {
 
  public V0_0_2CompatibilityTest() {
    super(new ScmUnderTestSubversion());
  }

  protected String getHudsonRootBaseTemplate() {
    if("should0_0_2_pluginConfigurationFileShouldLoadCorrectly".equals(testName.getMethodName())){
      return "hudsonRoot0.0.2BaseTemplate/";
    } else if("should0_0_2_pluginConfigurationMigrationBeIdemPotent".equals(testName.getMethodName())){
      return "hudsonRoot0.0.2BaseTemplate/";
    } else if("should0_0_2_pluginEmptyConfigurationFileShouldLoadCorrectly".equals(testName.getMethodName())){
      return "hudsonRoot0.0.2WithEmptyConfTemplate/";
    } else {
      throw new IllegalArgumentException("Unsupported test name : "+testName);
    }
  }
 
  @Test
  // JENKINS-8453 related
  public void should0_0_2_pluginConfigurationFileShouldLoadCorrectly() throws Throwable {
    ScmSyncConfigurationPlugin plugin = ScmSyncConfigurationPlugin.getInstance();
    assertThat(plugin.getSCM(), is(notNullValue()));
    assertThat(plugin.getSCM().getId(), is(equalTo(ScmSyncSubversionSCM.class.getName())));
    assertThat(plugin.getScmRepositoryUrl(), is(equalTo("scm:svn:https://myrepo/synchronizedDirectory/")));
  }
 
  @Test
  public void should0_0_2_pluginConfigurationMigrationBeIdemPotent() throws Throwable {
    ScmSyncConfigurationPlugin plugin = ScmSyncConfigurationPlugin.getInstance();
   
    // Plugin has been loaded : let's record scm & repository url
    String expectedRepositoryUrl = plugin.getScmRepositoryUrl();
    SCM expectedScm = plugin.getSCM();
   
    // Persisting data
    mockStatic(SaveableListener.class);
    doNothing().when(SaveableListener.class); SaveableListener.fireOnChange((Saveable)notNull(), (XmlFile)notNull());
    plugin.save();
   
    // Then reloading it...
    PluginUtil.loadPlugin(plugin);
   
    // Verifying repositoryUrl & SCM
    assertThat(plugin.getSCM().getId(), is(equalTo(expectedScm.getId())));
    assertThat(plugin.getScmRepositoryUrl(), is(equalTo(expectedRepositoryUrl)));
  }
 
  @Test
  public void should0_0_2_pluginEmptyConfigurationFileShouldLoadCorrectly() throws Throwable {
    ScmSyncConfigurationPlugin plugin = ScmSyncConfigurationPlugin.getInstance();
    assertThat(plugin.getSCM(), is(notNullValue()));
    assertThat(plugin.getSCM().getId(), is(equalTo(ScmSyncNoSCM.class.getName())));
  }
}
TOP

Related Classes of hudson.plugins.scm_sync_configuration.data.V0_0_2CompatibilityTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.