Issue #23507 config-api uses junit5 instead of junit4 - some tests were bit extended, some were deleted
diff --git a/nucleus/admin/config-api/pom.xml b/nucleus/admin/config-api/pom.xml index 52cf426..25383db 100644 --- a/nucleus/admin/config-api/pom.xml +++ b/nucleus/admin/config-api/pom.xml
@@ -95,6 +95,10 @@ <scope>test</scope> </dependency> <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-engine</artifactId> + </dependency> + <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> </dependency>
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/config/modularity/tests/BasicModularityTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/config/modularity/tests/BasicModularityTest.java index 7f2be56..33f079c 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/config/modularity/tests/BasicModularityTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/config/modularity/tests/BasicModularityTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -23,17 +24,21 @@ import com.sun.enterprise.config.serverbeans.Config; import com.sun.enterprise.config.serverbeans.Domain; import com.sun.enterprise.configapi.tests.ConfigApiTest; -import org.glassfish.hk2.api.ServiceLocator; -import org.glassfish.hk2.runlevel.RunLevelController; -import org.glassfish.server.ServerEnvironmentImpl; -import org.glassfish.tests.utils.Utils; -import org.junit.Test; -import org.jvnet.hk2.config.ConfigBeanProxy; -import org.jvnet.hk2.config.types.Property; import java.util.List; -import static org.junit.Assert.*; +import org.glassfish.api.admin.ServerEnvironment; +import org.glassfish.hk2.api.ServiceLocator; +import org.glassfish.hk2.runlevel.RunLevelController; +import org.glassfish.tests.utils.Utils; +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.ConfigBeanProxy; +import org.jvnet.hk2.config.types.Property; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * Testing Basic Functionality of Config Modularity API @@ -42,7 +47,7 @@ */ public class BasicModularityTest extends ConfigApiTest { - private ServiceLocator habitat = Utils.instance.getHabitat(this); + private final ServiceLocator habitat = Utils.instance.getHabitat(this); ConfigModularityUtils configModularityUtils = habitat.getService(ConfigModularityUtils.class); @@ -56,117 +61,140 @@ // This part passes as the configuration for the class is present in the domain.xml Class clz = configModularityUtils.getClassForFullName(ConfigExtensionZero.class.getName()); - assertNotNull("Cannot get config bean class using the class name", clz); - assertEquals("The mapped class is not the same as the provided class name", ConfigExtensionZero.class.getName(), clz.getName()); + assertNotNull(clz, "Cannot get config bean class using the class name"); + assertEquals(ConfigExtensionZero.class.getName(), clz.getName(), "The mapped class is not the same as the provided class name"); // this part fails as the configuration is not present in domain.xml which was is a regression somewhere clz = configModularityUtils.getClassForFullName(ConfigExtensionTwo.class.getName()); - assertNotNull("Cannot get config bean class using the class name", clz); - assertEquals("The mapped class is not the same as the provided class name", ConfigExtensionTwo.class.getName(), clz.getName()); + assertNotNull(clz, "Cannot get config bean class using the class name"); + assertEquals(ConfigExtensionTwo.class.getName(), clz.getName(), "The mapped class is not the same as the provided class name"); } @Test public void locationTest() { String location = "domain/configs/config[$CURRENT_INSTANCE_CONFIG_NAME]/config-extension-one/property[prop.foo]"; Class owningClass = configModularityUtils.getOwningClassForLocation(location); - assertNotNull("Cannot find owning class for: " + location, owningClass); - assertEquals("Cannot find the right owning class for location", Property.class.getName(), owningClass.getName()); + assertNotNull(owningClass, "Cannot find owning class for: " + location); + assertEquals(Property.class.getName(), owningClass.getName(), "Cannot find the right owning class for location"); } @Test public void owningObjectTest() { String location = "domain/configs/config[$CURRENT_INSTANCE_CONFIG_NAME]/config-extension-one/property[prop.foo]"; ConfigBeanProxy obj = configModularityUtils.getOwningObject(location); - assertNotNull("Cannot find owning object for: " + location, obj); - assertEquals("Getting Owning object for location is not right", "prop.foo.value.custom", ((Property) obj).getValue()); + assertNotNull(obj, "Cannot find owning object for: " + location); + assertEquals("prop.foo.value.custom", ((Property) obj).getValue(), "Getting Owning object for location is not right"); } @Test public void moduleConfigurationXmlParserTest() { List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = configModularityUtils.getDefaultConfigurations(SimpleExtensionTypeOne.class, "admin-"); - assertEquals("Incorrect number of config bean configuration read ", 2, values.size()); + assertEquals(2, values.size(), "Incorrect number of config bean configuration read "); ConfigCustomizationToken token = configModularityUtils.getDefaultConfigurations(SimpleExtensionTypeOne.class, "embedded-").get(0).getCustomizationTokens().get(0); - assertEquals("Customization Token reading broken ", "CUSTOM_TOKEN", token.getName()); - assertEquals("Customization Token reading broken ", "token-default-value", token.getValue()); + assertEquals("CUSTOM_TOKEN", token.getName(), "Customization Token reading broken "); + assertEquals("token-default-value", token.getValue(), "Customization Token reading broken "); } @Test public void serializeConfigBean() { - Config config = habitat.<Config>getService(Config.class, ServerEnvironmentImpl.DEFAULT_INSTANCE_NAME); - ConfigBeanProxy prox = (ConfigBeanProxy) config.getExtensionByType(ConfigExtensionZero.class); + Config config = habitat.<Config>getService(Config.class, ServerEnvironment.DEFAULT_INSTANCE_NAME); + ConfigBeanProxy prox = config.getExtensionByType(ConfigExtensionZero.class); String content = configModularityUtils.serializeConfigBean(prox); - assertEquals("Cannot serialize config beans properly", "<config-extension-zero dummy=\"dummy-value\"></config-extension-zero>", content); + assertEquals("<config-extension-zero dummy=\"dummy-value\"></config-extension-zero>", content, + "Cannot serialize config beans properly"); } @Test public void serializeConfigBeanByType() { String content = configModularityUtils.serializeConfigBeanByType(ConfigExtensionOne.class); - assertEquals("Cannot serialize config beans from type", "<config-extension-one custom-token=\"${CUSTOM_TOKEN}\">\n" + + assertEquals("<config-extension-one custom-token=\"${CUSTOM_TOKEN}\">\n" + " <property name=\"prop.foo\" value=\"prop.foo.value.custom\"></property>\n" + - "</config-extension-one>", content); + "</config-extension-one>", content, "Cannot serialize config beans from type"); } @Test public void testConfigExtensionPatternImpl() { - Config config = habitat.<Config>getService(Config.class, ServerEnvironmentImpl.DEFAULT_INSTANCE_NAME); + Config config = habitat.<Config>getService(Config.class, ServerEnvironment.DEFAULT_INSTANCE_NAME); SimpleConfigExtension simpleConfigExtension = config.getExtensionByType(SimpleConfigExtension.class); SimpleExtensionTypeTwo typeTwo = simpleConfigExtension.getExtensionByType(SimpleExtensionTypeTwo.class); - assertNotNull("cannot get extension using extensionmethod", typeTwo); - assertEquals("Retrieved extension is not from the right type... ", "attribute.two", typeTwo.getAttributeTwo()); + assertNotNull(typeTwo, "cannot get extension using extensionmethod"); + assertEquals("attribute.two", typeTwo.getAttributeTwo(), "Retrieved extension is not from the right type... "); } @Test public void testLoadingAndApplyingModuleConfigurationFile() { - Config config = habitat.<Config>getService(Config.class, ServerEnvironmentImpl.DEFAULT_INSTANCE_NAME); + Config config = habitat.<Config>getService(Config.class, ServerEnvironment.DEFAULT_INSTANCE_NAME); ConfigExtensionTwo ext = config.getExtensionByType(ConfigExtensionTwo.class); - assertEquals("The system property is overridden while it should have not", "user.customized.value", config.getSystemProperty("CUSTOM_TOKEN").getValue()); - assertTrue("Failed to add the extension from module configuration file: ", config.checkIfExtensionExists(ConfigExtensionTwo.class)); + assertNotNull(ext); + assertEquals("user.customized.value", config.getSystemProperty("CUSTOM_TOKEN").getValue(), + "The system property is overridden while it should have not"); + assertTrue(config.checkIfExtensionExists(ConfigExtensionTwo.class), + "Failed to add the extension from module configuration file: "); } @Test public void testHasNoCustomization() { - Config config = habitat.<Config>getService(Config.class, ServerEnvironmentImpl.DEFAULT_INSTANCE_NAME); - assertNull("The @HasNocustomization annotation is broken", config.getExtensionByType(ConfigExtensionThree.class)); + Config config = habitat.<Config>getService(Config.class, ServerEnvironment.DEFAULT_INSTANCE_NAME); + assertNull(config.getExtensionByType(ConfigExtensionThree.class), "The @HasNocustomization annotation is broken"); } @Test public void getCurrentConfigurationForConfigBean() throws Exception { - List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = configModularityUtils.getDefaultConfigurations(SimpleExtensionTypeOne.class, "admin-"); - com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue def = configModularityUtils.getDefaultConfigurations(SimpleExtensionTypeOne.class, "embedded-").get(0); + com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue def = configModularityUtils + .getDefaultConfigurations(SimpleExtensionTypeOne.class, "embedded-").get(0); SimpleExtensionTypeOne simple = configModularityUtils.getCurrentConfigBeanForDefaultValue(def); - assertNotNull("Cannot get config bean of a module based on the default module configuration information", simple); + assertNotNull(simple, + "Cannot get config bean of a module based on the default module configuration information"); } @Test public void testLoadingAdminFile() throws Exception { - List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = configModularityUtils.getDefaultConfigurations(ConfigExtensionTwo.class, "admin"); - assertEquals("Incorrect customization type loaded ", ConfigCustomizationToken.CustomizationType.FILE, values.get(0).getCustomizationTokens().get(0).getCustomizationType()); - assertEquals("Incorrect customization details value ", FileTypeDetails.FileExistCondition.MUST_EXIST, ((FileTypeDetails) values.get(0).getCustomizationTokens().get(0).getTokenTypeDetails()).getExistCondition()); + List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = configModularityUtils + .getDefaultConfigurations(ConfigExtensionTwo.class, "admin"); + assertEquals(ConfigCustomizationToken.CustomizationType.FILE, + values.get(0).getCustomizationTokens().get(0).getCustomizationType(), + "Incorrect customization type loaded "); + assertEquals(FileTypeDetails.FileExistCondition.MUST_EXIST, + ((FileTypeDetails) values.get(0).getCustomizationTokens().get(0).getTokenTypeDetails()).getExistCondition(), + "Incorrect customization details value "); } + @Test public void testLoadingEmbeddedFile() throws Exception { - List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = values = configModularityUtils.getDefaultConfigurations(ConfigExtensionTwo.class, "embedded"); - assertEquals("Incorrect customization type loaded ", ConfigCustomizationToken.CustomizationType.PORT, values.get(0).getCustomizationTokens().get(0).getCustomizationType()); - assertEquals("Incorrect customization details value ", "1000", ((PortTypeDetails) values.get(0).getCustomizationTokens().get(0).getTokenTypeDetails()).getBaseOffset()); - assertEquals("validation expression is returned incorrectly ", "[a-zA-Z0-9]+", values.get(0).getCustomizationTokens().get(0).getValidationExpression()); + List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = configModularityUtils + .getDefaultConfigurations(ConfigExtensionTwo.class, "embedded"); + assertEquals(ConfigCustomizationToken.CustomizationType.PORT, + values.get(0).getCustomizationTokens().get(0).getCustomizationType(), + "Incorrect customization type loaded "); + assertEquals("1000", + ((PortTypeDetails) values.get(0).getCustomizationTokens().get(0).getTokenTypeDetails()).getBaseOffset(), + "Incorrect customization details value "); + assertEquals("[a-zA-Z0-9]+", values.get(0).getCustomizationTokens().get(0).getValidationExpression(), + "validation expression is returned incorrectly "); } + @Test public void testLoadingDefaultFile() throws Exception { - List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = configModularityUtils.getDefaultConfigurations(ConfigExtensionTwo.class, "non-existing-runtime-type"); - assertEquals("validation expression is returned incorrectly ", ".*[0-9]{10}.*", values.get(0).getCustomizationTokens().get(0).getValidationExpression()); + List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = configModularityUtils + .getDefaultConfigurations(ConfigExtensionTwo.class, "non-existing-runtime-type"); + assertEquals(".*[0-9]{10}.*", values.get(0).getCustomizationTokens().get(0).getValidationExpression(), + "validation expression is returned incorrectly "); } + @Test public void tesOnTheFlyConfigurationGenerationMethod() { - List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = configModularityUtils.getDefaultConfigurations(SimpleExtensionThree.class, "non-existing-runtime-type"); - assertEquals("On the fly config generation/reading is broken", "<xml-doc></xml-doc>", values.get(0).getXmlConfiguration()); + List<com.sun.enterprise.config.modularity.customization.ConfigBeanDefaultValue> values = configModularityUtils + .getDefaultConfigurations(SimpleExtensionThree.class, "non-existing-runtime-type"); + assertEquals("<xml-doc></xml-doc>", values.get(0).getXmlConfiguration(), + "On the fly config generation/reading is broken"); } @@ -174,10 +202,10 @@ public void testRanking() { Domain d = habitat.<Domain>getService(Domain.class); RankedConfigBean rankedConfigBean = d.getExtensionByType(RankedConfigBean.class); - assertEquals("invalid current value", "simple-value-zero",rankedConfigBean.getSimpleAttribute()); + assertEquals("simple-value-zero",rankedConfigBean.getSimpleAttribute(), "invalid current value"); ensureRunLevel(4); rankedConfigBean = d.getExtensionByType(RankedConfigBean.class); - assertEquals("invalid current value", "simple-value-one", rankedConfigBean.getSimpleAttribute() ); + assertEquals("simple-value-one", rankedConfigBean.getSimpleAttribute() , "invalid current value"); } //TODO add more tests to cover token processing and i18n support
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/AddPropertyTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/AddPropertyTest.java index 83a2c21..3b2190e 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/AddPropertyTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/AddPropertyTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -17,26 +18,26 @@ package com.sun.enterprise.configapi.tests; import com.sun.enterprise.config.serverbeans.Domain; -import org.jvnet.hk2.config.types.Property; -import static org.junit.Assert.assertTrue; -import org.junit.Test; -import org.jvnet.hk2.config.Changed; + +import java.beans.PropertyChangeEvent; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigBean; -import org.jvnet.hk2.config.ConfigBeanProxy; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.Dom; -import org.jvnet.hk2.config.NotProcessed; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; import org.jvnet.hk2.config.TransactionListener; import org.jvnet.hk2.config.Transactions; import org.jvnet.hk2.config.UnprocessedChangeEvents; +import org.jvnet.hk2.config.types.Property; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyVetoException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * User: Jerome Dochez @@ -45,20 +46,27 @@ */ public class AddPropertyTest extends ConfigApiTest { + private List<PropertyChangeEvent> events; + + @Override public String getFileName() { return "DomainTest"; } - List<PropertyChangeEvent> events = null; @Test public void transactionEvents() throws TransactionFailure { final Domain domain = getHabitat().getService(Domain.class); + assertNotNull(domain); final TransactionListener listener = new TransactionListener() { - public void transactionCommited(List<PropertyChangeEvent> changes) { - events = changes; - } + @Override + public void transactionCommited(List<PropertyChangeEvent> changes) { + events = changes; + } + + + @Override public void unprocessedTransactedEvents(List<UnprocessedChangeEvents> changes) { } }; @@ -68,28 +76,21 @@ try { transactions.addTransactionsListener(listener); - assertTrue(domain!=null); - ConfigSupport.apply(new SingleConfigCode<Domain>() { - - public Object run(Domain domain) throws PropertyVetoException, TransactionFailure { - Property prop = domain.createChild(Property.class); - domain.getProperty().add(prop); - prop.setName("Jerome"); - prop.setValue("was here"); - return prop; - } - }, domain); + SingleConfigCode<Domain> configCode = (SingleConfigCode<Domain>) domain1 -> { + Property prop = domain1.createChild(Property.class); + domain1.getProperty().add(prop); + prop.setName("Jerome"); + prop.setValue("was here"); + return prop; + }; + ConfigSupport.apply(configCode, domain); transactions.waitForDrain(); - assertTrue(events!=null); - logger.fine("Number of events " + events.size()); - assertTrue(events.size()==3); - for (PropertyChangeEvent event : events) { - logger.fine(event.toString()); - } + assertNotNull(events); + assertThat(events, hasSize(3)); - Map<String, String> configChanges = new HashMap<String, String>(); + Map<String, String> configChanges = new HashMap<>(); configChanges.put("name", "julien"); configChanges.put("value", "petit clown"); ConfigBean domainBean = (ConfigBean) Dom.unwrap(domain); @@ -98,28 +99,8 @@ transactions.waitForDrain(); - assertTrue(events!=null); - logger.fine("Number of events " + events.size()); - assertTrue(events.size()==3); - for (PropertyChangeEvent event : events) { - logger.fine(event.toString()); - } - - final UnprocessedChangeEvents unprocessed = - ConfigSupport.sortAndDispatch(events.toArray(new PropertyChangeEvent[0]), new Changed() { - /** - * Notification of a change on a configuration object - * - * @param type type of change : ADD mean the changedInstance was added to the parent - * REMOVE means the changedInstance was removed from the parent, CHANGE means the - * changedInstance has mutated. - * @param changedType type of the configuration object - * @param changedInstance changed instance. - */ - public <T extends ConfigBeanProxy> NotProcessed changed(TYPE type, Class<T> changedType, T changedInstance) { - return new NotProcessed("unimplemented by AddPropertyTest"); - } - }, logger); + assertNotNull(events); + assertThat(events, hasSize(3)); } finally { transactions.removeTransactionsListener(listener); }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ApplicationsTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ApplicationsTest.java index e46b387..fa043b3 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ApplicationsTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ApplicationsTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,14 +17,23 @@ package com.sun.enterprise.configapi.tests; -import org.junit.Test; -import static org.junit.Assert.assertTrue; -import org.glassfish.api.admin.config.ApplicationName; -import org.jvnet.hk2.config.*; -import com.sun.enterprise.config.serverbeans.*; +import com.sun.enterprise.config.serverbeans.Application; +import com.sun.enterprise.config.serverbeans.Applications; import java.util.List; -import java.beans.*; + +import org.glassfish.api.admin.config.ApplicationName; +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.SingleConfigCode; +import org.jvnet.hk2.config.TransactionFailure; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.instanceOf; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * Applications related tests @@ -31,7 +41,7 @@ */ public class ApplicationsTest extends ConfigApiTest { - + @Override public String getFileName() { return "DomainTest"; } @@ -39,48 +49,41 @@ @Test public void appsExistTest() { Applications apps = getHabitat().getService(Applications.class); - assertTrue(apps!=null); + assertNotNull(apps); + assertThat(apps.getApplications(), hasSize(1)); } @Test public void getModulesTest() { Applications apps = getHabitat().getService(Applications.class); List<ApplicationName> modules = apps.getModules(); - for (ApplicationName module : modules) { - logger.fine("Module = " + module.getName()); - } - assertTrue(modules!=null); + assertThat(modules, hasSize(1)); } @Test public void getApplicationTest() { Applications apps = getHabitat().getService(Applications.class); Application app = apps.getApplication("simple"); - assertTrue(app != null); + assertNotNull(app); } /** * Test which is expecting an UnsupportedOperationException since we are * operating on a copy list of the original getModules() list. - * - * @throws TransactionFailure */ - @Test(expected = UnsupportedOperationException.class) - public void removalTest() throws Throwable { - Applications apps = getHabitat().getService(Applications.class); - try { - ConfigSupport.apply(new SingleConfigCode<Applications>() { - public Object run(Applications param) throws PropertyVetoException, TransactionFailure { - List<Application> appList = param.getApplications(); - for (Application application : param.getApplicationsWithSnifferType("web")) { - assertTrue(appList.remove(application)); - } - return null; - } - }, apps); - } catch(TransactionFailure e) { - // good, an exception was thrown, hopfully the right one ! - throw e.getCause(); - } + @Test + public void removalTest() { + final Applications apps = getHabitat().getService(Applications.class); + final SingleConfigCode<Applications> configCode = param -> { + List<Application> appList = param.getApplications(); + for (Application application : param.getApplicationsWithSnifferType("web")) { + assertTrue(appList.remove(application)); + } + return null; + }; + final TransactionFailure failure = assertThrows(TransactionFailure.class, () -> { + ConfigSupport.apply(configCode, apps); + }); + assertThat(failure.getCause(), instanceOf(UnsupportedOperationException.class)); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/AttributeRemovalTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/AttributeRemovalTest.java index 59c5a27..db04480 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/AttributeRemovalTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/AttributeRemovalTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,18 +17,21 @@ package com.sun.enterprise.configapi.tests; -import com.sun.enterprise.config.serverbeans.Server; -import org.junit.Test; -import org.junit.Before; -import org.jvnet.hk2.config.*; -import org.glassfish.tests.utils.Utils; import com.sun.enterprise.config.serverbeans.HttpService; +import com.sun.enterprise.config.serverbeans.Server; import com.sun.enterprise.config.serverbeans.VirtualServer; -import java.beans.PropertyChangeEvent; import java.beans.PropertyVetoException; -import java.util.List; -import java.util.logging.Level; +import org.glassfish.tests.utils.Utils; +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.SingleConfigCode; +import org.jvnet.hk2.config.TransactionFailure; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * User: Jerome Dochez @@ -36,6 +40,7 @@ */ public class AttributeRemovalTest extends ConfigApiTest { + @Override public String getFileName() { return "DomainTest"; } @@ -44,66 +49,45 @@ public void removeAttributeTest() throws TransactionFailure { HttpService httpService = Utils.instance.getHabitat(this).getService(HttpService.class); VirtualServer vs = httpService.getVirtualServerByName("server"); - ConfigSupport.apply(new SingleConfigCode<VirtualServer>() { + SingleConfigCode<VirtualServer> configCodeWebModule = virtualServer -> { + virtualServer.setDefaultWebModule("/context/bar"); + return null; + }; + ConfigSupport.apply(configCodeWebModule, vs); + assertNotNull(vs.getDefaultWebModule()); - public Object run(VirtualServer param) throws PropertyVetoException, TransactionFailure { - param.setDefaultWebModule("/context/bar"); - return null; - } - }, vs); - - // ensure it's here - org.junit.Assert.assertNotNull(vs.getDefaultWebModule()); - - ConfigSupport.apply(new SingleConfigCode<VirtualServer>() { - - public Object run(VirtualServer param) throws PropertyVetoException, TransactionFailure { - param.setDefaultWebModule(null); - return null; - } - }, vs); - - // ensure it's removed - org.junit.Assert.assertNull(vs.getDefaultWebModule()); - } - - @Test(expected=PropertyVetoException.class) - public void readOnlyRemovalTest() throws TransactionFailure , PropertyVetoException{ - Server server = getHabitat().getService(Server.class); - logger.fine("config-ref is " + server.getConfigRef()); - try { - server.setConfigRef(null); - } catch (PropertyVetoException e) { - if (logger.isLoggable(Level.FINE)) - e.printStackTrace(); - throw e; - } + SingleConfigCode<VirtualServer> configCodeNullWebModule = virtualServer -> { + virtualServer.setDefaultWebModule(null); + return null; + }; + ConfigSupport.apply(configCodeNullWebModule, vs); + assertNull(vs.getDefaultWebModule()); } @Test + public void readOnlyRemovalTest(){ + Server server = getHabitat().getService(Server.class); + logger.fine("config-ref is " + server.getConfigRef()); + assertThrows(PropertyVetoException.class, () -> server.setConfigRef(null)); + } + + @Test + @SuppressWarnings("deprecation") public void deprecatedWrite() throws TransactionFailure { final Server server = getHabitat().getService(Server.class); final String value = server.getNodeRef(); - logger.fine("node-ref is " + server.getNodeRef()); - ConfigSupport.apply(new SingleConfigCode<Server>() { - @Override - public Object run(Server s) throws PropertyVetoException, TransactionFailure { - s.setNodeAgentRef(value); - return null; - } - }, server); - logger.fine("node-agent-ref is " + server.getNodeAgentRef()); - // restore - ConfigSupport.apply(new SingleConfigCode<Server>() { - @Override - public Object run(Server s) throws PropertyVetoException, TransactionFailure { - s.setNodeAgentRef(null); - return null; - } - }, server); - logger.fine("after, node-agent-ref is " + server.getNodeAgentRef()); + final SingleConfigCode<Server> configCode = virtualServer -> { + virtualServer.setNodeAgentRef(null); + return null; + }; + ConfigSupport.apply(configCode, server); + assertNull(server.getNodeRef()); + SingleConfigCode<Server> restoreConfig = virtualServer -> { + virtualServer.setNodeAgentRef(value); + return null; + }; + ConfigSupport.apply(restoreConfig, server); + assertEquals(value, server.getNodeAgentRef()); } - - }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/CollectionsAccessTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/CollectionsAccessTest.java index 59345e9..496921f 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/CollectionsAccessTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/CollectionsAccessTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,17 +17,19 @@ package com.sun.enterprise.configapi.tests; -import org.junit.Test; -import static org.junit.Assert.*; -import org.jvnet.hk2.config.TransactionFailure; -import org.jvnet.hk2.config.ConfigSupport; -import org.jvnet.hk2.config.SingleConfigCode; -import org.glassfish.api.admin.config.ApplicationName; -import com.sun.enterprise.config.serverbeans.Applications; import com.sun.enterprise.config.serverbeans.Application; +import com.sun.enterprise.config.serverbeans.Applications; import java.util.List; -import java.beans.PropertyVetoException; + +import org.glassfish.api.admin.config.ApplicationName; +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.SingleConfigCode; +import org.jvnet.hk2.config.TransactionFailure; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * User: Jerome Dochez @@ -36,48 +39,46 @@ public class CollectionsAccessTest extends ConfigApiTest { + @Override public String getFileName() { return "DomainTest"; } - @Test(expected=IllegalStateException.class) - public void unprotectedAccess() throws IllegalStateException { + @Test + public void unprotectedAccess() { Applications apps = getHabitat().getService(Applications.class); - assertTrue(apps!=null); - apps.getModules().add(null); + assertNotNull(apps); + assertThrows(IllegalStateException.class, () -> apps.getModules().add(null)); } - @Test(expected= TransactionFailure.class) + @Test public void semiProtectedTest() throws TransactionFailure { final Applications apps = getHabitat().getService(Applications.class); - assertTrue(apps!=null); - ConfigSupport.apply(new SingleConfigCode<Applications>() { - public Object run(Applications param) throws PropertyVetoException, TransactionFailure { - // this is the bug, we should not get the list from apps but from param. - List<ApplicationName> modules = apps.getModules(); - Application m = param.createChild(Application.class); - modules.add(m); // should throw an exception - return m; - } - }, apps); + assertNotNull(apps); + SingleConfigCode<Applications> configCode = proxy -> { + List<ApplicationName> modules = proxy.getModules(); + Application m = proxy.createChild(Application.class); + modules.add(m); + return m; + }; + assertThrows(TransactionFailure.class, () -> ConfigSupport.apply(configCode, apps)); } @Test public void protectedTest() throws TransactionFailure { final Applications apps = getHabitat().getService(Applications.class); - assertTrue(apps!=null); - ConfigSupport.apply(new SingleConfigCode<Applications>() { - public Object run(Applications param) throws PropertyVetoException, TransactionFailure { - List<ApplicationName> modules = param.getModules(); - Application m = param.createChild(Application.class); - m.setName( "ejb-test" ); - m.setLocation("test-location"); - m.setObjectType("ejb"); - modules.add(m); - modules.remove(m); - return m; - } - }, apps); + assertNotNull(apps); + SingleConfigCode<Applications> configCode = proxy -> { + List<ApplicationName> modules = proxy.getModules(); + Application m = proxy.createChild(Application.class); + m.setName( "ejb-test" ); + m.setLocation("test-location"); + m.setObjectType("ejb"); + modules.add(m); + modules.remove(m); + return m; + }; + ConfigSupport.apply(configCode, apps); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigApiTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigApiTest.java index 8a0e9c4..29a21f2 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigApiTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigApiTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -21,10 +22,11 @@ import org.glassfish.config.support.GlassFishDocument; import org.glassfish.hk2.api.ActiveDescriptor; import org.glassfish.hk2.api.ServiceLocator; -import org.glassfish.hk2.utilities.BuilderHelper; import org.glassfish.hk2.utilities.ServiceLocatorUtilities; import org.jvnet.hk2.config.DomDocument; +import static org.glassfish.hk2.utilities.BuilderHelper.createConstantDescriptor; + import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; import org.glassfish.api.admin.ServerEnvironment; @@ -39,36 +41,39 @@ @Override public DomDocument getDocument(ServiceLocator habitat) { DomDocument doc = habitat.getService(GlassFishDocument.class); - if (doc==null) { + if (doc == null) { return new GlassFishDocument(habitat, Executors.newCachedThreadPool(new ThreadFactory() { - public Thread newThread(Runnable r) { - Thread t = Executors.defaultThreadFactory().newThread(r); - t.setDaemon(true); - return t; - } + @Override + public Thread newThread(Runnable r) { + Thread t = Executors.defaultThreadFactory().newThread(r); + t.setDaemon(true); + return t; + } - })); + })); } return doc; } + @Override - public void decorate(ServiceLocator habitat) { - Server server = habitat.getService(Server.class, "server"); - if (server != null) { - ActiveDescriptor<Server> serverDescriptor = BuilderHelper.createConstantDescriptor(server, - ServerEnvironment.DEFAULT_INSTANCE_NAME, Server.class); - ServiceLocatorUtilities.addOneDescriptor(habitat, serverDescriptor); + public void decorate(ServiceLocator locator) { + Server server = locator.getService(Server.class, "server"); + if (server == null) { + return; + } + ActiveDescriptor<Server> serverDescriptor + = createConstantDescriptor(server, ServerEnvironment.DEFAULT_INSTANCE_NAME, Server.class); + ServiceLocatorUtilities.addOneDescriptor(locator, serverDescriptor); - server.getConfig().addIndex(habitat, ServerEnvironment.DEFAULT_INSTANCE_NAME); + server.getConfig().addIndex(locator, ServerEnvironment.DEFAULT_INSTANCE_NAME); - Cluster c = server.getCluster(); - if (c != null) { - ActiveDescriptor<Cluster> clusterDescriptor = BuilderHelper.createConstantDescriptor(c, - ServerEnvironment.DEFAULT_INSTANCE_NAME, Cluster.class); - ServiceLocatorUtilities.addOneDescriptor(habitat, clusterDescriptor); - } + Cluster c = server.getCluster(); + if (c != null) { + ActiveDescriptor<Cluster> clusterDescriptor + = createConstantDescriptor(c, ServerEnvironment.DEFAULT_INSTANCE_NAME, Cluster.class); + ServiceLocatorUtilities.addOneDescriptor(locator, clusterDescriptor); } } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigListenerTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigListenerTest.java index 171b7c4..0121998 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigListenerTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigListenerTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,129 +17,112 @@ package com.sun.enterprise.configapi.tests; +import com.sun.enterprise.configapi.tests.example.HttpListenerContainer; + +import org.glassfish.config.support.ConfigConfigBeanListener; import org.glassfish.grizzly.config.dom.NetworkListener; import org.glassfish.hk2.api.DynamicConfiguration; import org.glassfish.hk2.api.DynamicConfigurationService; import org.glassfish.hk2.api.ServiceHandle; import org.glassfish.hk2.api.ServiceLocator; - -import org.glassfish.config.support.ConfigConfigBeanListener; import org.glassfish.tests.utils.Utils; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.ObservableBean; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; import org.jvnet.hk2.config.Transactions; -import com.sun.enterprise.config.serverbeans.Config; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * Simple ConfigListener tests */ public class ConfigListenerTest extends ConfigApiTest { - ServiceLocator habitat; + private static final SingleConfigCode<NetworkListener> configCodeRestore = param -> { + param.setPort("8080"); + return null; + }; + + private ServiceLocator habitat; + private Transactions transactions; + private HttpListenerContainer container; + @Override public String getFileName() { return "DomainTest"; } - @Before + @BeforeEach public void setup() { habitat = Utils.instance.getHabitat(this); // make sure the ConfigConfigListener exists ServiceHandle<ConfigConfigBeanListener> i = habitat.getServiceHandle(ConfigConfigBeanListener.class); ConfigConfigBeanListener ccbl = i.getService(); - assertTrue(ccbl != null); + assertNotNull(ccbl); + transactions = getHabitat().getService(Transactions.class); + container = registerAndCreateHttpListenerContainer(habitat); } - private HttpListenerContainer registerAndCreateHttpListenerContainer(ServiceLocator locator) { - HttpListenerContainer retVal = locator.getService(HttpListenerContainer.class); - if (retVal != null) return retVal; - DynamicConfigurationService dcs = locator.getService(DynamicConfigurationService.class); - Assert.assertNotNull(dcs); - - DynamicConfiguration config = dcs.createDynamicConfiguration(); - - config.addActiveDescriptor(HttpListenerContainer.class); - - config.commit(); - - return locator.getService(HttpListenerContainer.class); + @AfterEach + public void reset() throws TransactionFailure { + ConfigSupport.apply(configCodeRestore, container.httpListener); + assertEquals("8080", container.httpListener.getPort()); } - @Test public void changedTest() throws TransactionFailure { - - Transactions transactions = getHabitat().getService(Transactions.class); - - HttpListenerContainer container = registerAndCreateHttpListenerContainer(habitat); - - ConfigSupport.apply(new SingleConfigCode<NetworkListener>() { - - @Override - public Object run(NetworkListener param) { - param.setPort("8989"); - return null; - } - }, container.httpListener); + SingleConfigCode<NetworkListener> configCode = listener -> { + listener.setPort("8989"); + return null; + }; + ConfigSupport.apply(configCode, container.httpListener); + assertEquals("8989", container.httpListener.getPort()); transactions.waitForDrain(); assertTrue(container.received); ObservableBean bean = (ObservableBean) ConfigSupport.getImpl(container.httpListener); bean.removeListener(container); - - // put back the right values in the domain to avoid test collisions - ConfigSupport.apply(new SingleConfigCode<NetworkListener>() { - - @Override - public Object run(NetworkListener param) { - param.setPort("8080"); - return null; - } - }, container.httpListener); } @Test public void removeListenerTest() throws TransactionFailure { - - Transactions transactions = getHabitat().getService(Transactions.class); - - HttpListenerContainer container = registerAndCreateHttpListenerContainer(habitat); - ObservableBean bean = (ObservableBean) ConfigSupport.getImpl(container.httpListener); bean.removeListener(container); - ConfigSupport.apply(new SingleConfigCode<NetworkListener>() { - - @Override - public Object run(NetworkListener param) { - param.setPort("8989"); - return null; - } - }, container.httpListener); + SingleConfigCode<NetworkListener> configCode = listener -> { + listener.setPort("8989"); + return null; + }; + ConfigSupport.apply(configCode, container.httpListener); transactions.waitForDrain(); assertFalse(container.received); + } - // put back the right values in the domain to avoid test collisions - ConfigSupport.apply(new SingleConfigCode<NetworkListener>() { - @Override - public Object run(NetworkListener param) { - param.setPort("8080"); - return null; - } - }, container.httpListener); + private HttpListenerContainer registerAndCreateHttpListenerContainer(ServiceLocator locator) { + HttpListenerContainer retVal = locator.getService(HttpListenerContainer.class); + if (retVal != null) { + return retVal; + } + + DynamicConfigurationService dcs = locator.getService(DynamicConfigurationService.class); + assertNotNull(dcs); + + DynamicConfiguration config = dcs.createDynamicConfiguration(); + config.addActiveDescriptor(HttpListenerContainer.class); + config.commit(); + + return locator.getService(HttpListenerContainer.class); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigPersistence.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigPersistence.java index e9dfe44..1026c91 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigPersistence.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ConfigPersistence.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,8 +17,6 @@ package com.sun.enterprise.configapi.tests; -import static org.junit.Assert.assertTrue; - import java.beans.PropertyChangeEvent; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -29,11 +28,10 @@ import org.glassfish.config.support.ConfigurationPersistence; import org.glassfish.tests.utils.Utils; -import org.junit.After; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.DomDocument; import org.jvnet.hk2.config.IndentingXMLStreamWriter; -import org.jvnet.hk2.config.TransactionFailure; import org.jvnet.hk2.config.TransactionListener; import org.jvnet.hk2.config.Transactions; import org.jvnet.hk2.config.UnprocessedChangeEvents; @@ -45,67 +43,62 @@ */ public abstract class ConfigPersistence extends ConfigApiTest { - @After + public abstract void doTest() throws Exception; + + public abstract void assertResult(String resultingXml); + + @AfterEach public void tearDown() { - Utils.instance.shutdownServiceLocator(this); + Utils.instance.shutdownServiceLocator(this); } - @Test - public void test() throws TransactionFailure { + @Test + public void test() throws Exception { final DomDocument document = getDocument(getHabitat()); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); baos.reset(); - final ConfigurationPersistence testPersistence = new ConfigurationPersistence() { - public void save(DomDocument doc) throws IOException, XMLStreamException { - XMLOutputFactory factory = XMLOutputFactory.newInstance(); - XMLStreamWriter writer = factory.createXMLStreamWriter(baos); + final ConfigurationPersistence testPersistence = doc -> { + XMLOutputFactory factory = XMLOutputFactory.newInstance(); + XMLStreamWriter writer = factory.createXMLStreamWriter(baos); + try { doc.writeTo(new IndentingXMLStreamWriter(writer)); + } finally { writer.close(); } }; TransactionListener testListener = new TransactionListener() { + + @Override public void transactionCommited(List<PropertyChangeEvent> changes) { try { testPersistence.save(document); - } catch (IOException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } catch (XMLStreamException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } catch (IOException | XMLStreamException e) { + e.printStackTrace(); } } - public void unprocessedTransactedEvents(List<UnprocessedChangeEvents> changes) { + @Override + public void unprocessedTransactedEvents(List<UnprocessedChangeEvents> changes) { } }; Transactions transactions = getHabitat().getService(Transactions.class); try { transactions.addTransactionsListener(testListener); - doTest(); - } catch(TransactionFailure f) { - f.printStackTrace(); - throw f; - } finally { transactions.waitForDrain(); transactions.removeTransactionsListener(testListener); } // now check if we persisted correctly... - final String resultingXml = baos.toString(); - logger.fine(resultingXml); - assertTrue("assertResult from " + getClass().getName() + " was false from " + resultingXml, assertResult(resultingXml)); + assertResult(resultingXml); } - - public abstract void doTest() throws TransactionFailure; - - public abstract boolean assertResult(String resultingXml); }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DeepCopyTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DeepCopyTest.java index 107736c..ab933c6 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DeepCopyTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DeepCopyTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -18,19 +19,27 @@ import com.sun.enterprise.config.serverbeans.Config; import com.sun.enterprise.config.serverbeans.Configs; -import org.glassfish.config.support.ConfigurationPersistence; -import org.junit.Assert; -import org.junit.Test; -import org.jvnet.hk2.config.*; + +import java.io.ByteArrayOutputStream; +import java.util.logging.Level; import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; -import java.beans.PropertyVetoException; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.logging.Level; + +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.ConfigBeanProxy; +import org.jvnet.hk2.config.ConfigModel; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.Dom; +import org.jvnet.hk2.config.DomDocument; +import org.jvnet.hk2.config.IndentingXMLStreamWriter; +import org.jvnet.hk2.config.SingleConfigCode; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.stringContainsInOrder; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * Test the deepCopy feature of ConfigBeans. @@ -39,6 +48,10 @@ */ public class DeepCopyTest extends ConfigApiTest { + private final DomDocument document = getDocument(getHabitat()); + + + @Override public String getFileName() { return "DomainTest"; } @@ -46,57 +59,42 @@ @Test public void configCopy() throws Exception { final Config config = getHabitat().getService(Config.class); - Assert.assertNotNull(config); + assertNotNull(config); String configName = config.getName(); - final Config newConfig = (Config) ConfigSupport.apply(new SingleConfigCode<ConfigBeanProxy>() { - @Override - public Object run(ConfigBeanProxy parent) throws PropertyVetoException, TransactionFailure { - return config.deepCopy(parent); - } - }, config.getParent()); - Assert.assertNotNull(newConfig); - try { - newConfig.setName("some-config"); - } catch(Exception e) { - // I was expecting this... - } - ConfigSupport.apply(new SingleConfigCode<Config>() { - @Override - public Object run(Config wConfig) throws PropertyVetoException, TransactionFailure { - wConfig.setName("some-config"); - return null; - } - }, newConfig); - Assert.assertEquals(newConfig.getName(), "some-config"); - Assert.assertEquals(config.getName(), configName); + final Config newConfig = (Config) ConfigSupport.apply(parent -> config.deepCopy(parent), config.getParent()); + assertNotNull(newConfig); + assertThrows(IllegalStateException.class, () -> newConfig.setName("some-config")); + SingleConfigCode<Config> configCode = cfg -> { + cfg.setName("some-config"); + return null; + }; + ConfigSupport.apply(configCode, newConfig); + assertEquals("some-config", newConfig.getName()); + assertEquals(configName, config.getName()); // add it the parent - ConfigSupport.apply(new SingleConfigCode<Configs>() { - @Override - public Object run(Configs wConfigs) throws PropertyVetoException, TransactionFailure { - wConfigs.getConfig().add(newConfig); - return null; - } - }, getHabitat().<Configs>getService(Configs.class)); - String resultingXML = save(document).toString(); - Assert.assertTrue("Expecting some-config, got " + resultingXML, resultingXML.contains("some-config")); + SingleConfigCode<Configs> configCodeParent = configs -> { + configs.getConfig().add(newConfig); + return null; + }; + ConfigSupport.apply(configCodeParent, getHabitat().<Configs>getService(Configs.class)); + String resultingXML = save(document); + assertThat("Expecting some-config, got " + resultingXML, resultingXML, stringContainsInOrder("some-config")); } @Test public void parentingTest() throws Exception { final Config config = getHabitat().getService(Config.class); - Assert.assertNotNull(config); - String configName = config.getName(); - final Config newConfig = (Config) ConfigSupport.apply(new SingleConfigCode<ConfigBeanProxy>() { - @Override - public Object run(ConfigBeanProxy parent) throws PropertyVetoException, TransactionFailure { - Config newConfig = (Config) config.deepCopy(parent); - newConfig.setName("cloned-config"); - return newConfig; - } - }, config.getParent()); - Assert.assertNotNull(newConfig); + assertNotNull(config); + assertEquals("server-config", config.getName()); + SingleConfigCode<ConfigBeanProxy> configCode = configProxy -> { + Config newConfig1 = (Config) config.deepCopy(configProxy); + newConfig1.setName("cloned-config"); + return newConfig1; + }; + final Config newConfig = (Config) ConfigSupport.apply(configCode, config.getParent()); + assertNotNull(newConfig); // now let's check the parents are correct. Dom original = Dom.unwrap(config); @@ -112,48 +110,56 @@ private void assertTypes(Dom original, Dom cloned) { logger.info(original.model.getTagName()+":" + original.getKey() + ":" + original.getClass().getSimpleName() + " and " + cloned.model.getTagName()+":" + cloned.getKey() + ":" + cloned.getClass().getSimpleName()); - Assert.assertEquals(original.getClass(), cloned.getClass()); + assertEquals(original.getClass(), cloned.getClass()); for (String elementName : original.getElementNames()) { ConfigModel.Property property = original.model.getElement(elementName); - if (property != null && property.isLeaf()) continue; + if (property != null && property.isLeaf()) { + continue; + } Dom originalChild = original.element(elementName); Dom clonedChild = cloned.element(elementName); - if (originalChild==null && clonedChild==null) continue; - Assert.assertNotNull(originalChild); - Assert.assertNotNull(clonedChild); + if (originalChild==null && clonedChild==null) { + continue; + } + assertNotNull(originalChild); + assertNotNull(clonedChild); assertTypes(originalChild, clonedChild); } } private void assertParenting(Dom dom) { - for (String elementName : dom.model.getElementNames()) { ConfigModel.Property property = dom.model.getElement(elementName); - if (property.isLeaf()) continue; + if (property.isLeaf()) { + continue; + } Dom child = dom.element(elementName); - if (child==null) continue; + if (child==null) { + continue; + } if (logger.isLoggable(Level.FINE)) { - logger.fine("Parent of " + child.model.targetTypeName + ":" + child.getKey() + " is " + child.parent().getKey() + " while I am " + dom.getKey()); + logger.fine("Parent of " + child.model.targetTypeName + ":" + child.getKey() + " is " + + child.parent().getKey() + " while I am " + dom.getKey()); } logger.info("Parent of " + child.model.targetTypeName + ":" + child.getKey() + " is " + child.parent().model.targetTypeName + ":" + child.parent().getKey() + " while I am " + dom.model.targetTypeName + ":" + dom.getKey()); - Assert.assertEquals(dom, child.parent()); + assertEquals(dom, child.parent()); assertParenting(child); } } - final DomDocument document = getDocument(getHabitat()); - - public OutputStream save(DomDocument doc) throws IOException, XMLStreamException { - final ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - outStream.reset(); - - XMLOutputFactory factory = XMLOutputFactory.newInstance(); - XMLStreamWriter writer = factory.createXMLStreamWriter(outStream); - doc.writeTo(new IndentingXMLStreamWriter(writer)); - writer.close(); - return outStream; + private String save(DomDocument doc) throws Exception { + try (ByteArrayOutputStream outStream = new ByteArrayOutputStream()) { + XMLOutputFactory factory = XMLOutputFactory.newInstance(); + XMLStreamWriter writer = factory.createXMLStreamWriter(outStream); + try { + doc.writeTo(new IndentingXMLStreamWriter(writer)); + } finally { + writer.close(); + } + return outStream.toString(); + } } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DefaultValueTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DefaultValueTest.java index bcaf04e..5b212e6 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DefaultValueTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DefaultValueTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,43 +17,44 @@ package com.sun.enterprise.configapi.tests; -import org.glassfish.grizzly.config.dom.*; -import static org.junit.Assert.assertEquals; -import org.junit.Before; -import org.junit.Test; +import org.glassfish.grizzly.config.dom.Http; +import org.glassfish.grizzly.config.dom.NetworkListener; +import org.glassfish.grizzly.config.dom.NetworkListeners; +import org.glassfish.grizzly.config.dom.Protocol; +import org.glassfish.grizzly.config.dom.Protocols; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.Attribute; import org.jvnet.hk2.config.Dom; +import static org.junit.jupiter.api.Assertions.assertEquals; + /** * Test attribute and raw attribute access * */ public class DefaultValueTest extends ConfigApiTest { - NetworkListener listener; + private NetworkListener listener; + @Override public String getFileName() { return "DomainTest"; } - @Before + @BeforeEach public void setup() { NetworkListeners httpService = getHabitat().getService(NetworkListeners.class); listener = httpService.getNetworkListener().get(0); - } @Test public void rawAttributeTest() throws NoSuchMethodException { - String address = listener.getAddress(); - Dom raw = Dom.unwrap(listener); Attribute attr = raw.getProxyType().getMethod("getAddress").getAnnotation(Attribute.class); - assertEquals(attr.defaultValue(), address); - - assertEquals(raw.attribute("address"), address); - assertEquals(raw.rawAttribute("address"), address); - + assertEquals(address, attr.defaultValue()); + assertEquals(address, raw.attribute("address")); + assertEquals(address, raw.rawAttribute("address")); } @Test @@ -60,9 +62,7 @@ Protocols protocols = getHabitat().getService(Protocols.class); for (Protocol protocol : protocols.getProtocol()) { Http http = protocol.getHttp(); - System.out.println(http.getCompressableMimeType()); + assertEquals(Http.COMPRESSABLE_MIME_TYPE, http.getCompressableMimeType()); } - } - }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectAccessTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectAccessTest.java index 6680ae5..95f599d 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectAccessTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectAccessTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -24,8 +25,12 @@ import org.glassfish.tests.utils.Utils; import org.jvnet.hk2.config.ConfigBean; import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.Dom; import org.jvnet.hk2.config.TransactionFailure; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.stringContainsInOrder; + import java.util.HashMap; import java.util.Map; @@ -36,7 +41,7 @@ */ public class DirectAccessTest extends ConfigPersistence { - ServiceLocator habitat = Utils.instance.getHabitat(this); + private final ServiceLocator locator = Utils.instance.getHabitat(this); /** * Returns the file name without the .xml extension to load the test configuration @@ -44,6 +49,7 @@ * * @return the configuration file name */ + @Override public String getFileName() { return "DomainTest"; } @@ -51,42 +57,43 @@ @Override public ServiceLocator getBaseServiceLocator() { - return habitat; + return locator; } + @Override public ServiceLocator getHabitat() { - return getBaseServiceLocator(); + return getBaseServiceLocator(); } + + @Override public void doTest() throws TransactionFailure { - NetworkConfig networkConfig = habitat.getService(NetworkConfig.class); - final NetworkListener listener = networkConfig.getNetworkListeners() - .getNetworkListener().get(0); + NetworkConfig networkConfig = locator.getService(NetworkConfig.class); + final NetworkListener listener = networkConfig.getNetworkListeners().getNetworkListener().get(0); final Http http = listener.findHttpProtocol().getHttp(); - ConfigBean config = (ConfigBean) ConfigBean.unwrap(http.getFileCache()); - ConfigBean config2 = (ConfigBean) ConfigBean.unwrap(http); - Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>(); - Map<String, String> configChanges = new HashMap<String, String>(); + ConfigBean config = (ConfigBean) Dom.unwrap(http.getFileCache()); + ConfigBean config2 = (ConfigBean) Dom.unwrap(http); + Map<ConfigBean, Map<String, String>> changes = new HashMap<>(); + Map<String, String> configChanges = new HashMap<>(); configChanges.put("max-age-seconds", "12543"); configChanges.put("max-cache-size-bytes", "1200"); - Map<String, String> config2Changes = new HashMap<String, String>(); + Map<String, String> config2Changes = new HashMap<>(); config2Changes.put("version", "12351"); changes.put(config, configChanges); changes.put(config2, config2Changes); - JavaConfig javaConfig = habitat.getService(JavaConfig.class); - ConfigBean javaConfigBean = (ConfigBean) ConfigBean.unwrap(javaConfig); - Map<String, String> javaConfigChanges = new HashMap<String, String>(); + JavaConfig javaConfig = locator.getService(JavaConfig.class); + ConfigBean javaConfigBean = (ConfigBean) Dom.unwrap(javaConfig); + Map<String, String> javaConfigChanges = new HashMap<>(); javaConfigChanges.put("jvm-options", "-XFooBar=false"); changes.put(javaConfigBean, javaConfigChanges); getHabitat().<ConfigSupport>getService(ConfigSupport.class).apply(changes); } - public boolean assertResult(String s) { - return s.contains("max-age-seconds=\"12543\"") - && s.contains("version=\"12351\"") - && s.contains("-XFooBar=false"); + @Override + public void assertResult(String xml) { + assertThat(xml, stringContainsInOrder("-XFooBar=false", "version=\"12351\"", "max-age-seconds=\"12543\"")); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectCreationTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectCreationTest.java index cb5cb90..2c67ebd 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectCreationTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectCreationTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,25 +17,30 @@ package com.sun.enterprise.configapi.tests; +import com.sun.enterprise.config.serverbeans.AdminService; import com.sun.enterprise.config.serverbeans.DasConfig; import com.sun.enterprise.config.serverbeans.JavaConfig; import com.sun.enterprise.config.serverbeans.Profiler; -import com.sun.enterprise.config.serverbeans.AdminService; - -import org.glassfish.hk2.api.ServiceLocator; -import org.glassfish.tests.utils.Utils; -import static org.junit.Assert.*; -import org.junit.Test; -import org.jvnet.hk2.config.AttributeChanges; -import org.jvnet.hk2.config.ConfigBean; -import org.jvnet.hk2.config.ConfigBeanProxy; -import org.jvnet.hk2.config.ConfigSupport; -import org.jvnet.hk2.config.TransactionFailure; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; + +import org.glassfish.hk2.api.ServiceLocator; +import org.glassfish.tests.utils.Utils; +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.AttributeChanges; +import org.jvnet.hk2.config.ConfigBean; +import org.jvnet.hk2.config.ConfigBeanProxy; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.Dom; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.stringContainsInOrder; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * User: Jerome Dochez @@ -43,7 +49,7 @@ */ public class DirectCreationTest extends ConfigPersistence { - ServiceLocator habitat = Utils.instance.getHabitat(this); + private final ServiceLocator locator = Utils.instance.getHabitat(this); /** * Returns the file name without the .xml extension to load the test configuration @@ -56,71 +62,65 @@ return "DomainTest"; } + @Override public ServiceLocator getBaseServiceLocator() { - return habitat; + return locator; } + @Override public ServiceLocator getHabitat() { - return getBaseServiceLocator(); + return getBaseServiceLocator(); } - public void doTest() throws TransactionFailure { - AdminService service = habitat.getService(AdminService.class); - - ConfigBean serviceBean = (ConfigBean) ConfigBean.unwrap(service); - Class<?>[] subTypes = null; - try { - subTypes = ConfigSupport.getSubElementsTypes(serviceBean); - } catch (ClassNotFoundException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - throw new RuntimeException(e); - } - + @Override + public void doTest() throws Exception { + AdminService service = locator.getService(AdminService.class); + ConfigBean serviceBean = (ConfigBean) Dom.unwrap(service); + Class<?>[] subTypes = ConfigSupport.getSubElementsTypes(serviceBean); ConfigSupport support = getBaseServiceLocator().getService(ConfigSupport.class); - - assertNotNull("ConfigSupport not found", support); + assertNotNull(support, "ConfigSupport not found"); for (Class<?> subType : subTypes) { - - // TODO: JL force compilation error to mark this probably edit point for grizzly config if (subType.getName().endsWith("DasConfig")) { - Map<String, String> configChanges = new HashMap<String, String>(); + Map<String, String> configChanges = new HashMap<>(); configChanges.put("dynamic-reload-enabled", "true"); configChanges.put("autodeploy-dir", "funky-dir"); - support.createAndSet(serviceBean, (Class<? extends ConfigBeanProxy>)subType, configChanges); + ConfigSupport.createAndSet(serviceBean, (Class<? extends ConfigBeanProxy>) subType, configChanges); break; } } - support.createAndSet(serviceBean, DasConfig.class, (List) null); + support.createAndSet(serviceBean, DasConfig.class, (List<AttributeChanges>) null); - List<AttributeChanges> profilerChanges = new ArrayList<AttributeChanges>(); + List<AttributeChanges> profilerChanges = new ArrayList<>(); String[] values = { "-Xmx512m", "-RFtrq", "-Xmw24" }; ConfigSupport.MultipleAttributeChanges multipleChanges = new ConfigSupport.MultipleAttributeChanges("jvm-options", values ); String[] values1 = { "profile" }; ConfigSupport.MultipleAttributeChanges multipleChanges1 = new ConfigSupport.MultipleAttributeChanges("name", values1 ); profilerChanges.add(multipleChanges); profilerChanges.add(multipleChanges1); - support.createAndSet((ConfigBean) ConfigBean.unwrap(habitat.<JavaConfig>getService(JavaConfig.class)) - , Profiler.class, profilerChanges); + support.createAndSet(unwrapConfigBean(), Profiler.class, profilerChanges); } @Test - public void directAttributeNameTest() throws ClassNotFoundException { - - boolean foundOne=false; - for (String attrName : - ((ConfigBean) ConfigBean.unwrap(habitat.<JavaConfig>getService(JavaConfig.class))).model.getAttributeNames()) { - assertTrue(attrName!=null); - foundOne=true; + public void directAttributeNameTest() throws Exception { + Set<String> attributeNames = unwrapConfigBean().model.getAttributeNames(); + assertThat(attributeNames, hasSize(13)); + for (String attrName : attributeNames) { + assertNotNull(attrName); } - assertTrue(foundOne); } - public boolean assertResult(String s) { - return s.contains("autodeploy-dir=\"funky-dir\""); + @Override + public void assertResult(String xml) { + assertThat(xml, stringContainsInOrder("autodeploy-dir=\"funky-dir\"")); + } + + + private ConfigBean unwrapConfigBean() { + return (ConfigBean) Dom.unwrap(locator.<JavaConfig> getService(JavaConfig.class)); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectRemovalTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectRemovalTest.java index 088c9f8..ea25f16 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectRemovalTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DirectRemovalTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -22,8 +23,13 @@ import org.glassfish.tests.utils.Utils; import org.jvnet.hk2.config.ConfigBean; import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.Dom; import org.jvnet.hk2.config.TransactionFailure; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.not; +import static org.hamcrest.Matchers.stringContainsInOrder; + /** * User: Jerome Dochez * Date: Mar 27, 2008 @@ -31,7 +37,7 @@ */ public class DirectRemovalTest extends ConfigPersistence { - ServiceLocator habitat = Utils.instance.getHabitat(this); + private final ServiceLocator habitat = Utils.instance.getHabitat(this); /** * Returns the file name without the .xml extension to load the test configuration @@ -39,6 +45,7 @@ * * @return the configuration file name */ + @Override public String getFileName() { return "DomainTest"; } @@ -48,22 +55,20 @@ return habitat; } + @Override public void doTest() throws TransactionFailure { - NetworkListeners listeners = habitat.getService(NetworkListeners.class); - - ConfigBean serviceBean = (ConfigBean) ConfigBean.unwrap(listeners); - + ConfigBean serviceBean = (ConfigBean) Dom.unwrap(listeners); for (NetworkListener listener : listeners.getNetworkListener()) { if (listener.getName().endsWith("http-listener-1")) { - ConfigSupport.deleteChild(serviceBean, (ConfigBean) ConfigBean.unwrap(listener)); + ConfigSupport.deleteChild(serviceBean, (ConfigBean) Dom.unwrap(listener)); break; } } } - public boolean assertResult(String s) { - // we must not find it - return !s.contains("id=\"http-listener-1\""); + @Override + public void assertResult(String xml) { + assertThat(xml, not(stringContainsInOrder("id=\"http-listener-1\""))); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DomainTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DomainTest.java index 0e2fa86..a96f7d4 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DomainTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DomainTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -17,8 +18,10 @@ package com.sun.enterprise.configapi.tests; import com.sun.enterprise.config.serverbeans.Domain; -import static org.junit.Assert.assertTrue; -import org.junit.Test; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * Domain related tests @@ -29,9 +32,7 @@ @Test public void domainExist() { - Domain domain = getHabitat().getService(Domain.class); - assertTrue(domain != null); + assertNotNull(domain); } - }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DuplicateKeyedElementTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DuplicateKeyedElementTest.java index 964158d..f956623 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DuplicateKeyedElementTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/DuplicateKeyedElementTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,14 +17,13 @@ package com.sun.enterprise.configapi.tests; -import java.beans.PropertyVetoException; - import com.sun.enterprise.config.serverbeans.HttpService; import com.sun.enterprise.config.serverbeans.VirtualServer; import org.jvnet.hk2.config.types.Property; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import org.junit.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; @@ -34,72 +34,55 @@ * @author Jerome Dochez */ public class DuplicateKeyedElementTest extends ConfigApiTest { - boolean result = false; + @Override public String getFileName() { return "DomainTest"; } - @Test(expected = TransactionFailure.class) + @Test public void duplicateKeyTest() throws TransactionFailure { - HttpService httpService = getHabitat().getService(HttpService.class); - assertNotNull(httpService); - // let's find a acceptable target. - VirtualServer target = null; - for (VirtualServer vs : httpService.getVirtualServer()) { - if (!vs.getProperty().isEmpty()) { - target = vs; - break; - } - } + final VirtualServer target = findVirtualServerWithProperties(); assertNotNull(target); final Property prop = target.getProperty().get(0); - Property newProp = (Property) ConfigSupport.apply(new SingleConfigCode<VirtualServer>() { - public Object run(VirtualServer param) throws PropertyVetoException, TransactionFailure { - // first one is fine... - Property dupProp = param.createChild(Property.class); - dupProp.setName(prop.getName()); - dupProp.setValue(prop.getValue().toUpperCase()); - // this should fail... - param.getProperty().add(dupProp); - return dupProp; - } - }, target); - // if we arrive here, this is an error, we succeeded adding a property with - // the same key name. - assertTrue(false); + final SingleConfigCode<VirtualServer> configCode = virtualServer -> { + // first one is fine... + Property dupProp = virtualServer.createChild(Property.class); + dupProp.setName(prop.getName()); + dupProp.setValue(prop.getValue().toUpperCase()); + // this should fail... + throw assertThrows(IllegalArgumentException.class, () -> virtualServer.getProperty().add(dupProp)); + }; + assertThrows(TransactionFailure.class, () -> ConfigSupport.apply(configCode, target)); } - @Test(expected = TransactionFailure.class) + @Test public void identicalKeyTest() throws TransactionFailure { + final VirtualServer target = findVirtualServerWithProperties(); + assertNotNull(target); + final SingleConfigCode<VirtualServer> configCode = virtualServer -> { + // first one is fine... + Property firstProp = virtualServer.createChild(Property.class); + firstProp.setName("foo"); + firstProp.setValue("bar"); + virtualServer.getProperty().add(firstProp); + // this should fail... + Property secondProp = virtualServer.createChild(Property.class); + secondProp.setName("foo"); + secondProp.setValue("bar"); + throw assertThrows(IllegalArgumentException.class, () -> virtualServer.getProperty().add(secondProp)); + }; + assertThrows(TransactionFailure.class, () -> ConfigSupport.apply(configCode, target)); + } + + private VirtualServer findVirtualServerWithProperties() { HttpService httpService = getHabitat().getService(HttpService.class); assertNotNull(httpService); - // let's find a acceptable target. - VirtualServer target = null; for (VirtualServer vs : httpService.getVirtualServer()) { if (!vs.getProperty().isEmpty()) { - target = vs; - break; + return vs; } } - assertNotNull(target); - Property newProp = (Property) ConfigSupport.apply(new SingleConfigCode<VirtualServer>() { - public Object run(VirtualServer param) throws PropertyVetoException, TransactionFailure { - // first one is fine... - Property firstProp = param.createChild(Property.class); - firstProp.setName("foo"); - firstProp.setValue("bar"); - param.getProperty().add(firstProp); - // this should fail... - Property secondProp = param.createChild(Property.class); - secondProp.setName("foo"); - secondProp.setValue("bar"); - param.getProperty().add(secondProp); - return secondProp; - } - }, target); - // if we arrive here, this is an error, we succeeded adding a property with - // the same key name. - assertTrue(false); + return null; } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/EnabledTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/EnabledTest.java index 1e9b5cc..f08eecf 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/EnabledTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/EnabledTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,14 +17,15 @@ package com.sun.enterprise.configapi.tests; +import java.util.List; + import org.glassfish.grizzly.config.dom.NetworkConfig; import org.glassfish.grizzly.config.dom.NetworkListener; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import java.util.List; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * HttpListener.getEnabled() API test @@ -31,13 +33,15 @@ * User: Jerome Dochez Date: Feb 21, 2008 Time: 2:06:44 PM */ public class EnabledTest extends ConfigApiTest { + private List<NetworkListener> listeners; + + @Override public String getFileName() { return "DomainTest"; } - List<NetworkListener> listeners = null; - @Before + @BeforeEach public void setup() { NetworkConfig service = getHabitat().getService(NetworkConfig.class); assertTrue(service != null); @@ -47,12 +51,11 @@ @Test public void enabled() { for (NetworkListener listener : listeners) { - logger.fine("Listener " + listener.getName() + " enabled " - + listener.getEnabled()); + logger.fine("Listener " + listener.getName() + " enabled " + listener.getEnabled()); if ("http-listener-2".equals(listener.getName())) { - assertFalse(new Boolean(listener.getEnabled())); + assertFalse(Boolean.parseBoolean(listener.getEnabled())); } else { - assertTrue(new Boolean(listener.getEnabled())); + assertTrue(Boolean.parseBoolean(listener.getEnabled())); } } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/GetElementTypeByNameTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/GetElementTypeByNameTest.java index 5458a7d..dc1b5ae 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/GetElementTypeByNameTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/GetElementTypeByNameTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,12 +17,15 @@ package com.sun.enterprise.configapi.tests; -import org.junit.Test; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import com.sun.enterprise.config.serverbeans.Config; + +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigBeanProxy; import org.jvnet.hk2.config.ConfigSupport; -import com.sun.enterprise.config.serverbeans.Config; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.core.StringEndsWith.endsWith; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * Test the getElementTypeByName ConfigSupport API @@ -30,21 +34,17 @@ */ public class GetElementTypeByNameTest extends ConfigApiTest { + @Override public String getFileName() { return "DomainTest"; } @Test - public void testAppRoot() { - Config c = getHabitat().getService(Config.class); - Class<? extends ConfigBeanProxy> elementType = null; - try { - elementType = ConfigSupport.getElementTypeByName(c, "admin-service"); - } catch (Exception e) { - e.printStackTrace(); - } + public void testAppRoot() throws Exception { + Config cfg = getHabitat().getService(Config.class); + Class<? extends ConfigBeanProxy> elementType = ConfigSupport.getElementTypeByName(cfg, "admin-service"); assertNotNull(elementType); - assertTrue(elementType.getName().endsWith("AdminService")); + assertThat(elementType.getName(), endsWith("AdminService")); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpListenerTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpListenerTest.java index 32991e3..b486e36 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpListenerTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpListenerTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -19,13 +20,15 @@ import org.glassfish.grizzly.config.dom.NetworkListener; import org.glassfish.grizzly.config.dom.NetworkListeners; import org.glassfish.grizzly.config.dom.Transport; -import static org.junit.Assert.assertTrue; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + /** * HttpListener related tests * @@ -33,46 +36,41 @@ */ public class HttpListenerTest extends ConfigApiTest { + private NetworkListener listener; + @Override public String getFileName() { return "DomainTest"; } - NetworkListener listener = null; - @Before + @BeforeEach public void setup() { NetworkListeners service = getHabitat().getService(NetworkListeners.class); - assertTrue(service!=null); + assertNotNull(service); for (NetworkListener item : service.getNetworkListener()) { if ("http-listener-1".equals(item.getName())) { listener= item; break; } } - - logger.fine("listener = " + listener); - assertTrue(listener!=null); - + assertNotNull(listener); } @Test public void portTest() { - logger.fine("port = " + listener.getPort()); - assertTrue("8080".equals(listener.getPort())); + assertEquals("8080", listener.getPort()); } @Test public void validTransaction() throws TransactionFailure { - - ConfigSupport.apply(new SingleConfigCode<Transport>() { - public Object run(Transport okToChange) { - okToChange.setAcceptorThreads("2"); - logger.fine("ID inside the transaction is " + okToChange.getName()); - return null; - } - }, listener.findTransport()); + SingleConfigCode<Transport> configCode = transport -> { + transport.setAcceptorThreads("2"); + logger.fine("ID inside the transaction is " + transport.getName()); + return null; + }; + ConfigSupport.apply(configCode, listener.findTransport()); logger.fine("ID outside the transaction is " + listener.getName()); - assertTrue("2".equals(listener.findTransport().getAcceptorThreads())); + assertEquals("2", listener.findTransport().getAcceptorThreads()); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpServiceTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpServiceTest.java index c698314..123a95a 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpServiceTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpServiceTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -21,76 +22,72 @@ import org.glassfish.grizzly.config.dom.NetworkConfig; import org.glassfish.grizzly.config.dom.NetworkListener; import org.glassfish.grizzly.config.dom.Protocol; -import static junit.framework.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; + /** * HttpService related tests * * @author Jerome Dochez */ public class HttpServiceTest extends ConfigApiTest { + + private NetworkListener listener; + + @Override public String getFileName() { return "DomainTest"; } - NetworkListener listener = null; - @Before + @BeforeEach public void setup() { listener = getHabitat().<NetworkConfig>getService(NetworkConfig.class).getNetworkListener("admin-listener"); - assertTrue(listener != null); + assertNotNull(listener); } @Test public void connectionTest() { final String max = listener.findHttpProtocol().getHttp().getMaxConnections(); - logger.fine("Max connections = " + max); - assertEquals("Should only allow 250 connections. The default is 256, however.", "250", max); + assertEquals("250", max, "Should only allow 250 connections. The default is 256, however."); } @Test public void validTransaction() throws TransactionFailure { final String max = listener.findHttpProtocol().getHttp().getMaxConnections(); - ConfigSupport.apply(new SingleConfigCode<NetworkListener>() { - public Object run(NetworkListener okToChange) throws TransactionFailure { - final Http http = okToChange.createChild(Http.class); - http.setMaxConnections("100"); - http.setTimeoutSeconds("65"); - http.setFileCache(http.createChild(FileCache.class)); - ConfigSupport.apply(new SingleConfigCode<Protocol>() { - @Override - public Object run(Protocol param) { - param.setHttp(http); - return null; - } - }, okToChange.findHttpProtocol()); - return http; - } - }, listener); - - ConfigSupport.apply(new SingleConfigCode<Http>() { - @Override - public Object run(Http param) { - param.setMaxConnections(max); + SingleConfigCode<NetworkListener> listenerConfigCode = networkListener -> { + final Http http = networkListener.createChild(Http.class); + http.setMaxConnections("100"); + http.setTimeoutSeconds("65"); + http.setFileCache(http.createChild(FileCache.class)); + SingleConfigCode<Protocol> protocolConfigCode = protocol -> { + protocol.setHttp(http); return null; - } - }, listener.findHttpProtocol().getHttp()); - try { - ConfigSupport.apply(new SingleConfigCode<Http>() { - public Object run(Http param) throws TransactionFailure { - param.setMaxConnections("7"); - throw new TransactionFailure("Sorry, changed my mind", null); - } - }, listener.findHttpProtocol().getHttp()); - } catch (TransactionFailure e) { - logger.fine("good, got my exception about changing my mind"); - } + }; + ConfigSupport.apply(protocolConfigCode, networkListener.findHttpProtocol()); + return http; + }; + ConfigSupport.apply(listenerConfigCode, listener); + + SingleConfigCode<Http> httpConfigCode = (SingleConfigCode<Http>) http -> { + http.setMaxConnections(max); + return null; + }; + ConfigSupport.apply(httpConfigCode, listener.findHttpProtocol().getHttp()); + SingleConfigCode<Http> configCode = http -> { + http.setMaxConnections("7"); + throw new TransactionFailure("Sorry, changed my mind", null); + }; + assertThrows(TransactionFailure.class, + () -> ConfigSupport.apply(configCode, listener.findHttpProtocol().getHttp())); + assertEquals(max, listener.findHttpProtocol().getHttp().getMaxConnections()); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/JavaConfigSubTypesTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/JavaConfigSubTypesTest.java index 2b0653d..cb47b86 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/JavaConfigSubTypesTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/JavaConfigSubTypesTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,20 +17,23 @@ package com.sun.enterprise.configapi.tests; -import org.junit.Test; -import org.junit.Assert; -import org.jvnet.hk2.config.ConfigSupport; -import org.jvnet.hk2.config.ConfigBean; -import org.jvnet.hk2.config.TransactionFailure; -import org.jvnet.hk2.config.SingleConfigCode; -import org.glassfish.hk2.api.ServiceLocator; -import org.glassfish.tests.utils.Utils; import com.sun.enterprise.config.serverbeans.JavaConfig; -import java.util.logging.Logger; -import java.util.logging.Level; import java.util.List; -import java.beans.PropertyVetoException; +import java.util.logging.Logger; + +import org.glassfish.hk2.api.ServiceLocator; +import org.glassfish.tests.utils.Utils; +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.ConfigBean; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.Dom; +import org.jvnet.hk2.config.SingleConfigCode; +import org.jvnet.hk2.config.TransactionFailure; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.stringContainsInOrder; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * User: Jerome Dochez @@ -38,26 +42,7 @@ */ public class JavaConfigSubTypesTest extends ConfigPersistence { - - @Test - public void testSubTypesOfDomain() { - JavaConfig config = super.getHabitat().getService(JavaConfig.class); - try { - Class<?>[] subTypes = ConfigSupport.getSubElementsTypes((ConfigBean) ConfigBean.unwrap(config)); - boolean found=false; - for (Class subType : subTypes) { - Logger.getAnonymousLogger().fine("Found class " + subType); - if (subType.getName().equals(List.class.getName())) { - found=true; - } - } - Assert.assertTrue(found);; - } catch(ClassNotFoundException e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - } - - ServiceLocator habitat = Utils.instance.getHabitat(this); + private final ServiceLocator habitat = Utils.instance.getHabitat(this); /** * Returns the file name without the .xml extension to load the test configuration @@ -65,38 +50,54 @@ * * @return the configuration file name */ + @Override public String getFileName() { return "DomainTest"; } + @Override public ServiceLocator getBaseServiceLocator() { return habitat; } + @Override public ServiceLocator getHabitat() { - return getBaseServiceLocator(); + return getBaseServiceLocator(); } + + @Override @Test public void doTest() throws TransactionFailure { - - JavaConfig javaConfig = habitat.getService(JavaConfig.class); + SingleConfigCode<JavaConfig> configCode = (SingleConfigCode<JavaConfig>) jvm -> { + List<String> jvmOptions = jvm.getJvmOptions(); + jvmOptions.add("-XFooBar=true"); + return jvmOptions; + }; + ConfigSupport.apply(configCode, javaConfig); + } - ConfigSupport.apply(new SingleConfigCode<JavaConfig>() { - public Object run(JavaConfig param) throws PropertyVetoException, TransactionFailure { - List<String> jvmOptions = param.getJvmOptions(); - jvmOptions.add("-XFooBar=true"); - return jvmOptions; + + @Override + public void assertResult(String xml) { + assertThat(xml, stringContainsInOrder("-XFooBar")); + } + + + @Test + public void testSubTypesOfDomain() throws Exception { + JavaConfig config = super.getHabitat().getService(JavaConfig.class); + Class<?>[] subTypes = ConfigSupport.getSubElementsTypes((ConfigBean) Dom.unwrap(config)); + boolean found = false; + for (Class<?> subType : subTypes) { + Logger.getAnonymousLogger().fine("Found class " + subType); + if (subType.getName().equals(List.class.getName())) { + found = true; } - }, javaConfig); - + } + assertTrue(found); } - - public boolean assertResult(String s) { - return s.indexOf("-XFooBar")!=-1; - } - }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ModulesTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ModulesTest.java index aeaa54a..cf80195 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ModulesTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ModulesTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -17,39 +18,41 @@ package com.sun.enterprise.configapi.tests; import com.sun.enterprise.config.serverbeans.Applications; -import org.glassfish.api.admin.config.ApplicationName; -import static org.junit.Assert.assertTrue; -import org.junit.Before; -import org.junit.Test; import java.util.Collection; +import org.glassfish.api.admin.config.ApplicationName; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + /** * Modules related tests */ public class ModulesTest extends ConfigApiTest { + private Collection<? extends ApplicationName> modules; + @Override public String getFileName() { return "DomainTest"; } - Collection<? extends ApplicationName> modules = null; - @Before + @BeforeEach public void setup() { Applications apps = getHabitat().getService(Applications.class); - assertTrue(apps!=null); + assertNotNull(apps); modules = apps.getModules(); - assertTrue(modules!=null); - + assertNotNull(modules); } @Test public void modulesTest() { for (ApplicationName module : modules) { logger.fine("Found module " + module.getName()); - assertTrue(module.getName()!=null); + assertNotNull(module.getName()); } } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ParentConfigListenerTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ParentConfigListenerTest.java index ab41839..2adb968 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ParentConfigListenerTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ParentConfigListenerTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,23 +17,23 @@ package com.sun.enterprise.configapi.tests; +import java.util.List; + import org.glassfish.grizzly.config.dom.NetworkListener; import org.glassfish.grizzly.config.dom.NetworkListeners; import org.glassfish.hk2.api.ServiceHandle; import org.glassfish.hk2.api.ServiceLocator; import org.glassfish.tests.utils.Utils; -import static org.junit.Assert.assertTrue; -import org.junit.Before; -import org.junit.Test; -import org.junit.Assert; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.ObservableBean; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; import org.jvnet.hk2.config.Transactions; -import java.util.Collection; -import java.util.List; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * This test will ensure that when a class is injected with a parent bean and a child @@ -43,54 +44,48 @@ */ public class ParentConfigListenerTest extends ConfigApiTest { - ServiceLocator habitat; + private ServiceLocator locator; + @Override public String getFileName() { return "DomainTest"; } - @Before + @BeforeEach public void setup() { - habitat = Utils.instance.getHabitat(this); + locator = Utils.instance.getHabitat(this); } - - - @Test public void addHttpListenerTest() throws TransactionFailure { - NetworkListenersContainer container = habitat.getService(NetworkListenersContainer.class); - - ConfigSupport.apply(new SingleConfigCode<NetworkListeners>() { - - public Object run(NetworkListeners param) throws TransactionFailure { - NetworkListener newListener = param.createChild(NetworkListener.class); - newListener.setName("Funky-Listener"); - newListener.setPort("8078"); - param.getNetworkListener().add(newListener); - return null; - } - }, container.httpService); + NetworkListenersContainer container = locator.getService(NetworkListenersContainer.class); + SingleConfigCode<NetworkListeners> configCode = listeners -> { + NetworkListener newListener = listeners.createChild(NetworkListener.class); + newListener.setName("Funky-Listener"); + newListener.setPort("8078"); + listeners.getNetworkListener().add(newListener); + return null; + }; + ConfigSupport.apply(configCode, container.httpService); getHabitat().<Transactions>getService(Transactions.class).waitForDrain(); assertTrue(container.received); ObservableBean bean = (ObservableBean) ConfigSupport.getImpl(container.httpService); // let's check that my newly added listener is available in the habitat. - List<ServiceHandle<NetworkListener>> networkListeners = habitat.getAllServiceHandles(NetworkListener.class); + List<ServiceHandle<NetworkListener>> networkListeners = locator.getAllServiceHandles(NetworkListener.class); boolean found = false; - for (ServiceHandle<NetworkListener> nlSH : networkListeners) { - NetworkListener nl = (NetworkListener) nlSH.getService(); + NetworkListener nl = nlSH.getService(); if (nl.getName().equals("Funky-Listener")) { - found=true; + found = true; } } - Assert.assertTrue("Newly added listener not found", found); + assertTrue(found, "Newly added listener not found"); // direct access. - NetworkListener nl = habitat.getService(NetworkListener.class, "Funky-Listener"); - Assert.assertTrue("Direct access to newly added listener failed", nl!=null); + NetworkListener networkListener = locator.getService(NetworkListener.class, "Funky-Listener"); + assertNotNull(networkListener, "Direct access to newly added listener failed"); bean.removeListener(container); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ParentTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ParentTest.java index cfac43c..4ff1b79 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ParentTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/ParentTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -18,10 +19,11 @@ import org.glassfish.grizzly.config.dom.NetworkListener; import org.glassfish.grizzly.config.dom.NetworkListeners; -import static org.junit.Assert.assertNotNull; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigBeanProxy; +import static org.junit.jupiter.api.Assertions.assertNotNull; + /** * test the getParentAPI. * @@ -29,7 +31,7 @@ */ public class ParentTest extends ConfigApiTest { - + @Override public String getFileName() { return "DomainTest"; }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/PersistenceTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/PersistenceTest.java index 948b4a6..8b5ebb7 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/PersistenceTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/PersistenceTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -22,29 +23,33 @@ import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.stringContainsInOrder; + /** * Test the persistence to a file... */ public class PersistenceTest extends ConfigPersistence { + @Override public String getFileName() { return "DomainTest"; } + + @Override public void doTest() throws TransactionFailure { NetworkListeners service = getHabitat().getService(NetworkListeners.class); - // now do a transaction - - ConfigSupport.apply(new SingleConfigCode<Transport>() { - public Object run(Transport param) { - param.setAcceptorThreads("8989"); - return null; - } - }, service.getNetworkListener().get(0).findTransport()); - //To change body of implemented methods use File | Settings | File Templates. + SingleConfigCode<Transport> configCode = (SingleConfigCode<Transport>) transport -> { + transport.setAcceptorThreads("8989"); + return null; + }; + ConfigSupport.apply(configCode, service.getNetworkListener().get(0).findTransport()); } - public boolean assertResult(String s) { - return s.contains("acceptor-threads=\"8989\""); + + @Override + public void assertResult(String xml) { + assertThat(xml, stringContainsInOrder("acceptor-threads=\"8989\"")); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/PropertyChangeListenerTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/PropertyChangeListenerTest.java index fba2e04..a7d07fd 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/PropertyChangeListenerTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/PropertyChangeListenerTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,19 +17,26 @@ package com.sun.enterprise.configapi.tests; -import org.jvnet.hk2.config.*; -import org.jvnet.hk2.config.types.Property; -import org.junit.Before; -import org.junit.Test; -import static org.junit.Assert.*; +import com.sun.enterprise.config.serverbeans.HttpService; +import com.sun.enterprise.config.serverbeans.VirtualServer; + +import java.beans.PropertyChangeEvent; import org.glassfish.hk2.api.ServiceLocator; import org.glassfish.tests.utils.Utils; -import com.sun.enterprise.config.serverbeans.*; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.ConfigListener; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.ObservableBean; +import org.jvnet.hk2.config.SingleConfigCode; +import org.jvnet.hk2.config.TransactionFailure; +import org.jvnet.hk2.config.Transactions; +import org.jvnet.hk2.config.UnprocessedChangeEvents; +import org.jvnet.hk2.config.types.Property; - -import java.beans.PropertyVetoException; -import java.beans.PropertyChangeEvent; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * This test listen to a property change event only injecting the parent containing the property. @@ -37,54 +45,55 @@ */ public class PropertyChangeListenerTest extends ConfigApiTest implements ConfigListener { - ServiceLocator habitat; - boolean result = false; + private ServiceLocator locator; + private boolean result; + @Override public String getFileName() { return "DomainTest"; } - @Before + @BeforeEach public void setup() { - habitat = Utils.instance.getHabitat(this); + locator = Utils.instance.getHabitat(this); } @Test public void propertyChangeEventReceptionTest() throws TransactionFailure { - HttpService httpService = habitat.getService(HttpService.class); + HttpService httpService = locator.getService(HttpService.class); assertNotNull(httpService); // let's find a acceptable target. - VirtualServer target =null; - for (VirtualServer vs : httpService.getVirtualServer()) { - if (!vs.getProperty().isEmpty()) { - target = vs; - break; - } - } + VirtualServer target = null; + for (VirtualServer vs : httpService.getVirtualServer()) { + if (!vs.getProperty().isEmpty()) { + target = vs; + break; + } + } - assertNotNull(target); + assertNotNull(target); - ((ObservableBean) ConfigSupport.getImpl(target)).addListener(this); - final Property prop = target.getProperty().get(0); + ((ObservableBean) ConfigSupport.getImpl(target)).addListener(this); + final Property prop = target.getProperty().get(0); - ConfigSupport.apply(new SingleConfigCode<Property>() { + SingleConfigCode<Property> configCode = property -> { + // first one is fine... + property.setValue(prop.getValue().toUpperCase()); + return null; + }; + ConfigSupport.apply(configCode, prop); - public Object run(Property param) throws PropertyVetoException, TransactionFailure { - // first one is fine... - param.setValue(prop.getValue().toUpperCase()); - return null; - } - }, prop); + getHabitat().<Transactions> getService(Transactions.class).waitForDrain(); + assertTrue(result); + ((ObservableBean) ConfigSupport.getImpl(target)).removeListener(this); + } - getHabitat().<Transactions>getService(Transactions.class).waitForDrain(); - assertTrue(result); - ((ObservableBean) ConfigSupport.getImpl(target)).removeListener(this); - } - public UnprocessedChangeEvents changed(PropertyChangeEvent[] events) { - result = true; - return null; - } + @Override + public UnprocessedChangeEvents changed(PropertyChangeEvent[] events) { + result = true; + return null; + } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/RawValueTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/RawValueTest.java index a69565d..5935734 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/RawValueTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/RawValueTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,38 +17,43 @@ package com.sun.enterprise.configapi.tests; -import org.junit.Before; -import org.junit.Test; -import static org.junit.Assert.*; -import org.glassfish.config.support.GlassFishConfigBean; import com.sun.enterprise.config.serverbeans.Domain; +import org.glassfish.config.support.GlassFishConfigBean; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.hamcrest.CoreMatchers.startsWith; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.jupiter.api.Assertions.assertAll; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + /** - * Created by IntelliJ IDEA. * User: dochez * Date: Jan 30, 2008 * Time: 11:18:52 AM - * To change this template use File | Settings | File Templates. */ public class RawValueTest extends ConfigApiTest { + @Override public String getFileName() { return "DomainTest"; } - @Before + @BeforeEach public void setup() { System.setProperty("com.sun.aas.instanceRoot", "cafebabe"); } - @Test public void testAppRoot() { Domain domain = getHabitat().getService(Domain.class); Domain rawDomain = GlassFishConfigBean.getRawView(domain); String appRoot = domain.getApplicationRoot(); String appRawRoot = rawDomain.getApplicationRoot(); - assertFalse(appRawRoot.equals(appRoot)); - assertTrue(appRawRoot.startsWith("${")); + assertAll( + () -> assertNotEquals(appRoot, appRawRoot), + () -> assertThat(appRawRoot, startsWith("${")) + ); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/Ssl2EnabledTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/Ssl2EnabledTest.java index 8a2cc7e..bd92a42 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/Ssl2EnabledTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/Ssl2EnabledTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,31 +17,33 @@ package com.sun.enterprise.configapi.tests; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - import org.glassfish.grizzly.config.dom.NetworkConfig; import org.glassfish.grizzly.config.dom.NetworkListener; import org.glassfish.grizzly.config.dom.Protocol; import org.glassfish.grizzly.config.dom.Ssl; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * User: Jerome Dochez Date: Mar 4, 2008 Time: 2:44:59 PM */ public class Ssl2EnabledTest extends ConfigApiTest { + + @Override public String getFileName() { return "DomainTest"; } - NetworkConfig config = null; + private NetworkConfig config; - @Before + @BeforeEach public void setup() { config = getHabitat().getService(NetworkConfig.class); - assertTrue(config != null); - + assertNotNull(config); } @Test @@ -50,13 +53,9 @@ if (httpProtocol != null) { Ssl ssl = httpProtocol.getSsl(); if (ssl != null) { - try { - logger.fine("SSL2 ENABLED = " + ssl.getSsl2Enabled()); - assertFalse(Boolean.parseBoolean(ssl.getSsl2Enabled())); - assertFalse(Boolean.parseBoolean(ssl.getSsl3Enabled())); - } catch (Exception e) { - e.printStackTrace(); - } + assertFalse(Boolean.parseBoolean(ssl.getSsl2Enabled())); + assertFalse(Boolean.parseBoolean(ssl.getSsl3Enabled())); + assertTrue(Boolean.parseBoolean(ssl.getTlsEnabled())); } } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/SubTypesTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/SubTypesTest.java index 8c62e50..93a1788 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/SubTypesTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/SubTypesTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -18,11 +19,17 @@ import com.sun.enterprise.config.serverbeans.Domain; -import java.util.logging.Logger; -import org.junit.Test; -import static org.junit.Assert.assertTrue; -import org.jvnet.hk2.config.ConfigSupport; +import java.util.Set; + +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigBean; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.Dom; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.hasItems; +import static org.junit.jupiter.api.Assertions.assertAll; /** @@ -33,43 +40,25 @@ public class SubTypesTest extends ConfigApiTest { // not testing all the sub types, just a few to be sure it works ok. - String expectedClassNames[] = { - "com.sun.enterprise.config.serverbeans.Applications", - "com.sun.enterprise.config.serverbeans.Configs", - "com.sun.enterprise.config.serverbeans.Clusters" + private static final Class<?>[] expectedClassNames = { + com.sun.enterprise.config.serverbeans.Applications.class, + com.sun.enterprise.config.serverbeans.Configs.class, + com.sun.enterprise.config.serverbeans.Clusters.class }; + @Override public String getFileName() { return "DomainTest"; } @Test - public void testSubTypesOfDomain() { + public void testSubTypesOfDomain() throws Exception { Domain domain = super.getHabitat().getService(Domain.class); - try { - Class<?>[] subTypes = ConfigSupport.getSubElementsTypes((ConfigBean) ConfigBean.unwrap(domain)); - for (Class subType : subTypes) { - Logger.getAnonymousLogger().fine("Found class" + subType); - } - for (String expectedClassName : expectedClassNames) { - boolean found=false; - for (Class<?> subType : subTypes) { - if (subType.getName().equals(expectedClassName)) { - found = true; - break; - } - } - if (!found) { - Logger.getAnonymousLogger().severe("Cannot find " + expectedClassName + " from list of subtypes"); - for (Class subType : subTypes) { - Logger.getAnonymousLogger().severe("Found class" + subType); - } - throw new RuntimeException("Cannot find " + expectedClassName); - } - } - } catch(ClassNotFoundException e) { - e.printStackTrace(); - } + Class<?>[] subTypes = ConfigSupport.getSubElementsTypes((ConfigBean) Dom.unwrap(domain)); + assertAll( + () -> assertThat(subTypes.length, equalTo(12)), + () -> assertThat(Set.of(subTypes), hasItems(expectedClassNames)) + ); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TransactionCallBackTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TransactionCallBackTest.java index 688d6e5..c9b8e9d 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TransactionCallBackTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TransactionCallBackTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,20 +17,24 @@ package com.sun.enterprise.configapi.tests; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Map; + import org.glassfish.grizzly.config.dom.NetworkListener; import org.glassfish.grizzly.config.dom.NetworkListeners; import org.glassfish.hk2.api.ServiceLocator; import org.glassfish.tests.utils.Utils; import org.jvnet.hk2.config.ConfigBean; import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.Dom; import org.jvnet.hk2.config.TransactionCallBack; import org.jvnet.hk2.config.TransactionFailure; import org.jvnet.hk2.config.WriteableView; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Map; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.stringContainsInOrder; /** * User: Jerome Dochez @@ -38,7 +43,7 @@ */ public class TransactionCallBackTest extends ConfigPersistence { - ServiceLocator habitat = Utils.instance.getHabitat(this); + private final ServiceLocator locator = Utils.instance.getHabitat(this); /** * Returns the file name without the .xml extension to load the test configuration @@ -46,49 +51,51 @@ * * @return the configuration file name */ + @Override public String getFileName() { return "DomainTest"; } + @Override public ServiceLocator getBaseServiceLocator() { - return habitat; + return locator; } + @Override public ServiceLocator getHabitat() { - return getBaseServiceLocator(); + return getBaseServiceLocator(); } + + @Override public void doTest() throws TransactionFailure { - ConfigBean serviceBean = (ConfigBean) ConfigBean.unwrap(habitat.<NetworkListeners>getService(NetworkListeners.class)); - Map<String, String> configChanges = new HashMap<String, String>(); + ConfigBean serviceBean = (ConfigBean) Dom.unwrap(locator.<NetworkListeners> getService(NetworkListeners.class)); + Map<String, String> configChanges = new HashMap<>(); configChanges.put("name", "funky-listener"); - ConfigSupport.createAndSet(serviceBean, NetworkListener.class, configChanges, - new TransactionCallBack<WriteableView>() { - @SuppressWarnings({"unchecked"}) - public void performOn(WriteableView param) throws TransactionFailure { - // if you know the type... - NetworkListener listener = param.getProxy(NetworkListener.class); - listener.setName("Aleksey"); - // if you don't know the type - Method m; - try { - m = param.getProxyType().getMethod("setAddress", String.class); - m.invoke(param.getProxy(param.getProxyType()), "localhost"); - } catch (NoSuchMethodException e) { - throw new TransactionFailure("Cannot find getProperty method", e); - } catch (IllegalAccessException e) { - throw new TransactionFailure("Cannot call getProperty method", e); - } catch (InvocationTargetException e) { - throw new TransactionFailure("Cannot call getProperty method", e); - } - } - }); + TransactionCallBack<WriteableView> callBack = view -> { + // if you know the type... + NetworkListener listener = view.getProxy(NetworkListener.class); + listener.setName("Aleksey"); + // if you don't know the type + Method setAddressMethod; + try { + setAddressMethod = view.getProxyType().getMethod("setAddress", String.class); + setAddressMethod.invoke(view.getProxy(view.getProxyType()), "localhost"); + } catch (NoSuchMethodException e1) { + throw new TransactionFailure("Cannot find getProperty method", e1); + } catch (IllegalAccessException | InvocationTargetException e2) { + throw new TransactionFailure("Cannot call getProperty method", e2); + } + }; + ConfigSupport.createAndSet(serviceBean, NetworkListener.class, configChanges, callBack); } - public boolean assertResult(String s) { - return s.contains("Aleksey") && s.contains("localhost"); + + @Override + public void assertResult(String xml) { + assertThat(xml, stringContainsInOrder("localhost", "Aleksey")); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TransactionListenerTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TransactionListenerTest.java index ea9b989..8e0c53a 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TransactionListenerTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TransactionListenerTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -17,11 +18,14 @@ package com.sun.enterprise.configapi.tests; import com.sun.enterprise.config.serverbeans.HttpService; + +import java.beans.PropertyChangeEvent; +import java.util.List; + import org.glassfish.grizzly.config.dom.Http; import org.glassfish.grizzly.config.dom.NetworkConfig; import org.glassfish.grizzly.config.dom.NetworkListener; -import static org.junit.Assert.assertTrue; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; @@ -29,35 +33,44 @@ import org.jvnet.hk2.config.Transactions; import org.jvnet.hk2.config.UnprocessedChangeEvents; -import java.beans.PropertyChangeEvent; -import java.util.List; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.junit.jupiter.api.Assertions.assertAll; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** - * Created by IntelliJ IDEA. * User: dochez * Date: Jan 23, 2008 * Time: 10:48:55 PM */ public class TransactionListenerTest extends ConfigApiTest { + + private HttpService httpService; + private List<PropertyChangeEvent> events; + + @Override public String getFileName() { return "DomainTest"; } - HttpService httpService = null; - List<PropertyChangeEvent> events = null; @Test public void transactionEvents() throws Exception, TransactionFailure { httpService = getHabitat().getService(HttpService.class); - NetworkConfig networkConfig = getHabitat().getService(NetworkConfig.class); - final NetworkListener netListener = networkConfig.getNetworkListeners() - .getNetworkListener().get(0); + final NetworkConfig networkConfig = getHabitat().getService(NetworkConfig.class); + final NetworkListener netListener = networkConfig.getNetworkListeners().getNetworkListener().get(0); final Http http = netListener.findHttpProtocol().getHttp(); final TransactionListener listener = new TransactionListener() { - public void transactionCommited(List<PropertyChangeEvent> changes) { - events = changes; - } + @Override + public void transactionCommited(List<PropertyChangeEvent> changes) { + events = changes; + } + + + @Override public void unprocessedTransactedEvents(List<UnprocessedChangeEvents> changes) { } }; @@ -66,41 +79,34 @@ try { transactions.addTransactionsListener(listener); - assertTrue(httpService!=null); + assertNotNull(httpService); logger.fine("Max connections = " + http.getMaxConnections()); - ConfigSupport.apply(new SingleConfigCode<Http>() { - - public Object run(Http param) { - param.setMaxConnections("500"); - return null; - } - }, http); + SingleConfigCode<Http> configCode = httpConfig -> { + httpConfig.setMaxConnections("500"); + return null; + }; + ConfigSupport.apply(configCode, http); assertTrue("500".equals(http.getMaxConnections())); transactions.waitForDrain(); - assertTrue(events!=null); - logger.fine("Number of events " + events.size()); - assertTrue(events.size()==1); + assertNotNull(events); + assertThat(events, hasSize(1)); PropertyChangeEvent event = events.iterator().next(); - assertTrue("max-connections".equals(event.getPropertyName())); - assertTrue("500".equals(event.getNewValue().toString())); - assertTrue("250".equals(event.getOldValue().toString())); - } catch(Exception t) { - t.printStackTrace(); - throw t; - }finally { + assertAll( + () -> assertEquals("max-connections", event.getPropertyName()), + () -> assertEquals("500", event.getNewValue().toString()), + () -> assertEquals("250", event.getOldValue().toString()) + ); + } finally { transactions.removeTransactionsListener(listener); } // put back the right values in the domain to avoid test collisions - ConfigSupport.apply(new SingleConfigCode<Http>() { - - public Object run(Http param) { - param.setMaxConnections("250"); - return null; - } - }, http); - + SingleConfigCode<Http> configCode = httpConfig -> { + httpConfig.setMaxConnections("250"); + return null; + }; + ConfigSupport.apply(configCode, http); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TranslatedValuesTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TranslatedValuesTest.java index ddc0e3a..b1ccfb6 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TranslatedValuesTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TranslatedValuesTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,14 +17,18 @@ package com.sun.enterprise.configapi.tests; -import org.junit.Test; -import org.junit.Before; -import static org.junit.Assert.*; import com.sun.enterprise.config.serverbeans.Domain; import com.sun.enterprise.config.serverbeans.JavaConfig; import java.io.File; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.stringContainsInOrder; +import static org.junit.jupiter.api.Assertions.assertTrue; + /** * Simple test for translated values access * @@ -31,11 +36,12 @@ */ public class TranslatedValuesTest extends ConfigApiTest { + @Override public String getFileName() { return "DomainTest"; } - @Before + @BeforeEach public void setup() { System.setProperty("com.sun.aas.instanceRoot", "cafebabe"); System.setProperty("com.sun.aas.javaRoot", System.getProperty("user.home")); @@ -54,9 +60,8 @@ if (System.getProperty("user.home").contains(File.separator)) { JavaConfig config = getHabitat().getService(JavaConfig.class); String javaRoot = config.getJavaHome(); - assertTrue(javaRoot.indexOf(File.separatorChar)!=-1); + assertThat(javaRoot, stringContainsInOrder(File.separator)); } - assertTrue(true); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TranslatedViewCreationTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TranslatedViewCreationTest.java index 625289b..5427eea 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TranslatedViewCreationTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TranslatedViewCreationTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,19 +17,18 @@ package com.sun.enterprise.configapi.tests; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyVetoException; -import java.util.List; - import com.sun.enterprise.config.serverbeans.HttpService; import com.sun.enterprise.config.serverbeans.VirtualServer; + +import java.beans.PropertyChangeEvent; +import java.util.List; + import org.glassfish.config.support.GlassFishConfigBean; import org.glassfish.hk2.api.ServiceLocator; import org.glassfish.tests.utils.Utils; -import org.junit.After; -import static org.junit.Assert.assertTrue; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; @@ -36,6 +36,13 @@ import org.jvnet.hk2.config.Transactions; import org.jvnet.hk2.config.UnprocessedChangeEvents; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.fail; + /** * User: Jerome Dochez * Date: Jun 24, 2008 @@ -43,90 +50,89 @@ */ public class TranslatedViewCreationTest extends ConfigApiTest { - final static String propName = "com.sun.my.chosen.docroot"; + private static final String propName = "com.sun.my.chosen.docroot"; + private HttpService httpService; + private List<PropertyChangeEvent> events; + private ServiceLocator locator; + + @Override public String getFileName() { return "DomainTest"; } - HttpService httpService = null; - List<PropertyChangeEvent> events; - ServiceLocator habitat; - - @Before + @BeforeEach public void setup() { System.setProperty(propName, "/foo/bar/docroot"); - habitat = Utils.instance.getHabitat(this); + locator = Utils.instance.getHabitat(this); + } + @AfterEach + public void tearDown() { + System.setProperty(propName, ""); } @Override public ServiceLocator getBaseServiceLocator() { - return habitat; + return locator; } @Test public void createVirtualServerTest() throws TransactionFailure { httpService = getHabitat().getService(HttpService.class); final TransactionListener listener = new TransactionListener() { - public void transactionCommited(List<PropertyChangeEvent> changes) { - events = changes; - } + @Override + public void transactionCommited(List<PropertyChangeEvent> changes) { + events = changes; + } + + + @Override public void unprocessedTransactedEvents(List<UnprocessedChangeEvents> changes) { } }; Transactions transactions = getHabitat().getService(Transactions.class); - try { transactions.addTransactionsListener(listener); - assertTrue(httpService!=null); - ConfigSupport.apply(new SingleConfigCode<HttpService>() { - - public Object run(HttpService param) throws PropertyVetoException, TransactionFailure { - VirtualServer newVirtualServer = param.createChild(VirtualServer.class); - newVirtualServer.setDocroot("${"+propName+"}"); - newVirtualServer.setId("translated-view-creation"); - param.getVirtualServer().add(newVirtualServer); - return null; - } - }, httpService); + assertNotNull(httpService); + SingleConfigCode<HttpService> configCode = http -> { + VirtualServer newVirtualServer = http.createChild(VirtualServer.class); + newVirtualServer.setDocroot("${" + propName + "}"); + newVirtualServer.setId("translated-view-creation"); + http.getVirtualServer().add(newVirtualServer); + return null; + }; + ConfigSupport.apply(configCode, httpService); // first let check that our new virtual server has the right translated value VirtualServer vs = httpService.getVirtualServerByName("translated-view-creation"); - assertTrue(vs!=null); + assertNotNull(vs); String docRoot = vs.getDocroot(); - assertTrue("/foo/bar/docroot".equals(docRoot)); + assertEquals("/foo/bar/docroot", docRoot); transactions.waitForDrain(); - assertTrue(events!=null); - logger.fine("Number of events " + events.size()); - assertTrue(events.size()==3); + assertNotNull(events); + assertThat(events, hasSize(3)); for (PropertyChangeEvent event : events) { if ("virtual-server".equals(event.getPropertyName())) { VirtualServer newVS = (VirtualServer) event.getNewValue(); - assertTrue(event.getOldValue()==null); + assertNull(event.getOldValue()); docRoot = newVS.getDocroot(); - assertTrue("/foo/bar/docroot".equals(docRoot)); + assertEquals("/foo/bar/docroot", docRoot); VirtualServer rawView = GlassFishConfigBean.getRawView(newVS); - assertTrue(rawView!=null); - assertTrue(rawView.getDocroot().equalsIgnoreCase("${" + propName + "}")); + assertNotNull(rawView); + assertEquals("${" + propName + "}", rawView.getDocroot()); return; } } - assertTrue(false); - + fail("virtual-server event wasn't found"); } finally { transactions.removeTransactionsListener(listener); } } - - @After - public void tearDown() { - System.setProperty(propName, ""); - } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TraversalTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TraversalTest.java deleted file mode 100644 index ed4b0f2..0000000 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/TraversalTest.java +++ /dev/null
@@ -1,82 +0,0 @@ -/* - * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0, which is available at - * http://www.eclipse.org/legal/epl-2.0. - * - * This Source Code may also be made available under the following Secondary - * Licenses when the conditions for such availability set forth in the - * Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - * version 2 with the GNU Classpath Exception, which is available at - * https://www.gnu.org/software/classpath/license.html. - * - * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - */ - -package com.sun.enterprise.configapi.tests; - -import org.glassfish.hk2.api.ServiceLocator; -import org.jvnet.hk2.config.Dom; -import org.junit.Ignore; -import org.junit.Test; - -import java.util.Set; -import java.util.logging.Logger; - -import com.sun.enterprise.config.serverbeans.Domain; - -/** - * Traverse a config tree using the hk2 model APIs. - * - * @author Jerome Dochez - */ -public class TraversalTest extends ConfigApiTest { - - static Logger logger = Logger.getAnonymousLogger(); - - public String getFileName() { - return "DomainTest"; - } - - @Test - public void traverse() { - ServiceLocator habitat = super.getHabitat(); - Domain domain = Domain.class.cast(habitat.<Domain>getService(Domain.class)); - introspect(0, Dom.unwrap(domain)); - } - - - @Ignore - private void introspect(int indent, Dom proxy) { - indent = indent + 1; - Set<String> ss = proxy.getAttributeNames(); - String id = ""; - for (int i = 0; i < indent; i++) { - id = id + " "; - } - logger.fine(id + "--------" + proxy.model.key); - for (String a : ss) { - - logger.fine(id + a + "=" + proxy.attribute(a)); - } - - - Set<String> elem = proxy.getElementNames(); - - for (String bb : elem) { - - - logger.fine(id + "<" + bb + ">"); - org.jvnet.hk2.config.ConfigModel.Property prop = proxy.model.getElement(bb); - if (prop != null && proxy.model.getElement(bb).isLeaf()) { - logger.fine(proxy.leafElement(bb)); - } else { - introspect(indent, proxy.element(bb)); - } - logger.fine(id + "</" + bb + ">"); - logger.fine(" "); - - } - } -}
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/UnprocessedEventsTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/UnprocessedEventsTest.java index d48d030..45e64f0 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/UnprocessedEventsTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/UnprocessedEventsTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2021 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -23,10 +24,7 @@ import org.glassfish.grizzly.config.dom.NetworkListener; import org.glassfish.hk2.api.ServiceLocator; import org.glassfish.tests.utils.Utils; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigListener; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.ObservableBean; @@ -37,14 +35,18 @@ import org.jvnet.hk2.config.UnprocessedChangeEvent; import org.jvnet.hk2.config.UnprocessedChangeEvents; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + /** * @author Jerome Dochez */ -public class UnprocessedEventsTest extends ConfigApiTest - implements ConfigListener, TransactionListener { +public class UnprocessedEventsTest extends ConfigApiTest implements ConfigListener, TransactionListener { - ServiceLocator habitat = Utils.instance.getHabitat(this); - UnprocessedChangeEvents unprocessed = null; + private final ServiceLocator habitat = Utils.instance.getHabitat(this); + private UnprocessedChangeEvents unprocessed; /** * Returns the DomainTest file name without the .xml extension to load the test configuration @@ -52,6 +54,7 @@ * * @return the configuration file name */ + @Override public String getFileName() { return "DomainTest"; } @@ -61,69 +64,64 @@ // let's find our target NetworkConfig service = habitat.getService(NetworkConfig.class); - NetworkListener listener = service.getNetworkListener("http-listener-1"); - assertNotNull(listener); + NetworkListener networkListener = service.getNetworkListener("http-listener-1"); + assertNotNull(networkListener); // Let's register a listener - ObservableBean bean = (ObservableBean) ConfigSupport.getImpl(listener); + ObservableBean bean = (ObservableBean) ConfigSupport.getImpl(networkListener); bean.addListener(this); Transactions transactions = getHabitat().getService(Transactions.class); try { transactions.addTransactionsListener(this); - ConfigSupport.apply(new SingleConfigCode<NetworkListener>() { - public Object run(NetworkListener param) { - param.setPort("8908"); - return null; - } - }, listener); + SingleConfigCode<NetworkListener> configCode = listener -> { + listener.setPort("8908"); + return null; + }; + ConfigSupport.apply(configCode, networkListener); // check the result. - String port = listener.getPort(); + String port = networkListener.getPort(); assertEquals(port, "8908"); // ensure events are delivered. transactions.waitForDrain(); assertNotNull(unprocessed); - ConfigSupport.apply(new SingleConfigCode<NetworkListener>() { - public Object run(NetworkListener param) { - param.setPort("8080"); - return null; - } - }, listener); - - assertEquals(listener.getPort(), "8080"); + SingleConfigCode<NetworkListener> configCodeReset = listener -> { + listener.setPort("8080"); + return null; + }; + ConfigSupport.apply(configCodeReset, networkListener); + assertEquals(networkListener.getPort(), "8080"); // ensure events are delivered. transactions.waitForDrain(); assertNotNull(unprocessed); - - // finally bean.removeListener(this); } finally { - - // check we recevied the event transactions.removeTransactionsListener(this); } } + @Override public UnprocessedChangeEvents changed(PropertyChangeEvent[] propertyChangeEvents) { - assertEquals("Array size", propertyChangeEvents.length, 1 ); - + assertEquals(propertyChangeEvents.length, 1, "Array size"); final UnprocessedChangeEvent unp = new UnprocessedChangeEvent( propertyChangeEvents[0], "Java NIO port listener cannot reconfigure its port dynamically" ); unprocessed = new UnprocessedChangeEvents( unp ); return unprocessed; } + @Override public void transactionCommited(List<PropertyChangeEvent> changes) { // don't care... } + @Override public void unprocessedTransactedEvents(List<UnprocessedChangeEvents> changes) { - assertTrue(changes.size()==1); + assertThat(changes, hasSize(1)); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/VetoableChangeListenerTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/VetoableChangeListenerTest.java index b51fc9e..6bbe1b7 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/VetoableChangeListenerTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/VetoableChangeListenerTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,19 +17,25 @@ package com.sun.enterprise.configapi.tests; -import org.jvnet.hk2.config.*; -import org.jvnet.hk2.config.types.*; -import org.jvnet.hk2.component.*; -import org.junit.*; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import com.sun.enterprise.config.serverbeans.HttpService; +import com.sun.enterprise.config.serverbeans.VirtualServer; + +import java.beans.PropertyChangeEvent; +import java.beans.PropertyVetoException; +import java.beans.VetoableChangeListener; import org.glassfish.hk2.api.ServiceLocator; -import org.glassfish.tests.utils.*; +import org.glassfish.tests.utils.Utils; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.ConfigBean; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.ConstrainedBeanListener; +import org.jvnet.hk2.config.SingleConfigCode; +import org.jvnet.hk2.config.TransactionFailure; -import com.sun.enterprise.config.serverbeans.*; - -import java.beans.*; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * This test registers an vetoable change listener on a config bean and vetoes @@ -38,96 +45,58 @@ */ public class VetoableChangeListenerTest extends ConfigApiTest implements VetoableChangeListener { - ServiceLocator habitat; - boolean result = false; + private ServiceLocator locator; + @Override public String getFileName() { return "DomainTest"; } - @Before + @BeforeEach public void setup() { - habitat = Utils.instance.getHabitat(this); + locator = Utils.instance.getHabitat(this); } @Test public void propertyChangeEventReceptionTest() throws TransactionFailure { - - HttpService httpService = habitat.getService(HttpService.class); - assertNotNull(httpService); - - // let's find a acceptable target. - VirtualServer target =null; - for (VirtualServer vs : httpService.getVirtualServer()) { - if (!vs.getProperty().isEmpty()) { - target = vs; - break; - } - } - + final VirtualServer target = findTargetWithProperties(); assertNotNull(target); + SingleConfigCode<VirtualServer> configCode = vs -> { + vs.setId("foo"); + vs.setAccessLog("Foo"); + return null; + }; ((ConfigBean) ConfigSupport.getImpl(target)).getOptionalFeature(ConstrainedBeanListener.class).addVetoableChangeListener(this); - - try { - ConfigSupport.apply(new SingleConfigCode<VirtualServer>() { - - public Object run(VirtualServer param) throws PropertyVetoException, TransactionFailure { - param.setId("foo"); - param.setAccessLog("Foo"); - return null; - } - }, target); - } catch(TransactionFailure e) { - //e.printStackTrace(); - System.out.println("Got exception: " + e.getClass().getName() + " as expected, with message: " + e.getMessage()); - result=true; - } - - assertTrue(result); - - result=false; + assertThrows(TransactionFailure.class, () -> ConfigSupport.apply(configCode, target)); // let's do it again. - try { - ConfigSupport.apply(new SingleConfigCode<VirtualServer>() { - - public Object run(VirtualServer param) throws PropertyVetoException, TransactionFailure { - param.setId("foo"); - param.setAccessLog("Foo"); - return null; - } - }, target); - } catch(TransactionFailure e) { - //e.printStackTrace(); - System.out.println("Got exception: " + e.getClass().getName() + " as expected, with message: " + e.getMessage()); - result=true; - } - + assertThrows(TransactionFailure.class, () -> ConfigSupport.apply(configCode, target)); ((ConfigBean) ConfigSupport.getImpl(target)).getOptionalFeature(ConstrainedBeanListener.class).removeVetoableChangeListener(this); - assertTrue(result); - - // this time it should work ! - try { - ConfigSupport.apply(new SingleConfigCode<VirtualServer>() { - - public Object run(VirtualServer param) throws PropertyVetoException, TransactionFailure { - // first one is fine... - param.setAccessLog("Foo"); - return null; - } - }, target); - } catch(TransactionFailure e) { - //e.printStackTrace(); - System.out.println("Got exception: " + e.getClass().getName() + " as expected, with message: " + e.getMessage()); - result=false; - } - - assertTrue(result); + // this time it should work! + SingleConfigCode<VirtualServer> configCode2 = vs -> { + // first one is fine... + vs.setAccessLog("Foo"); + return null; + }; + ConfigSupport.apply(configCode2, target); } + @Override public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException { throw new PropertyVetoException("I don't think so !", evt); } + + + private VirtualServer findTargetWithProperties() { + HttpService httpService = locator.getService(HttpService.class); + assertNotNull(httpService); + for (VirtualServer vs : httpService.getVirtualServer()) { + if (!vs.getProperty().isEmpty()) { + return vs; + } + } + return null; + } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/cluster/DuckMethodsTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/cluster/DuckMethodsTest.java index 99967bf..fdb7805 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/cluster/DuckMethodsTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/cluster/DuckMethodsTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,17 +17,18 @@ package com.sun.enterprise.configapi.tests.cluster; +import com.sun.enterprise.config.serverbeans.Cluster; import com.sun.enterprise.config.serverbeans.Domain; import com.sun.enterprise.config.serverbeans.Server; -import com.sun.enterprise.config.serverbeans.Cluster; import com.sun.enterprise.configapi.tests.ConfigApiTest; import org.glassfish.hk2.api.ServiceLocator; import org.glassfish.tests.utils.Utils; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; /** * Test a number of cluster related {@link org.jvnet.hk2.config.DuckTyped} @@ -35,24 +37,25 @@ * @author Jerome Dochez */ public class DuckMethodsTest extends ConfigApiTest { - ServiceLocator habitat; + private ServiceLocator locator; + @Override public String getFileName() { return "ClusterDomain"; } - @Before + @BeforeEach public void setup() { - habitat = Utils.instance.getHabitat(this); + locator = Utils.instance.getHabitat(this); } @Test public void getClusterFromServerTest() { - Domain d = habitat.getService(Domain.class); + Domain d = locator.getService(Domain.class); Server server = d.getServerNamed("server"); - assertTrue(server!=null); + assertNotNull(server); Cluster cluster = server.getCluster(); - System.out.println("Cluster name is " + cluster.getName()); + assertEquals("clusterA", cluster.getName()); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/concurrent/ConcurrentAccessTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/concurrent/ConcurrentAccessTest.java index f61011a..0c66c05 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/concurrent/ConcurrentAccessTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/concurrent/ConcurrentAccessTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -18,49 +19,40 @@ import com.sun.enterprise.config.serverbeans.Domain; import com.sun.enterprise.configapi.tests.ConfigApiTest; -import org.junit.Test; + +import java.util.concurrent.Semaphore; + +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; -import java.beans.PropertyVetoException; -import java.util.concurrent.Semaphore; +import static org.junit.jupiter.api.Assertions.assertThrows; /** * Concurrent access to the configuarion APIs related tests * @author Jerome Dochez */ - public class ConcurrentAccessTest extends ConfigApiTest { + @Override public String getFileName() { return "DomainTest"; } @Test - public void waitAndSuccessTest() throws TransactionFailure, InterruptedException { - ConfigSupport.lockTimeOutInSeconds=1; + public void waitAndSuccessTest() throws Exception { + ConfigSupport.lockTimeOutInSeconds = 1; runTest(200); } - @Test(expected=TransactionFailure.class) - public void waitAndTimeOutTest() throws TransactionFailure, InterruptedException { - ConfigSupport.lockTimeOutInSeconds=1; - try { - runTest(1200); - } catch (TransactionFailure transactionFailure) { - logger.fine("Got expected transaction failure, access timed out"); - throw transactionFailure; - } catch (InterruptedException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - throw e; - } + @Test + public void waitAndTimeOutTest() throws Exception { + ConfigSupport.lockTimeOutInSeconds = 1; + assertThrows(TransactionFailure.class, () -> runTest(1200)); } - - - private void runTest(final int waitTime) throws TransactionFailure, InterruptedException { - + private void runTest(final int waitTime) throws Exception { final Domain domain = getHabitat().getService(Domain.class); // my lock. @@ -72,53 +64,43 @@ endOfAccess.acquire(); final long begin = System.currentTimeMillis(); - + final SingleConfigCode<Domain> configCode = domain1 -> { + logger.fine("got the lock at " + (System.currentTimeMillis() - begin)); + lock.release(); + try { + Thread.sleep(waitTime); + } catch (InterruptedException e) { + e.printStackTrace(); + } + logger.fine("release the lock at " + (System.currentTimeMillis() - begin)); + return null; + }; // let's start a thread to hold the lock on Domain... - Thread t = new Thread(new Runnable() { - @Override - public void run() { - try { - ConfigSupport.apply(new SingleConfigCode<Domain>() { - @Override - public Object run(Domain domain) throws PropertyVetoException, TransactionFailure { - logger.fine("got the lock at " + (System.currentTimeMillis() - begin)); - lock.release(); - try { - Thread.sleep(waitTime); - } catch (InterruptedException e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - logger.fine("release the lock at " + (System.currentTimeMillis() - begin)); - return null; - }; - }, domain); - } catch(TransactionFailure e) { - e.printStackTrace(); - } + Runnable job = () -> { + try { + ConfigSupport.apply(configCode, domain); + } catch (TransactionFailure e) { + e.printStackTrace(); + } finally { endOfAccess.release(); } - }); + }; + final Thread t = new Thread(job); t.start(); - // let's change the last modified date... lock.acquire(); logger.fine("looking for second lock at " + (System.currentTimeMillis() - begin)); + final SingleConfigCode<Domain> releaseLockCode = domain1 -> { + logger.fine("got the second lock at " + (System.currentTimeMillis() - begin)); + lock.release(); + return null; + }; try { - ConfigSupport.apply(new SingleConfigCode<Domain>() { - @Override - public Object run(Domain domain) throws PropertyVetoException, TransactionFailure { - logger.fine("got the second lock at " + (System.currentTimeMillis() - begin)); - lock.release(); - return null; - } - }, domain); + ConfigSupport.apply(releaseLockCode, domain); } finally { endOfAccess.acquire(); } - - } - }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/AccessLogAllDefaultsTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/AccessLogAllDefaultsTest.java index d479b9e..9bf9dd8 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/AccessLogAllDefaultsTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/AccessLogAllDefaultsTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -14,45 +15,39 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ - package com.sun.enterprise.configapi.tests.dvt; import com.sun.enterprise.config.serverbeans.AccessLog; import com.sun.enterprise.configapi.tests.ConfigApiTest; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import static org.junit.Assert.*; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; /** - * * @author kedar */ public class AccessLogAllDefaultsTest extends ConfigApiTest { - private AccessLog al = null; - - public AccessLogAllDefaultsTest() { - } + private AccessLog al; @Override public String getFileName() { return ("AccessLogAllDefaultsTest"); //this is the xml to load } - @Before + @BeforeEach public void setUp() { al = super.getHabitat().getService(AccessLog.class); } - @After + @AfterEach public void tearDown() { al = null; } + @Test public void testAllDefaults() { assertEquals("true", al.getRotationEnabled());
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/SecurityServiceDefaultsTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/SecurityServiceDefaultsTest.java index ba4ff44..aa9661a 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/SecurityServiceDefaultsTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/SecurityServiceDefaultsTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -18,48 +19,43 @@ import com.sun.enterprise.config.serverbeans.SecurityService; import com.sun.enterprise.configapi.tests.ConfigApiTest; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import static org.junit.Assert.*; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; /** * Tests the JdbcConnectionPool config bean's defaults. * @author Kedar Mhaswade (km@dev.java.net) */ - public class SecurityServiceDefaultsTest extends ConfigApiTest { - SecurityService ss = null; - - public SecurityServiceDefaultsTest() { - } + private SecurityService securityService; @Override public String getFileName() { - return ("SecurityServiceDefaults"); //this is the xml to load + return "SecurityServiceDefaults"; //this is the xml to load } - @Before + @BeforeEach public void setUp() { - ss = super.getHabitat().getService(SecurityService.class); + securityService = super.getHabitat().getService(SecurityService.class); } - @After + @AfterEach public void tearDown() { - ss = null; + securityService = null; } - // TODO add test methods here. - // The methods must be annotated with annotation @Test. For example: - // @Test public void testFewDefaults() { - assertEquals("file", ss.getDefaultRealm()); - assertEquals("true", ss.getActivateDefaultPrincipalToRoleMapping()); - assertEquals("AttributeDeprecated", ss.getAnonymousRole()); - assertEquals("false", ss.getAuditEnabled()); - assertEquals("default", ss.getAuditModules()); - assertEquals("default", ss.getJacc()); + assertEquals("file", securityService.getDefaultRealm()); + assertEquals("true", securityService.getActivateDefaultPrincipalToRoleMapping()); + assertEquals("AttributeDeprecated", securityService.getAnonymousRole()); + assertEquals("false", securityService.getAuditEnabled()); + assertEquals("default", securityService.getAuditModules()); + assertEquals("default", securityService.getJacc()); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/AnApplicationExtension.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/AnApplicationExtension.java similarity index 90% rename from nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/AnApplicationExtension.java rename to nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/AnApplicationExtension.java index 6007987..38c2f2a 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/AnApplicationExtension.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/AnApplicationExtension.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -14,10 +15,10 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ -package com.sun.enterprise.configapi.tests.extensibility; +package com.sun.enterprise.configapi.tests.example; import com.sun.enterprise.config.serverbeans.ApplicationExtension; -import org.junit.Ignore; + import org.jvnet.hk2.config.Attribute; import org.jvnet.hk2.config.Configured;
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpListenerContainer.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/HttpListenerContainer.java similarity index 83% rename from nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpListenerContainer.java rename to nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/HttpListenerContainer.java index 256c2bd..759f498 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/HttpListenerContainer.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/HttpListenerContainer.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -14,15 +15,12 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ -package com.sun.enterprise.configapi.tests; +package com.sun.enterprise.configapi.tests.example; import java.beans.PropertyChangeEvent; import org.glassfish.grizzly.config.dom.NetworkListener; import org.glassfish.hk2.api.PerLookup; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import org.jvnet.hk2.annotations.Service; import org.jvnet.hk2.config.ConfigListener; import org.jvnet.hk2.config.UnprocessedChangeEvents; @@ -30,20 +28,25 @@ import jakarta.inject.Inject; import jakarta.inject.Named; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + /** * Simple container code that is interested in getting notification of injected model changes * * @author Jerome Dochez */ -@Service @PerLookup +@Service +@PerLookup public class HttpListenerContainer implements ConfigListener { @Inject @Named("http-listener-1") - NetworkListener httpListener; + public NetworkListener httpListener; - volatile boolean received=false; + public volatile boolean received = false; + @Override public synchronized UnprocessedChangeEvents changed(PropertyChangeEvent[] events) { if (received) { // I am alredy happy
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/RandomContainer.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/RandomContainer.java similarity index 79% rename from nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/RandomContainer.java rename to nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/RandomContainer.java index a0ad0df..6dcc240 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/RandomContainer.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/RandomContainer.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -14,13 +15,13 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ -package com.sun.enterprise.configapi.tests.extensibility; +package com.sun.enterprise.configapi.tests.example; import org.glassfish.api.admin.config.Container; import org.glassfish.api.admin.config.Named; import org.jvnet.hk2.config.Attribute; -import org.jvnet.hk2.config.Element; import org.jvnet.hk2.config.Configured; +import org.jvnet.hk2.config.Element; /** * @author Jerome Dochez @@ -29,12 +30,12 @@ public interface RandomContainer extends Container, Named { @Attribute - public String getNumberOfRuntime(); + String getNumberOfRuntime(); - public void setNumberOfRuntime(); + void setNumberOfRuntime(); @Element - public RandomElement getRandomElement(); + RandomElement getRandomElement(); - public void setRandomElement(RandomElement randomElement); + void setRandomElement(RandomElement randomElement); }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/RandomElement.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/RandomElement.java similarity index 84% rename from nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/RandomElement.java rename to nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/RandomElement.java index 2e4fc72..7b8fe53 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/RandomElement.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/RandomElement.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -14,12 +15,11 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ -package com.sun.enterprise.configapi.tests.extensibility; +package com.sun.enterprise.configapi.tests.example; -import org.jvnet.hk2.config.Configured; -import org.jvnet.hk2.config.ConfigBeanProxy; import org.jvnet.hk2.config.Attribute; -import org.glassfish.api.admin.config.Named; +import org.jvnet.hk2.config.ConfigBeanProxy; +import org.jvnet.hk2.config.Configured; /** * @author Jerome Dochez @@ -28,7 +28,7 @@ public interface RandomElement extends ConfigBeanProxy { @Attribute - public String getAttr1(); + String getAttr1(); - public void setAttr1(String string); + void setAttr1(String string); }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/RandomExtension.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/RandomExtension.java similarity index 89% rename from nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/RandomExtension.java rename to nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/RandomExtension.java index b627544..53c78fd 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/RandomExtension.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/example/RandomExtension.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -14,7 +15,7 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 */ -package com.sun.enterprise.configapi.tests.extensibility; +package com.sun.enterprise.configapi.tests.example; import org.glassfish.api.admin.config.ConfigExtension; import org.jvnet.hk2.config.Attribute;
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/ContainerExtensionTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/ContainerExtensionTest.java index aebcc39..d6a70e1 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/ContainerExtensionTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/extensibility/ContainerExtensionTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -17,17 +18,26 @@ package com.sun.enterprise.configapi.tests.extensibility; import com.sun.enterprise.config.serverbeans.Application; -import com.sun.enterprise.configapi.tests.ConfigApiTest; import com.sun.enterprise.config.serverbeans.Config; import com.sun.enterprise.config.serverbeans.Domain; -import org.glassfish.tests.utils.Utils; -import org.glassfish.api.admin.config.Container; -import org.glassfish.hk2.api.ServiceLocator; -import org.junit.Test; -import static org.junit.Assert.*; +import com.sun.enterprise.configapi.tests.ConfigApiTest; +import com.sun.enterprise.configapi.tests.example.AnApplicationExtension; +import com.sun.enterprise.configapi.tests.example.RandomContainer; +import com.sun.enterprise.configapi.tests.example.RandomElement; +import com.sun.enterprise.configapi.tests.example.RandomExtension; import java.util.List; +import org.glassfish.api.admin.config.Container; +import org.glassfish.hk2.api.ServiceLocator; +import org.glassfish.tests.utils.Utils; +import org.junit.jupiter.api.Test; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + /** * @author Jerome Dochez */ @@ -43,10 +53,9 @@ @Test public void existenceTest() { - Config config = habitat.<Domain>getService(Domain.class).getConfigs().getConfig().get(0); List<Container> containers = config.getContainers(); - assertTrue(containers.size()==2); + assertThat(containers, hasSize(2)); RandomContainer container = (RandomContainer) containers.get(0); assertEquals("random", container.getName()); assertEquals("1243", container.getNumberOfRuntime()); @@ -67,6 +76,6 @@ public void applicationExtensionTest() { Application a = habitat.getService(Application.class); List<AnApplicationExtension> taes = a.getExtensionsByType(AnApplicationExtension.class); - assertEquals(taes.size(), 2); + assertThat(taes, hasSize(2)); } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/model/.gitkeep_empty_dir b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/model/.gitkeep_empty_dir deleted file mode 100644 index e69de29..0000000 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/model/.gitkeep_empty_dir +++ /dev/null
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/typedlistener/TypedListenerTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/typedlistener/TypedListenerTest.java index 10b48ca..a437b06 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/typedlistener/TypedListenerTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/typedlistener/TypedListenerTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -19,16 +20,22 @@ import com.sun.enterprise.config.serverbeans.Domain; import com.sun.enterprise.config.serverbeans.SystemProperty; import com.sun.enterprise.configapi.tests.ConfigApiTest; + import java.beans.PropertyChangeEvent; -import java.beans.PropertyVetoException; import java.util.Arrays; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import java.util.logging.Level; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import org.junit.Test; -import org.jvnet.hk2.config.*; +import org.junit.jupiter.api.Test; +import org.jvnet.hk2.config.ConfigListener; +import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.SingleConfigCode; +import org.jvnet.hk2.config.TransactionFailure; +import org.jvnet.hk2.config.Transactions; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * Test the listeners per type registration/events/un-registration. @@ -36,8 +43,8 @@ */ public class TypedListenerTest extends ConfigApiTest { - List<PropertyChangeEvent> events = null; - AtomicInteger listenersInvoked = new AtomicInteger(); + private List<PropertyChangeEvent> events; + private final AtomicInteger listenersInvoked = new AtomicInteger(); @Override public String getFileName() { @@ -46,40 +53,30 @@ @Test public void addElementTest() throws TransactionFailure { - final Domain domain = getHabitat().getService(Domain.class); - final ConfigListener configListener = new ConfigListener() { - @Override - public UnprocessedChangeEvents changed(PropertyChangeEvent[] propertyChangeEvents) { - events = Arrays.asList(propertyChangeEvents); - return null; - } + final ConfigListener configListener = propertyChangeEvents -> { + events = Arrays.asList(propertyChangeEvents); + return null; }; Transactions transactions = getHabitat().getService(Transactions.class); - try { transactions.addListenerForType(SystemProperty.class, configListener); - assertTrue(domain!=null); + assertNotNull(domain); // adding - ConfigSupport.apply(new SingleConfigCode<Domain>() { - - @Override - public Object run(Domain domain) throws PropertyVetoException, TransactionFailure { - SystemProperty prop = domain.createChild(SystemProperty.class); - domain.getSystemProperty().add(prop); - prop.setName("Jerome"); - prop.setValue("was here"); - return prop; - } - }, domain); + SingleConfigCode<Domain> configCode = domain1 -> { + SystemProperty sysProp = domain1.createChild(SystemProperty.class); + domain1.getSystemProperty().add(sysProp); + sysProp.setName("Jerome"); + sysProp.setValue("was here"); + return sysProp; + }; + ConfigSupport.apply(configCode, domain); transactions.waitForDrain(); - assertTrue(events!=null); - logger.log(Level.FINE, "Number of events {0}", events.size()); - assertTrue(events.size()==3); + assertThat(events, hasSize(3)); for (PropertyChangeEvent event : events) { logger.fine(event.toString()); } @@ -87,20 +84,16 @@ // modification for (SystemProperty prop : domain.getSystemProperty()) { - if (prop.getName().equals("Jerome")) { - ConfigSupport.apply(new SingleConfigCode<SystemProperty>() { - @Override - public Object run(SystemProperty param) throws PropertyVetoException, TransactionFailure { - param.setValue("was also here"); - return null; - } - },prop); + if ("Jerome".equals(prop.getName())) { + SingleConfigCode<SystemProperty> configCode2 = sysProp -> { + sysProp.setValue("was also here"); + return null; + }; + ConfigSupport.apply(configCode2, prop); break; } } - assertTrue(events!=null); - logger.log(Level.FINE, "Number of events {0}", events.size()); - assertTrue(events.size()==1); + assertThat(events, hasSize(1)); for (PropertyChangeEvent event : events) { logger.fine(event.toString()); } @@ -108,24 +101,19 @@ events = null; // removal - assertNotNull(ConfigSupport.apply(new SingleConfigCode<Domain>() { - - @Override - public Object run(Domain domain) throws PropertyVetoException, TransactionFailure { - for (SystemProperty prop : domain.getSystemProperty()) { - if (prop.getName().equals("Jerome")) { - domain.getSystemProperty().remove(prop); - return prop; - } - } - return null; - } - }, domain)); + SingleConfigCode<Domain> configCode2 = domain1 -> { + for (SystemProperty prop : domain1.getSystemProperty()) { + if ("Jerome".equals(prop.getName())) { + domain1.getSystemProperty().remove(prop); + return prop; + } + } + return null; + }; + assertNotNull(ConfigSupport.apply(configCode2, domain)); transactions.waitForDrain(); - assertTrue(events!=null); - logger.log(Level.FINE, "Number of events {0}", events.size()); - assertTrue(events.size()==1); + assertThat(events, hasSize(1)); for (PropertyChangeEvent event : events) { logger.fine(event.toString()); } @@ -137,41 +125,31 @@ @Test public void multipleListeners() throws TransactionFailure { final Domain domain = getHabitat().getService(Domain.class); - final ConfigListener configListener1 = new ConfigListener() { - @Override - public UnprocessedChangeEvents changed(PropertyChangeEvent[] propertyChangeEvents) { - listenersInvoked.incrementAndGet(); - return null; - } + assertNotNull(domain); + + final ConfigListener configListener1 = propertyChangeEvents -> { + listenersInvoked.incrementAndGet(); + return null; }; - final ConfigListener configListener2 = new ConfigListener() { - @Override - public UnprocessedChangeEvents changed(PropertyChangeEvent[] propertyChangeEvents) { - listenersInvoked.incrementAndGet(); - return null; - } + final ConfigListener configListener2 = propertyChangeEvents -> { + listenersInvoked.incrementAndGet(); + return null; }; Transactions transactions = getHabitat().getService(Transactions.class); - try { transactions.addListenerForType(SystemProperty.class, configListener1); transactions.addListenerForType(SystemProperty.class, configListener2); - assertTrue(domain!=null); - // adding - ConfigSupport.apply(new SingleConfigCode<Domain>() { - - @Override - public Object run(Domain domain) throws PropertyVetoException, TransactionFailure { - SystemProperty prop = domain.createChild(SystemProperty.class); - domain.getSystemProperty().add(prop); - prop.setName("Jerome"); - prop.setValue("was here"); - return prop; - } - }, domain); + SingleConfigCode<Domain> configCode = domain1 -> { + SystemProperty prop = domain1.createChild(SystemProperty.class); + domain1.getSystemProperty().add(prop); + prop.setName("Jerome"); + prop.setValue("was here"); + return prop; + }; + ConfigSupport.apply(configCode, domain); transactions.waitForDrain(); assertTrue(listenersInvoked.intValue()==2);
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/FieldsValidationTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/FieldsValidationTest.java index 63ee830..a63ef38 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/FieldsValidationTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/FieldsValidationTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -18,21 +19,27 @@ import com.sun.enterprise.config.serverbeans.AdminService; import com.sun.enterprise.configapi.tests.ConfigApiTest; -import junit.framework.Assert; -import org.junit.Test; + +import java.beans.PropertyVetoException; + +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigSupport; import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; import jakarta.validation.ConstraintViolationException; -import java.beans.PropertyVetoException; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.instanceOf; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.fail; /** * Test Field validation */ - public class FieldsValidationTest extends ConfigApiTest { + @Override public String getFileName() { return "DomainTest"; } @@ -40,7 +47,7 @@ @Test public void testNotNullField() { AdminService admin = super.getHabitat().getService(AdminService.class); - Assert.assertNotNull(admin); + assertNotNull(admin); try { ConfigSupport.apply(new SingleConfigCode<AdminService>() { @Override @@ -49,11 +56,9 @@ return null; } }, admin); - Assert.fail("Exception not raised when setting a @NotNull annotated field with null"); + fail("Exception not raised when setting a @NotNull annotated field with null"); } catch(TransactionFailure e) { - if (e.getCause()!=null) { - Assert.assertTrue(e.getCause() instanceof ConstraintViolationException); - } + assertThat(e.getCause(), instanceOf(ConstraintViolationException.class)); } } }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/ReferenceConstrainClusterTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/ReferenceConstrainClusterTest.java index fec0a1f..d8632c9 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/ReferenceConstrainClusterTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/ReferenceConstrainClusterTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -19,27 +20,30 @@ import com.sun.enterprise.config.serverbeans.Cluster; import com.sun.enterprise.config.serverbeans.ServerRef; import com.sun.enterprise.configapi.tests.ConfigApiTest; + import java.util.HashMap; import java.util.Map; -import jakarta.validation.ConstraintViolationException; -import org.junit.Test; -import org.junit.Before; + import org.glassfish.hk2.api.ServiceLocator; import org.glassfish.tests.utils.Utils; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigBean; import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.Dom; import org.jvnet.hk2.config.TransactionFailure; -import static org.junit.Assert.*; +import jakarta.validation.ConstraintViolationException; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.fail; /** - * * @author mmares */ public class ReferenceConstrainClusterTest extends ConfigApiTest { -// private Logger logger = Logger.getLogger(ReferenceConstrainTest.class.getName()); - private ServiceLocator habitat; + private ServiceLocator locator; @Override public String getFileName() { @@ -48,7 +52,7 @@ @Override public ServiceLocator getBaseServiceLocator() { - return habitat; + return locator; } private ConstraintViolationException findConstrViolation(Throwable thr) { @@ -61,19 +65,33 @@ return findConstrViolation(thr.getCause()); } - @Before + @BeforeEach public void createNewHabitat() { - this.habitat = Utils.instance.getHabitat(this); + this.locator = Utils.instance.getHabitat(this); + } + + @Test + public void clusterServerRefValid() throws TransactionFailure { + Cluster cluster = locator.getService(Cluster.class, "clusterA"); + assertNotNull(cluster); + ServerRef sref = cluster.getServerRef().get(0); + ConfigBean serverConfig = (ConfigBean) Dom.unwrap(sref); + Map<ConfigBean, Map<String, String>> changes = new HashMap<>(); + Map<String, String> configChanges = new HashMap<>(); + configChanges.put("ref", "server"); + changes.put(serverConfig, configChanges); + ConfigSupport cs = getHabitat().getService(ConfigSupport.class); + cs.apply(changes); } @Test public void clusterServerRefInvalid() throws TransactionFailure { - Cluster cluster = habitat.getService(Cluster.class, "clusterA"); + Cluster cluster = locator.getService(Cluster.class, "clusterA"); assertNotNull(cluster); ServerRef sref = cluster.getServerRef().get(0); - ConfigBean serverConfig = (ConfigBean) ConfigBean.unwrap(sref); - Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>(); - Map<String, String> configChanges = new HashMap<String, String>(); + ConfigBean serverConfig = (ConfigBean) Dom.unwrap(sref); + Map<ConfigBean, Map<String, String>> changes = new HashMap<>(); + Map<String, String> configChanges = new HashMap<>(); configChanges.put("ref", "server-nonexist"); changes.put(serverConfig, configChanges); try { @@ -87,30 +105,25 @@ } @Test - public void clusterServerRefValid() throws TransactionFailure { - Cluster cluster = habitat.getService(Cluster.class, "clusterA"); + public void clusterConfigRefValid() throws TransactionFailure { + Cluster cluster = locator.getService(Cluster.class, "clusterA"); assertNotNull(cluster); - ServerRef sref = cluster.getServerRef().get(0); - ConfigBean serverConfig = (ConfigBean) ConfigBean.unwrap(sref); - Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>(); - Map<String, String> configChanges = new HashMap<String, String>(); - configChanges.put("ref", "server"); + ConfigBean serverConfig = (ConfigBean) Dom.unwrap(cluster); + Map<ConfigBean, Map<String, String>> changes = new HashMap<>(); + Map<String, String> configChanges = new HashMap<>(); + configChanges.put("config-ref", "server-config"); changes.put(serverConfig, configChanges); - try { - ConfigSupport cs = getHabitat().getService(ConfigSupport.class); - cs.apply(changes); - } catch (TransactionFailure tf) { - fail("Can not reach this point"); - } + ConfigSupport cs = getHabitat().getService(ConfigSupport.class); + cs.apply(changes); } @Test public void clusterConfigRefInvalid() throws TransactionFailure { - Cluster cluster = habitat.getService(Cluster.class, "clusterA"); + Cluster cluster = locator.getService(Cluster.class, "clusterA"); assertNotNull(cluster); - ConfigBean serverConfig = (ConfigBean) ConfigBean.unwrap(cluster); - Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>(); - Map<String, String> configChanges = new HashMap<String, String>(); + ConfigBean serverConfig = (ConfigBean) Dom.unwrap(cluster); + Map<ConfigBean, Map<String, String>> changes = new HashMap<>(); + Map<String, String> configChanges = new HashMap<>(); configChanges.put("config-ref", "server-config-nonexist"); changes.put(serverConfig, configChanges); try { @@ -122,22 +135,4 @@ assertNotNull(cv); } } - - @Test - public void clusterConfigRefValid() throws TransactionFailure { - Cluster cluster = habitat.getService(Cluster.class, "clusterA"); - assertNotNull(cluster); - ConfigBean serverConfig = (ConfigBean) ConfigBean.unwrap(cluster); - Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>(); - Map<String, String> configChanges = new HashMap<String, String>(); - configChanges.put("config-ref", "server-config"); - changes.put(serverConfig, configChanges); - try { - ConfigSupport cs = getHabitat().getService(ConfigSupport.class); - cs.apply(changes); - } catch (TransactionFailure tf) { - fail("Can not reach this point"); - } - } - }
diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/ReferenceConstrainTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/ReferenceConstrainTest.java index b406181..fcbf233 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/ReferenceConstrainTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/validation/ReferenceConstrainTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -19,18 +20,23 @@ import com.sun.enterprise.config.serverbeans.JmxConnector; import com.sun.enterprise.config.serverbeans.Server; import com.sun.enterprise.configapi.tests.ConfigApiTest; + import java.util.HashMap; import java.util.Map; -import jakarta.validation.ConstraintViolationException; -import org.junit.Test; -import org.junit.Before; + import org.glassfish.hk2.api.ServiceLocator; import org.glassfish.tests.utils.Utils; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.jvnet.hk2.config.ConfigBean; import org.jvnet.hk2.config.ConfigSupport; +import org.jvnet.hk2.config.Dom; import org.jvnet.hk2.config.TransactionFailure; -import static org.junit.Assert.*; +import jakarta.validation.ConstraintViolationException; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.fail; /** * @@ -38,8 +44,7 @@ */ public class ReferenceConstrainTest extends ConfigApiTest { -// private Logger logger = Logger.getLogger(ReferenceConstrainTest.class.getName()); - private ServiceLocator habitat; + private ServiceLocator locator; @Override public String getFileName() { @@ -48,7 +53,7 @@ @Override public ServiceLocator getBaseServiceLocator() { - return habitat; + return locator; } private ConstraintViolationException findConstrViolation(Throwable thr) { @@ -61,18 +66,31 @@ return findConstrViolation(thr.getCause()); } - @Before + @BeforeEach public void createNewHabitat() { - this.habitat = Utils.instance.getHabitat(this); + this.locator = Utils.instance.getHabitat(this); + } + + @Test + public void serverConfigRefValid() throws TransactionFailure { + Server server = locator.getService(Server.class, "server"); + assertNotNull(server); + ConfigBean serverConfig = (ConfigBean) Dom.unwrap(server); + Map<ConfigBean, Map<String, String>> changes = new HashMap<>(); + Map<String, String> configChanges = new HashMap<>(); + configChanges.put("config-ref", "server-config"); + changes.put(serverConfig, configChanges); + ConfigSupport cs = getHabitat().getService(ConfigSupport.class); + cs.apply(changes); } @Test public void serverConfigRefInvalid() throws TransactionFailure { - Server server = habitat.getService(Server.class, "server"); + Server server = locator.getService(Server.class, "server"); assertNotNull(server); - ConfigBean serverConfig = (ConfigBean) ConfigBean.unwrap(server); - Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>(); - Map<String, String> configChanges = new HashMap<String, String>(); + ConfigBean serverConfig = (ConfigBean) Dom.unwrap(server); + Map<ConfigBean, Map<String, String>> changes = new HashMap<>(); + Map<String, String> configChanges = new HashMap<>(); configChanges.put("config-ref", "server-config-nonexist"); changes.put(serverConfig, configChanges); try { @@ -86,29 +104,25 @@ } @Test - public void serverConfigRefValid() throws TransactionFailure { - Server server = habitat.getService(Server.class, "server"); - assertNotNull(server); - ConfigBean serverConfig = (ConfigBean) ConfigBean.unwrap(server); - Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>(); - Map<String, String> configChanges = new HashMap<String, String>(); - configChanges.put("config-ref", "server-config"); + public void jmxConnectorAuthRealmRefValid() throws TransactionFailure { + JmxConnector jmxConnector = locator.getService(JmxConnector.class, "system"); + assertNotNull(jmxConnector); + ConfigBean serverConfig = (ConfigBean) Dom.unwrap(jmxConnector); + Map<ConfigBean, Map<String, String>> changes = new HashMap<>(); + Map<String, String> configChanges = new HashMap<>(); + configChanges.put("auth-realm-name", "file"); changes.put(serverConfig, configChanges); - try { - ConfigSupport cs = getHabitat().getService(ConfigSupport.class); - cs.apply(changes); - } catch (TransactionFailure tf) { - fail("Can not reach this point"); - } + ConfigSupport cs = getHabitat().getService(ConfigSupport.class); + cs.apply(changes); } @Test public void jmxConnectorAuthRealmRefInvalid() throws TransactionFailure { - JmxConnector jmxConnector = habitat.getService(JmxConnector.class, "system"); + JmxConnector jmxConnector = locator.getService(JmxConnector.class, "system"); assertNotNull(jmxConnector); - ConfigBean serverConfig = (ConfigBean) ConfigBean.unwrap(jmxConnector); - Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>(); - Map<String, String> configChanges = new HashMap<String, String>(); + ConfigBean serverConfig = (ConfigBean) Dom.unwrap(jmxConnector); + Map<ConfigBean, Map<String, String>> changes = new HashMap<>(); + Map<String, String> configChanges = new HashMap<>(); configChanges.put("auth-realm-name", "realm-not-exist"); changes.put(serverConfig, configChanges); try { @@ -121,21 +135,4 @@ } } - @Test - public void jmxConnectorAuthRealmRefValid() throws TransactionFailure { - JmxConnector jmxConnector = habitat.getService(JmxConnector.class, "system"); - assertNotNull(jmxConnector); - ConfigBean serverConfig = (ConfigBean) ConfigBean.unwrap(jmxConnector); - Map<ConfigBean, Map<String, String>> changes = new HashMap<ConfigBean, Map<String, String>>(); - Map<String, String> configChanges = new HashMap<String, String>(); - configChanges.put("auth-realm-name", "file"); - changes.put(serverConfig, configChanges); - try { - ConfigSupport cs = getHabitat().getService(ConfigSupport.class); - cs.apply(changes); - } catch (TransactionFailure tf) { - fail("Can not reach this point"); - } - } - }
diff --git a/nucleus/admin/config-api/src/test/java/org/glassfish/config/support/DomainXmlPreParserTest.java b/nucleus/admin/config-api/src/test/java/org/glassfish/config/support/DomainXmlPreParserTest.java index 3f17c02..e437c98 100644 --- a/nucleus/admin/config-api/src/test/java/org/glassfish/config/support/DomainXmlPreParserTest.java +++ b/nucleus/admin/config-api/src/test/java/org/glassfish/config/support/DomainXmlPreParserTest.java
@@ -1,5 +1,6 @@ /* * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2021 Contributors to the Eclipse Foundation * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0, which is available at @@ -16,28 +17,35 @@ package org.glassfish.config.support; -import java.io.*; -import java.net.*; -import java.util.*; +import java.net.URL; +import java.util.List; + import javax.xml.stream.XMLInputFactory; + import org.glassfish.config.support.DomainXmlPreParser.DomainXmlPreParserException; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import static org.junit.Assert.*; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.startsWith; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.fail; /** - * * @author bnevins */ public class DomainXmlPreParserTest { - public DomainXmlPreParserTest() { - } + private static URL stock, i1, i1i2, c1i1, c1i1c1i2, noconfigfori1; + private static ClassLoader classLoader = DomainXmlPreParserTest.class.getClassLoader(); + private static XMLInputFactory xif = XMLInputFactory.newInstance(); - @BeforeClass + @BeforeAll public static void setUpClass() throws Exception { stock = loadURL("parser/stock.xml"); i1 = loadURL("parser/i1.xml"); @@ -54,22 +62,10 @@ return url; } - @AfterClass - public static void tearDownClass() throws Exception { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - - @Test(expected=DomainXmlPreParser.DomainXmlPreParserException.class) + @Test public void stockDomainHasNoInstance() throws DomainXmlPreParserException { System.out.println("stockDomainHasNoInstance"); - DomainXmlPreParser pp = new DomainXmlPreParser(stock, xif, "i1"); + assertThrows(DomainXmlPreParserException.class, () -> new DomainXmlPreParser(stock, xif, "i1")); } @Test @@ -80,10 +76,10 @@ String clusterName = pp.getClusterName(); String configName = pp.getConfigName(); - assertTrue(servers.size() == 1); - assertTrue(servers.get(0).equals("i1")); + assertThat(servers, hasSize(1)); + assertEquals("i1", servers.get(0)); assertNull(clusterName); - assertEquals(configName, "i1-config"); + assertEquals("i1-config", configName); } @Test @@ -94,11 +90,10 @@ String clusterName = pp.getClusterName(); String configName = pp.getConfigName(); - assertTrue(servers.size() == 1); - assertTrue(servers.contains("i1")); - assertFalse(servers.contains("i2")); + assertThat(servers, hasSize(1)); + assertThat(servers, contains("i1")); assertNull(clusterName); - assertEquals(configName, "i1-config"); + assertEquals("i1-config", configName); } @Test @@ -109,11 +104,10 @@ String clusterName = pp.getClusterName(); String configName = pp.getConfigName(); - assertTrue(servers.size() == 1); - assertTrue(servers.contains("i2")); - assertFalse(servers.contains("i1")); + assertThat(servers, hasSize(1)); + assertThat(servers, contains("i2")); assertNull(clusterName); - assertEquals(configName, "i2-config"); + assertEquals("i2-config", configName); } @Test @@ -124,10 +118,10 @@ String clusterName = pp.getClusterName(); String configName = pp.getConfigName(); - assertTrue(servers.size() == 1); - assertTrue(servers.contains("c1i1")); - assertEquals(clusterName, "c1"); - assertEquals(configName, "c1-config"); + assertThat(servers, hasSize(1)); + assertThat(servers, contains("c1i1")); + assertEquals("c1", clusterName); + assertEquals("c1-config", configName); } @Test @@ -138,27 +132,20 @@ String clusterName = pp.getClusterName(); String configName = pp.getConfigName(); - assertTrue(servers.size() == 2); - assertTrue(servers.contains("c1i1")); - assertTrue(servers.contains("c1i2")); - assertEquals(clusterName, "c1"); - assertEquals(configName, "c1-config"); + assertThat(servers, hasSize(2)); + assertThat(servers, contains("c1i1", "c1i2")); + assertEquals("c1", clusterName); + assertEquals("c1-config", configName); } @Test public void noConfigTest() { System.out.println("noConfigTest"); try { - DomainXmlPreParser pp = new DomainXmlPreParser(noconfigfori1, xif, "i1"); + new DomainXmlPreParser(noconfigfori1, xif, "i1"); fail("Expected an exception!!!"); - } - catch(DomainXmlPreParserException e) { - assertTrue(e.getMessage().startsWith("The config element, ")); - System.out.println(e); + } catch (DomainXmlPreParserException e) { + assertThat(e.getMessage(), startsWith("The config element, ")); } } - - private static URL stock, i1, i1i2, c1i1, c1i1c1i2, noconfigfori1; - private static ClassLoader classLoader = DomainXmlPreParserTest.class.getClassLoader(); - private static XMLInputFactory xif = XMLInputFactory.newInstance(); }