package org.jboss.loom;
import java.io.File;
import java.io.IOException;
import java.net.UnknownHostException;
import org.apache.commons.io.FileUtils;
import org.jboss.arquillian.container.test.api.RunAsClient;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.as.controller.client.ModelControllerClient;
import org.jboss.loom.categories.AS;
import org.jboss.loom.categories.EAP;
import org.jboss.loom.conf.AS7Config;
import org.jboss.loom.conf.Configuration;
import org.jboss.loom.conf.ConfigurationValidator;
import org.jboss.loom.ex.MigrationException;
import org.jboss.loom.utils.as7.AS7CliUtils;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
/**
*
* @author Ondrej Zizka, ozizka at redhat.com
*/
@RunWith(Arquillian.class)
public class ArqTest {
/**
* Test of doMigration method, of class MigratorEngine.
*/
@Test @Category( AS.class )
@RunAsClient
@Ignore
public void test_AS_510_all( /*@ArquillianResource ManagementClient client*/ ) throws Exception {
Configuration conf = TestAppConfig.createTestConfig_AS_510_all();
AS7Config as7Config = conf.getGlobal().getAS7Config();
// Set the Mgmt host & port from the client;
//as7Config.setHost( client.getMgmtAddress() );
//as7Config.setManagementPort( client.getMgmtPort() );
//ModelControllerClient as7client = client.getControllerClient();
/*
This fails for some reason:
java.lang.RuntimeException: Provider for type class org.jboss.as.arquillian.container.ManagementClient returned a null value: org.jboss.as.arquillian.container.ManagementClientProvider@4aee4b87
at org.jboss.arquillian.test.impl.enricher.resource.ArquillianResourceTestEnricher.lookup(ArquillianResourceTestEnricher.java:115)
at org.jboss.arquillian.test.impl.enricher.resource.ArquillianResourceTestEnricher.resolve(ArquillianResourceTestEnricher.java:91)
Let's resort to default values.
*/
TestAppConfig.updateAS7ConfAsPerServerMgmtInfo( as7Config );
TestUtils.announceMigration( conf );
ConfigurationValidator.validate( conf );
MigrationEngine migrator = new MigrationEngine(conf);
migrator.doMigration();
}
private void runEap520( String profile ) throws Exception {
Configuration conf = TestAppConfig.createTestConfig_EAP_520(profile);
TestAppConfig.updateAS7ConfAsPerServerMgmtInfo( conf.getGlobal().getAS7Config() );
TestUtils.copyMgmtUsersFile( conf.getGlobal().getAS7Config() );
TestUtils.announceMigration( conf );
ConfigurationValidator.validate( conf );
MigrationEngine migrator = new MigrationEngine(conf);
migrator.doMigration();
}
/**
* EAP 5.2.0 production.
*/
@Test @Category( EAP.class )
@RunAsClient
public void test_EAP_520_production( ) throws Exception {
runEap520("production");
}
/**
* EAP 5.2.0 all.
*/
@Test @Category( EAP.class )
@RunAsClient
public void test_EAP_520_all( ) throws Exception {
runEap520("all");
}
/**
* EAP 5.2.0 default.
*/
@Test @Category( EAP.class )
@RunAsClient
public void test_EAP_520_default( ) throws Exception {
runEap520("default");
}
/**
* EAP 5.2.0 standard.
*/
@Test @Category( EAP.class )
@RunAsClient
public void test_EAP_520_standard( ) throws Exception {
runEap520("standard");
}
/**
* EAP 5.2.0 web.
*/
@Test @Category( EAP.class )
@RunAsClient
public void test_EAP_520_web( ) throws Exception {
runEap520("web");
}
/**
* EAP 5.2.0, dry run.
*/
@Test @Category( EAP.class )
@RunAsClient
public void testDryRun_EAP_520_production( ) throws Exception {
Configuration conf = TestAppConfig.createTestConfig_EAP_520("production");
conf.getGlobal().setDryRun( true );
TestAppConfig.updateAS7ConfAsPerServerMgmtInfo( conf.getGlobal().getAS7Config() );
TestUtils.announceMigration( conf );
ConfigurationValidator.validate( conf );
MigrationEngine migrator = new MigrationEngine(conf);
migrator.doMigration();
}
/**
* EAP 5.2.0, with JBOSS_HOME (which should be ignored) set.
*/
@Test @Category( EAP.class )
@RunAsClient
@Ignore("JBOSS_HOME is an env var, not sys prop.")
public void testJBOSS_HOME() throws Exception {
Configuration conf = TestAppConfig.createTestConfig_EAP_520("production");
System.setProperty("JBOSS_HOME", "/foo/bar");
TestAppConfig.updateAS7ConfAsPerServerMgmtInfo( conf.getGlobal().getAS7Config() );
TestUtils.announceMigration( conf );
ConfigurationValidator.validate( conf );
MigrationEngine migrator = new MigrationEngine(conf);
migrator.doMigration();
}
}// class