Package hudson.plugins.scm_sync_configuration.data

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

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.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 CurrentVersionCompatibilityTest extends ScmSyncConfigurationPluginBaseTest {

  public CurrentVersionCompatibilityTest() {
    super(new ScmUnderTestSubversion());
  }

  protected String getHudsonRootBaseTemplate() {
    // Use default template directory...
    return super.getHudsonRootBaseTemplate();
  }
 
  @Test
  public void shouldCurrentVersionPluginConfigurationFileLoadCorrectly() throws Throwable {
    ScmSyncConfigurationPlugin plugin = ScmSyncConfigurationPlugin.getInstance();
    assertThat(plugin.getSCM(), is(notNullValue()));
    assertThat(plugin.getSCM().getId(), is(equalTo(ScmSyncSubversionSCM.class.getName())));
  }
 
  @Test
  public void shouldCurrentVersionPluginConfigurationMigrationBeIdemPotent() 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)));
  }
}
TOP

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

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.