1414
1515import static com .ibm .websphere .simplicity .ShrinkHelper .DeployOptions .DISABLE_VALIDATION ;
1616import static com .ibm .websphere .simplicity .ShrinkHelper .DeployOptions .SERVER_ONLY ;
17- import static org .junit .Assert .assertNotNull ;
1817
1918import java .util .ArrayList ;
2019import java .util .Arrays ;
4342import componenttest .annotation .Server ;
4443import componenttest .custom .junit .runner .FATRunner ;
4544import componenttest .rules .repeater .RepeatTests ;
45+ import componenttest .topology .impl .LibertyFileManager ;
4646import componenttest .topology .impl .LibertyServer ;
4747import componenttest .topology .utils .HttpRequest ;
4848import io .openliberty .microprofile .openapi20 .fat .FATSuite ;
@@ -68,17 +68,13 @@ public class MergeServerXMLTest {
6868 @ ClassRule
6969 public static RepeatTests r = FATSuite .repeatDefault (SERVER_NAME );
7070
71- private final Map <String , Archive <?>> deployedConfiguredApps = new HashMap <>(); //configued in server.xml
72- private final List <String > deployedApps = new ArrayList <>(); //apps in dropins
73-
7471 @ BeforeClass
7572 public static void setupServer () throws Exception {
7673 //This will be ignored because we have openapi includes/excludes in server.xml
7774 server .setAdditionalSystemProperties (
7875 Collections .singletonMap ("mp_openapi_extensions_liberty_merged_include" , "none" ));
7976 server .saveServerConfiguration ();
8077 server .startServer ();
81- server .waitForStringInLogUsingMark ("CWWKF0011I" ); //ready to run a smarter planet
8278 }
8379
8480 @ AfterClass
@@ -89,25 +85,14 @@ public static void shutdownServer() throws Exception {
8985 @ After
9086 public void cleanup () throws Exception {
9187 server .setMarkToEndOfLog ();
92- server .deleteAllDropinApplications ();
9388
94- List <String > failedToStop = new ArrayList <>();
95- for (String app : deployedApps ) {
96- if (server .waitForStringInLogUsingMark ("CWWKZ0009I:.*" + app ) == null ) {
97- failedToStop .add (app );
98- }
99- }
89+ server .deleteAllDropinApplications (); // Will stop all dropin apps
90+ server .restoreServerConfiguration (); // Will stop all apps deployed via server.xml
91+ server .removeAllInstalledAppsForValidation (); // Validates that all apps stop
10092
101- for (String app : deployedConfiguredApps .keySet ()) {
102- if (deleteAppFromApps (deployedConfiguredApps .get (app ), app ) == null ) {
103- failedToStop .add (app );
104- }
105- }
106-
107- if (!failedToStop .isEmpty ()) {
108- throw new AssertionError ("The following apps failed to stop: " + failedToStop );
109- }
110- server .restoreServerConfiguration ();
93+ // Delete everything from the apps directory
94+ server .deleteDirectoryFromLibertyServerRoot ("apps" );
95+ LibertyFileManager .createRemoteFile (server .getMachine (), server .getServerRoot () + "/apps" ).mkdir ();
11196 }
11297
11398 @ Test
@@ -129,16 +114,10 @@ public void testMultiModuleEarWithServerXMLAppNameAndWebXmlModuleName() throws E
129114
130115 String appName = "serverXMLName" ;
131116
132- MpOpenAPIElement .MpOpenAPIElementBuilder builder = MpOpenAPIElementBuilder .cloneBuilderFromServerResetAppsAndModules (server )
133- .addIncludedApplicaiton ("serverXMLName" )
134- .addExcludedModule ("serverXMLName/nameFromWar" );
135-
136- ServerConfiguration serverConfig = server .getServerConfiguration ().clone ();
137- serverConfig .addApplication (appName , "testEar.ear" , "ear" );
138- MpOpenAPIElement openAPIConfig = serverConfig .getMpOpenAPIElement ();
139- builder .buildAndOverwrite (openAPIConfig );
140-
141- server .updateServerConfiguration (serverConfig );
117+ MpOpenAPIElementBuilder .cloneBuilderFromServerResetAppsAndModules (server )
118+ .addIncludedApplicaiton ("serverXMLName" )
119+ .addExcludedModule ("serverXMLName/nameFromWar" )
120+ .buildAndPushToServer ();
142121
143122 WebArchive war1 = ShrinkWrap .create (WebArchive .class , "test1.war" )
144123 .addClasses (DeploymentTestApp .class , DeploymentTestResource .class );
@@ -153,7 +132,7 @@ public void testMultiModuleEarWithServerXMLAppNameAndWebXmlModuleName() throws E
153132 EnterpriseArchive ear = ShrinkWrap .create (EnterpriseArchive .class , "testEar.ear" )
154133 .addAsModules (war1 , war2 , war3 );
155134
156- deployAppToApps (ear , appName );
135+ deployAppToApps (ear , appName , "ear" );
157136
158137 String doc = OpenAPIConnection .openAPIDocsConnection (server , false ).download ();
159138 JsonNode openapiNode = OpenAPITestUtil .readYamlTree (doc );
@@ -233,46 +212,18 @@ private void assertServerContextRoot(JsonNode model,
233212 }
234213
235214 private void deployApp (Archive <?> archive ) throws Exception {
236- server .setMarkToEndOfLog ();
237- server .setTraceMarkToEndOfDefaultTrace ();
238- ShrinkHelper .exportDropinAppToServer (server , archive , SERVER_ONLY , DISABLE_VALIDATION );
239- assertNotNull (server .waitForStringInLogUsingMark ("CWWKZ0001I:.*" + getName (archive )));
240- deployedApps .add (getName (archive ));
241- }
242-
243- private void deployAppToApps (Archive <?> archive , String appName ) throws Exception {
244- deployAppToApps (archive , appName , true );
215+ ShrinkHelper .exportDropinAppToServer (server , archive , SERVER_ONLY );
245216 }
246217
247- private void deployAppToApps (Archive <?> archive , String appName , boolean serverStarted ) throws Exception {
248- server .setMarkToEndOfLog ();
249- server .setTraceMarkToEndOfDefaultTrace ();
218+ private void deployAppToApps (Archive <?> archive , String appName , String appType ) throws Exception {
219+ // Deploy the app archive
250220 ShrinkHelper .exportAppToServer (server , archive , SERVER_ONLY , DISABLE_VALIDATION );
251- if (serverStarted ) {
252- assertNotNull (server .waitForStringInLogUsingMark ("CWWKZ0001I:.*" + getName (appName )));
253- }
254- deployedConfiguredApps .put (appName , archive );
255- }
256-
257- private String deleteAppFromApps (Archive <?> archive , String appName ) throws Exception {
221+ // Add app to server configuration
258222 ServerConfiguration sc = server .getServerConfiguration ();
259- sc .removeApplicationsByName (appName );
223+ sc .addApplication (appName , archive . getName (), appType );
260224 server .updateServerConfiguration (sc );
261- server .deleteFileFromLibertyServerRoot ("apps/" + archive .getName ());
262- deployedConfiguredApps .remove (appName );
263- return server .waitForStringInLogUsingMark ("CWWKZ0009I:.*" + getName (appName ));
264- }
265-
266- private String getName (Archive <?> archive ) {
267- return getName (archive .getName ());
268- }
269-
270- private String getName (String fileName ) {
271- int lastDot = fileName .lastIndexOf ('.' );
272- if (lastDot != -1 ) {
273- fileName = fileName .substring (0 , lastDot );
274- }
275- return fileName ;
225+ // Wait for app to start
226+ server .addInstalledAppForValidation (appName );
276227 }
277228
278229 private void logOnServer (String pathUpToEndpoint , String message ) throws Exception {
0 commit comments