package hudson.plugins.emailext;
import org.jenkinsci.lib.configprovider.AbstractConfigProviderImpl;
import org.jenkinsci.lib.configprovider.ConfigProvider;
import org.jenkinsci.plugins.configfiles.GlobalConfigFiles;
import org.jenkinsci.plugins.configfiles.custom.CustomConfig;
import org.jenkinsci.plugins.configfiles.groovy.GroovyScript;
import org.jenkinsci.plugins.configfiles.json.JsonConfig;
import org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig;
import org.jenkinsci.plugins.configfiles.xml.XmlConfig;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.jvnet.hudson.test.JenkinsRule;
import org.jvnet.hudson.test.recipes.LocalData;
public class ConfigFileMigrationTest {
@Rule
public JenkinsRule j = new JenkinsRule();
@Test
@LocalData
public void testMigrateOldData() {
for (ConfigProvider cp : ConfigProvider.all()) {
// as all the config files have been moved to global config,
// all providers must not hold any files any more
AbstractConfigProviderImpl acp = (AbstractConfigProviderImpl) cp;
Assert.assertTrue("configs for " + acp.getProviderId() + " should be empty", acp.getConfigs().isEmpty());
}
Assert.assertEquals(1, getProvider(JellyTemplateConfig.JellyTemplateConfigProvider.class).getAllConfigs().size());
Assert.assertEquals(1, GlobalConfigFiles.get().getConfigs().size());
}
private <T> T getProvider(Class<T> providerClass) {
return j.getInstance().getExtensionList(providerClass).get(providerClass);
}
}