[ 
https://issues.apache.org/jira/browse/ARTEMIS-3808?focusedWorklogId=768655&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-768655
 ]

ASF GitHub Bot logged work on ARTEMIS-3808:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 10/May/22 19:06
            Start Date: 10/May/22 19:06
    Worklog Time Spent: 10m 
      Work Description: jbertram commented on code in PR #4061:
URL: https://github.com/apache/activemq-artemis/pull/4061#discussion_r869592309


##########
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java:
##########
@@ -4290,6 +4292,65 @@ public boolean isStarted() {
       }
    }
 
+   @Test
+   public void testManualStopStartEmbeddedWebServer() throws Exception {
+      testStartStopEmbeddedWebServer(true);
+   }
+
+   @Test
+   public void testRestartEmbeddedWebServer() throws Exception {
+      testStartStopEmbeddedWebServer(false);
+   }
+
+   private void testStartStopEmbeddedWebServer(boolean manual) throws 
Exception {
+      class Fake implements ServiceComponent, WebServerComponentMarker {
+         boolean started = false;
+         long startTime = 0;
+
+         @Override
+         public void start() throws Exception {
+            started = true;
+            startTime = System.currentTimeMillis();
+         }
+
+         @Override
+         public void stop() throws Exception {
+         }
+
+         @Override
+         public void stop(boolean shutdown) throws Exception {
+            started = false;
+         }
+
+         @Override
+         public boolean isStarted() {
+            return started;
+         }
+
+         public long getStartTime() {
+            return startTime;
+         }
+      }
+      Fake fake = new Fake();
+      server.addExternalComponent(fake, true);
+      Assert.assertTrue(fake.isStarted());
+
+      ActiveMQServerControl serverControl = createManagementControl();
+      if (manual) {
+         serverControl.stopEmbeddedWebServer();
+         Assert.assertFalse(fake.isStarted());
+         serverControl.startEmbeddedWebServer();
+         Assert.assertTrue(fake.isStarted());
+      } else {
+         Assert.assertTrue(System.currentTimeMillis() > fake.getStartTime());
+         long time = System.currentTimeMillis();
+         Thread.sleep(1);
+         serverControl.restartEmbeddedWebServer();
+         Assert.assertTrue(time < fake.getStartTime());

Review Comment:
   Good point.



##########
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java:
##########
@@ -4290,6 +4292,65 @@ public boolean isStarted() {
       }
    }
 
+   @Test
+   public void testManualStopStartEmbeddedWebServer() throws Exception {
+      testStartStopEmbeddedWebServer(true);
+   }
+
+   @Test
+   public void testRestartEmbeddedWebServer() throws Exception {
+      testStartStopEmbeddedWebServer(false);
+   }
+
+   private void testStartStopEmbeddedWebServer(boolean manual) throws 
Exception {
+      class Fake implements ServiceComponent, WebServerComponentMarker {
+         boolean started = false;
+         long startTime = 0;
+
+         @Override
+         public void start() throws Exception {
+            started = true;
+            startTime = System.currentTimeMillis();

Review Comment:
   Done.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 768655)
    Time Spent: 2h 50m  (was: 2h 40m)

> Support starting/stopping the embedded web server via mangement
> ---------------------------------------------------------------
>
>                 Key: ARTEMIS-3808
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3808
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>          Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> It would be useful to be able to cycle the embedded web server if, for 
> example, one needed to renew the SSL certificates.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to