From 6f0cc70d7a50ad14733d5758fa01d6c013890ad8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Ma=C4=8Dkay?= Date: Mon, 2 Jul 2018 16:11:14 +0200 Subject: [PATCH] [WFCORE-3897] Add test coverage --- .../NonExistentServerGroupTestCase.java | 80 +++++++++++ .../host-configs/host-nonexistent-group.xml | 134 ++++++++++++++++++ 2 files changed, 214 insertions(+) create mode 100644 testsuite/domain/src/test/java/org/jboss/as/test/integration/domain/NonExistentServerGroupTestCase.java create mode 100644 testsuite/domain/src/test/resources/host-configs/host-nonexistent-group.xml diff --git a/testsuite/domain/src/test/java/org/jboss/as/test/integration/domain/NonExistentServerGroupTestCase.java b/testsuite/domain/src/test/java/org/jboss/as/test/integration/domain/NonExistentServerGroupTestCase.java new file mode 100644 index 00000000000..13b36d71c1a --- /dev/null +++ b/testsuite/domain/src/test/java/org/jboss/as/test/integration/domain/NonExistentServerGroupTestCase.java @@ -0,0 +1,80 @@ +/* + * JBoss, Home of Professional Open Source. + * Copyright 2018, Red Hat, Inc., and individual contributors + * as indicated by the @author tags. See the copyright.txt file in the + * distribution for a full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.jboss.as.test.integration.domain; + +import org.jboss.as.test.integration.domain.management.util.DomainTestSupport; +import org.junit.After; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +/** + * @author Peter Mackay + */ +public class NonExistentServerGroupTestCase { + + private static DomainTestSupport testSupport; + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @After + public void cleanUp() { + if (testSupport != null) { + testSupport.stop(); + } + } + + /** + * Test that the host doesn't start when there are servers assigned to non-existent groups. + */ + @Test + public void testFailureOnBoot() { + DomainTestSupport.Configuration configuration = getDomainConfiguration(); + thrown.expect(RuntimeException.class); + thrown.expectMessage("Could not start container"); + testSupport = DomainTestSupport.createAndStartSupport(configuration); + } + + /** + * Test that the host does start in admin-only mode even with servers assigned to non-existent groups. + */ + @Test + public void testBootAdminOnly() { + DomainTestSupport.Configuration configuration = getDomainConfiguration(); + configuration.getMasterConfiguration().setAdminOnly(true); + testSupport = DomainTestSupport.createAndStartSupport(configuration); + Assert.assertTrue(testSupport.getDomainMasterLifecycleUtil().areServersStarted()); + } + + private static DomainTestSupport.Configuration getDomainConfiguration() { + DomainTestSupport.Configuration configuration = DomainTestSupport.Configuration.create( + NonExistentServerGroupTestCase.class.getSimpleName(), + "domain-configs/domain-minimal.xml", + "host-configs/host-nonexistent-group.xml", + null); + return configuration; + } + +} diff --git a/testsuite/domain/src/test/resources/host-configs/host-nonexistent-group.xml b/testsuite/domain/src/test/resources/host-configs/host-nonexistent-group.xml new file mode 100644 index 00000000000..9dd1e071916 --- /dev/null +++ b/testsuite/domain/src/test/resources/host-configs/host-nonexistent-group.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +