/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.brooklyn.entity.webapp.jboss;
import org.apache.brooklyn.api.entity.EntitySpec;
import org.apache.brooklyn.core.location.PortRanges;
import org.apache.brooklyn.core.test.entity.TestApplication;
import org.apache.brooklyn.entity.software.base.SoftwareProcess;
import org.apache.brooklyn.entity.webapp.AbstractWebAppFixtureIntegrationTest;
import org.apache.brooklyn.entity.webapp.JavaWebAppSoftwareProcess;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class JBossServersMultiVersionWebAppFixtureIntegrationTest extends AbstractWebAppFixtureIntegrationTest {
@Test(groups = "Integration", dataProvider = "basicEntities")
public void testReportsServiceDownWhenKilled(final SoftwareProcess entity) throws Exception {
super.testReportsServiceDownWhenKilled(entity);
}
@DataProvider(name = "basicEntities")
public Object[][] basicEntities() {
TestApplication jboss6App = newTestApplication();
JBoss6Server jboss6 = jboss6App.createAndManageChild(EntitySpec.create(JBoss6Server.class)
.configure(JBoss6Server.PORT_INCREMENT, PORT_INCREMENT));
TestApplication jboss7App = newTestApplication();
JBoss7Server jboss7 = jboss7App.createAndManageChild(EntitySpec.create(JBoss7Server.class)
.configure(JBoss7Server.HTTP_PORT, PortRanges.fromString(DEFAULT_HTTP_PORT)));
return new JavaWebAppSoftwareProcess[][] {
new JavaWebAppSoftwareProcess[] {jboss6},
new JavaWebAppSoftwareProcess[] {jboss7}
};
}
// to be able to test on this class in Eclipse IDE
@Test(groups = "Integration", dataProvider = "basicEntities")
public void canStartAndStop(final SoftwareProcess entity) {
super.canStartAndStop(entity);
}
// @Override
// // TODO override parent and add seam-booking-as{6,7}
// @DataProvider(name = "entitiesWithWarAndURL")
// public Object[][] entitiesWithWar() {
// List<Object[]> result = Lists.newArrayList();
//
// for (Object[] entity : basicEntities()) {
// result.add(new Object[] {
// entity[0],
// "hello-world.war",
// "hello-world/",
// "" // no sub-page path
// });
// }
//
// TestApplication tomcatApp = newTestApplication();
// TomcatServer tomcat = tomcatApp.createAndManageChild(EntitySpec.create(TomcatServer.class)
// .configure(TomcatServer.HTTP_PORT, PortRanges.fromString(DEFAULT_HTTP_PORT)));
// result.add(new Object[] {
// tomcat,
// "swf-booking-mvc.war",
// "swf-booking-mvc/",
// "spring/intro",
// });
// // FIXME seam-booking does not work
//// [ new JBoss6ServerImpl(parent:application, portIncrement:PORT_INCREMENT),
//// "seam-booking-as6.war",
//// "seam-booking-as6/",
//// ],
//// [ new JBoss7ServerImpl(parent:application, httpPort:DEFAULT_HTTP_PORT),
//// "seam-booking-as7.war",
//// "seam-booking-as7/",
//// ],
//
// return result.toArray(new Object[][] {});
// }
public static void main(String ...args) throws Exception {
JBossServersMultiVersionWebAppFixtureIntegrationTest t = new JBossServersMultiVersionWebAppFixtureIntegrationTest();
t.setUp();
t.testReportsServiceDownWhenKilled((SoftwareProcess) t.basicEntities()[0][0]);
t.shutdownApp();
t.shutdownMgmt();
}
}