You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by ma...@apache.org on 2017/06/26 17:27:37 UTC

[16/18] metron git commit: METRON-906 Rest service storm configuration does not allow for proper URLs (justinleet via ottobackwards) closes apache/metron#602

METRON-906 Rest service storm configuration does not allow for proper URLs (justinleet via ottobackwards) closes apache/metron#602


Project: http://git-wip-us.apache.org/repos/asf/metron/repo
Commit: http://git-wip-us.apache.org/repos/asf/metron/commit/f523c179
Tree: http://git-wip-us.apache.org/repos/asf/metron/tree/f523c179
Diff: http://git-wip-us.apache.org/repos/asf/metron/diff/f523c179

Branch: refs/heads/Metron_0.4.0
Commit: f523c179585bea3a61f99c694d2752fc6ceb7a3b
Parents: 30d0e2a
Author: justinleet <ju...@gmail.com>
Authored: Fri Jun 16 10:16:27 2017 -0400
Committer: otto <ot...@apache.org>
Committed: Fri Jun 16 10:16:27 2017 -0400

----------------------------------------------------------------------
 .../METRON/CURRENT/configuration/metron-env.xml |  2 +-
 .../METRON/CURRENT/service_advisor.py           |  6 +-
 .../roles/ambari_config/vars/single_node_vm.yml |  2 +-
 .../roles/ambari_config/vars/small_cluster.yml  |  2 +-
 .../service/impl/StormStatusServiceImpl.java    | 19 +++--
 .../src/main/resources/application-vagrant.yml  |  2 +-
 .../metron/rest/mock/MockStormRestTemplate.java | 13 +++-
 .../impl/StormStatusServiceImplTest.java        | 73 +++++++++++++-------
 8 files changed, 83 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metron/blob/f523c179/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/configuration/metron-env.xml
----------------------------------------------------------------------
diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/configuration/metron-env.xml b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/configuration/metron-env.xml
index 3e5a405..00c48a6 100644
--- a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/configuration/metron-env.xml
+++ b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/configuration/metron-env.xml
@@ -224,7 +224,7 @@
     <property require-input = "true">
         <name>storm_rest_addr</name>
         <display-name>Storm Rest Server Address</display-name>
-        <description>URL of Storm UI (storm.ui.hostname:8744)</description>
+        <description>URL of Storm UI (http://storm.ui.hostname:8744). If no protocol is provided, http is assumed.</description>
         <value></value>
     </property>
     <property require-input = "true">

http://git-wip-us.apache.org/repos/asf/metron/blob/f523c179/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/service_advisor.py
----------------------------------------------------------------------
diff --git a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/service_advisor.py b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/service_advisor.py
index 7da06f5..4a95e63 100644
--- a/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/service_advisor.py
+++ b/metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/service_advisor.py
@@ -108,7 +108,11 @@ class METRON${metron.short.version}ServiceAdvisor(service_advisor.ServiceAdvisor
         if "storm-site" in services["configurations"]:
             stormUIServerHost = self.getComponentHostNames(services, "STORM", "STORM_UI_SERVER")[0]
             stormUIServerPort = services["configurations"]["storm-site"]["properties"]["ui.port"]
-            stormUIServerURL = stormUIServerHost + ":" + stormUIServerPort
+            stormUIProtocol = "http://"
+            if "ui.https.port" in services["configurations"]["storm-site"]["properties"]:
+                stormUIServerPort = services["configurations"]["storm-site"]["properties"]["ui.https.port"]
+                stormUIProtocol = "https://"
+            stormUIServerURL = stormUIProtocol + stormUIServerHost + ":" + stormUIServerPort
             putMetronEnvProperty = self.putProperty(configurations, "metron-env", services)
             putMetronEnvProperty("storm_rest_addr",stormUIServerURL)
 

http://git-wip-us.apache.org/repos/asf/metron/blob/f523c179/metron-deployment/roles/ambari_config/vars/single_node_vm.yml
----------------------------------------------------------------------
diff --git a/metron-deployment/roles/ambari_config/vars/single_node_vm.yml b/metron-deployment/roles/ambari_config/vars/single_node_vm.yml
index 7e54db3..6a36fac 100644
--- a/metron-deployment/roles/ambari_config/vars/single_node_vm.yml
+++ b/metron-deployment/roles/ambari_config/vars/single_node_vm.yml
@@ -103,7 +103,7 @@ configurations:
 
 required_configurations:
   - metron-env:
-      storm_rest_addr: "{{ groups.ambari_slave[0] }}:8744"
+      storm_rest_addr: "http://{{ groups.ambari_slave[0] }}:8744"
       es_hosts: "{{ groups.search | join(',') }}"
       zeppelin_server_url: "{{ groups.zeppelin[0] }}:9995"
       metron_jdbc_driver: "org.h2.Driver"

http://git-wip-us.apache.org/repos/asf/metron/blob/f523c179/metron-deployment/roles/ambari_config/vars/small_cluster.yml
----------------------------------------------------------------------
diff --git a/metron-deployment/roles/ambari_config/vars/small_cluster.yml b/metron-deployment/roles/ambari_config/vars/small_cluster.yml
index dbcfb60..af22cb6 100644
--- a/metron-deployment/roles/ambari_config/vars/small_cluster.yml
+++ b/metron-deployment/roles/ambari_config/vars/small_cluster.yml
@@ -96,7 +96,7 @@ configurations:
 
 required_configurations:
   - metron-env:
-      storm_rest_addr: "{{ groups.ambari_slave[1] }}:8744"
+      storm_rest_addr: "http://{{ groups.ambari_slave[1] }}:8744"
       es_hosts: "{{ groups.web[0] }},{{ groups.search | join(',') }}"
       zeppelin_server_url: "{{ groups.zeppelin[0] }}"
       metron_jdbc_driver: "org.h2.Driver"

http://git-wip-us.apache.org/repos/asf/metron/blob/f523c179/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/StormStatusServiceImpl.java
----------------------------------------------------------------------
diff --git a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/StormStatusServiceImpl.java b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/StormStatusServiceImpl.java
index a02ee75..9f89a3c 100644
--- a/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/StormStatusServiceImpl.java
+++ b/metron-interface/metron-rest/src/main/java/org/apache/metron/rest/service/impl/StormStatusServiceImpl.java
@@ -50,7 +50,7 @@ public class StormStatusServiceImpl implements StormStatusService {
 
   @Override
   public TopologySummary getTopologySummary() {
-    return restTemplate.getForObject("http://" + environment.getProperty(STORM_UI_SPRING_PROPERTY) + TOPOLOGY_SUMMARY_URL, TopologySummary.class);
+    return restTemplate.getForObject(getStormUiProperty() + TOPOLOGY_SUMMARY_URL, TopologySummary.class);
   }
 
   @Override
@@ -64,7 +64,7 @@ public class StormStatusServiceImpl implements StormStatusService {
       }
     }
     if (id != null) {
-      topologyResponse = restTemplate.getForObject("http://" + environment.getProperty(STORM_UI_SPRING_PROPERTY) + TOPOLOGY_URL + "/" + id, TopologyStatus.class);
+      topologyResponse = restTemplate.getForObject(getStormUiProperty() + TOPOLOGY_URL + "/" + id, TopologyStatus.class);
     }
     return topologyResponse;
   }
@@ -73,7 +73,7 @@ public class StormStatusServiceImpl implements StormStatusService {
   public List<TopologyStatus> getAllTopologyStatus() {
     List<TopologyStatus> topologyStatus = new ArrayList<>();
     for (TopologyStatus topology : getTopologySummary().getTopologies()) {
-      topologyStatus.add(restTemplate.getForObject("http://" + environment.getProperty(STORM_UI_SPRING_PROPERTY) + TOPOLOGY_URL + "/" + topology.getId(), TopologyStatus.class));
+      topologyStatus.add(restTemplate.getForObject(getStormUiProperty() + TOPOLOGY_URL + "/" + topology.getId(), TopologyStatus.class));
     }
     return topologyStatus;
   }
@@ -89,7 +89,7 @@ public class StormStatusServiceImpl implements StormStatusService {
       }
     }
     if (id != null) {
-      Map result = restTemplate.postForObject("http://" + environment.getProperty(STORM_UI_SPRING_PROPERTY) + TOPOLOGY_URL + "/" + id + "/activate", null, Map.class);
+      Map result = restTemplate.postForObject(getStormUiProperty() + TOPOLOGY_URL + "/" + id + "/activate", null, Map.class);
       if("success".equals(result.get("status"))) {
         topologyResponse.setSuccessMessage(TopologyStatusCode.ACTIVE.toString());
       } else {
@@ -112,7 +112,7 @@ public class StormStatusServiceImpl implements StormStatusService {
       }
     }
     if (id != null) {
-      Map result = restTemplate.postForObject("http://" + environment.getProperty(STORM_UI_SPRING_PROPERTY) + TOPOLOGY_URL + "/" + id + "/deactivate", null, Map.class);
+      Map result = restTemplate.postForObject(getStormUiProperty() + TOPOLOGY_URL + "/" + id + "/deactivate", null, Map.class);
       if("success".equals(result.get("status"))) {
         topologyResponse.setSuccessMessage(TopologyStatusCode.INACTIVE.toString());
       } else {
@@ -123,4 +123,13 @@ public class StormStatusServiceImpl implements StormStatusService {
     }
     return topologyResponse;
   }
+
+  // If we don't have a protocol, choose http
+  protected String getStormUiProperty() {
+    String baseValue = environment.getProperty(STORM_UI_SPRING_PROPERTY);
+    if(!(baseValue.contains("://"))) {
+      return "http://" + baseValue;
+    }
+    return baseValue;
+  }
 }

http://git-wip-us.apache.org/repos/asf/metron/blob/f523c179/metron-interface/metron-rest/src/main/resources/application-vagrant.yml
----------------------------------------------------------------------
diff --git a/metron-interface/metron-rest/src/main/resources/application-vagrant.yml b/metron-interface/metron-rest/src/main/resources/application-vagrant.yml
index c4964c0..1884ca3 100644
--- a/metron-interface/metron-rest/src/main/resources/application-vagrant.yml
+++ b/metron-interface/metron-rest/src/main/resources/application-vagrant.yml
@@ -42,7 +42,7 @@ grok:
 
 storm:
   ui:
-    url:   node1:8744
+    url:   http://node1:8744
   parser:
     script.path: /usr/metron/${metron.version}/bin/start_parser_topology.sh
   enrichment:

http://git-wip-us.apache.org/repos/asf/metron/blob/f523c179/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/mock/MockStormRestTemplate.java
----------------------------------------------------------------------
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/mock/MockStormRestTemplate.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/mock/MockStormRestTemplate.java
index ca5c1c9..ebdefcd 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/mock/MockStormRestTemplate.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/mock/MockStormRestTemplate.java
@@ -45,7 +45,7 @@ public class MockStormRestTemplate extends RestTemplate {
   @Override
   public Object getForObject(String url, Class responseType, Object... urlVariables) throws RestClientException {
     Object response = null;
-    if (url.equals("http://" + environment.getProperty(MetronRestConstants.STORM_UI_SPRING_PROPERTY) + MetronRestConstants.TOPOLOGY_SUMMARY_URL)) {
+    if (url.equals(getStormUiProperty() + MetronRestConstants.TOPOLOGY_SUMMARY_URL)) {
       TopologySummary topologySummary = new TopologySummary();
       List<TopologyStatus> topologyStatusList = new ArrayList<>();
       for(String name: mockStormCLIClientWrapper.getParserTopologyNames()) {
@@ -61,7 +61,7 @@ public class MockStormRestTemplate extends RestTemplate {
       }
       topologySummary.setTopologies(topologyStatusList.toArray(new TopologyStatus[topologyStatusList.size()]));
       response =  topologySummary;
-    } else if (url.startsWith("http://" + environment.getProperty(MetronRestConstants.STORM_UI_SPRING_PROPERTY) + MetronRestConstants.TOPOLOGY_URL + "/")){
+    } else if (url.startsWith(getStormUiProperty() + MetronRestConstants.TOPOLOGY_URL + "/")){
       String name = url.substring(url.lastIndexOf('/') + 1, url.length()).replaceFirst("-id", "");
       response = getTopologyStatus(name);
     }
@@ -113,4 +113,13 @@ public class MockStormRestTemplate extends RestTemplate {
     }
     return result;
   }
+
+  // If we don't have a protocol, prepend one
+  protected String getStormUiProperty() {
+    String baseValue = environment.getProperty(MetronRestConstants.STORM_UI_SPRING_PROPERTY);
+    if(!(baseValue.contains("://"))) {
+      return "http://" + baseValue;
+    }
+    return baseValue;
+  }
 }

http://git-wip-us.apache.org/repos/asf/metron/blob/f523c179/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormStatusServiceImplTest.java
----------------------------------------------------------------------
diff --git a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormStatusServiceImplTest.java b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormStatusServiceImplTest.java
index db2cb7f..606fed4 100644
--- a/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormStatusServiceImplTest.java
+++ b/metron-interface/metron-rest/src/test/java/org/apache/metron/rest/service/impl/StormStatusServiceImplTest.java
@@ -42,6 +42,10 @@ import static org.mockito.Mockito.when;
 
 @SuppressWarnings("ALL")
 public class StormStatusServiceImplTest {
+
+  private static final String HTTP_STORM_UI = "http://storm_ui";
+  private static final String HTTPS_STORM_UI = "https://storm_ui";
+  private static final String NO_PROTOCOL_STORM_UI = "storm_ui";
   @Rule
   public final ExpectedException exception = ExpectedException.none();
 
@@ -57,6 +61,27 @@ public class StormStatusServiceImplTest {
   }
 
   @Test
+  public void testgetStormUiPropertyHttp() {
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    StormStatusServiceImpl serviceImpl = (StormStatusServiceImpl) stormStatusService;
+    assertEquals(HTTP_STORM_UI, serviceImpl.getStormUiProperty());
+  }
+
+  @Test
+  public void testgetStormUiPropertyHttps() {
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTPS_STORM_UI);
+    StormStatusServiceImpl serviceImpl = (StormStatusServiceImpl) stormStatusService;
+    assertEquals(HTTPS_STORM_UI, serviceImpl.getStormUiProperty());
+  }
+
+  @Test
+  public void testgetStormUiPropertyNoProtocol() {
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(NO_PROTOCOL_STORM_UI);
+    StormStatusServiceImpl serviceImpl = (StormStatusServiceImpl) stormStatusService;
+    assertEquals(HTTP_STORM_UI, serviceImpl.getStormUiProperty());
+  }
+
+  @Test
   public void getTopologySummaryShouldReturnTopologySummary() throws Exception {
     final TopologyStatus topologyStatus = new TopologyStatus();
     topologyStatus.setStatus(TopologyStatusCode.STARTED);
@@ -65,8 +90,8 @@ public class StormStatusServiceImplTest {
     final TopologySummary topologySummary = new TopologySummary();
     topologySummary.setTopologies(new TopologyStatus[]{topologyStatus});
 
-    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn("storm_ui");
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
 
     TopologyStatus expectedStatus = new TopologyStatus();
     expectedStatus.setStatus(TopologyStatusCode.STARTED);
@@ -89,9 +114,9 @@ public class StormStatusServiceImplTest {
     final TopologySummary topologySummary = new TopologySummary();
     topologySummary.setTopologies(new TopologyStatus[]{topologyStatus});
 
-    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn("storm_ui");
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_URL + "/bro_id", TopologyStatus.class)).thenReturn(topologyStatus);
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_URL + "/bro_id", TopologyStatus.class)).thenReturn(topologyStatus);
 
     TopologyStatus expected = new TopologyStatus();
     expected.setStatus(TopologyStatusCode.STARTED);
@@ -112,9 +137,9 @@ public class StormStatusServiceImplTest {
     final TopologySummary topologySummary = new TopologySummary();
     topologySummary.setTopologies(new TopologyStatus[]{topologyStatus});
 
-    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn("storm_ui");
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_URL + "/bro_id", TopologyStatus.class)).thenReturn(topologyStatus);
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_URL + "/bro_id", TopologyStatus.class)).thenReturn(topologyStatus);
 
     TopologyStatus expected = new TopologyStatus();
     expected.setStatus(TopologyStatusCode.STARTED);
@@ -133,9 +158,9 @@ public class StormStatusServiceImplTest {
     final TopologySummary topologySummary = new TopologySummary();
     topologySummary.setTopologies(new TopologyStatus[]{topologyStatus});
 
-    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn("storm_ui");
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
-    when(restTemplate.postForObject("http://storm_ui" + TOPOLOGY_URL + "/bro_id/activate", null, Map.class))
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
+    when(restTemplate.postForObject(HTTP_STORM_UI + TOPOLOGY_URL + "/bro_id/activate", null, Map.class))
             .thenReturn(new HashMap() {{ put("status", "success"); }});
 
     TopologyResponse expected = new TopologyResponse();
@@ -151,9 +176,9 @@ public class StormStatusServiceImplTest {
     final TopologySummary topologySummary = new TopologySummary();
     topologySummary.setTopologies(new TopologyStatus[]{topologyStatus});
 
-    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn("storm_ui");
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
-    when(restTemplate.postForObject("http://storm_ui" + TOPOLOGY_URL + "/bro_id/activate", null, Map.class))
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
+    when(restTemplate.postForObject(HTTP_STORM_UI + TOPOLOGY_URL + "/bro_id/activate", null, Map.class))
             .thenReturn(new HashMap() {{ put("status", "error message"); }});
 
     TopologyResponse expected = new TopologyResponse();
@@ -163,8 +188,8 @@ public class StormStatusServiceImplTest {
 
   @Test
   public void activateTopologyShouldReturnTopologyNotFoundTopologyResponse() {
-    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn("storm_ui");
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(new TopologySummary());
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(new TopologySummary());
 
     TopologyResponse expected = new TopologyResponse();
     expected.setErrorMessage(TopologyStatusCode.TOPOLOGY_NOT_FOUND.toString());
@@ -179,9 +204,9 @@ public class StormStatusServiceImplTest {
     final TopologySummary topologySummary = new TopologySummary();
     topologySummary.setTopologies(new TopologyStatus[]{topologyStatus});
 
-    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn("storm_ui");
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
-    when(restTemplate.postForObject("http://storm_ui" + TOPOLOGY_URL + "/bro_id/deactivate", null, Map.class))
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
+    when(restTemplate.postForObject(HTTP_STORM_UI + TOPOLOGY_URL + "/bro_id/deactivate", null, Map.class))
             .thenReturn(new HashMap() {{ put("status", "success"); }});
 
     TopologyResponse expected = new TopologyResponse();
@@ -197,9 +222,9 @@ public class StormStatusServiceImplTest {
     final TopologySummary topologySummary = new TopologySummary();
     topologySummary.setTopologies(new TopologyStatus[]{topologyStatus});
 
-    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn("storm_ui");
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
-    when(restTemplate.postForObject("http://storm_ui" + TOPOLOGY_URL + "/bro_id/deactivate", null, Map.class))
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(topologySummary);
+    when(restTemplate.postForObject(HTTP_STORM_UI + TOPOLOGY_URL + "/bro_id/deactivate", null, Map.class))
             .thenReturn(new HashMap() {{ put("status", "error message"); }});
 
     TopologyResponse expected = new TopologyResponse();
@@ -209,8 +234,8 @@ public class StormStatusServiceImplTest {
 
   @Test
   public void deactivateTopologyShouldReturnTopologyNotFoundTopologyResponse() {
-    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn("storm_ui");
-    when(restTemplate.getForObject("http://storm_ui" + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(new TopologySummary());
+    when(environment.getProperty(STORM_UI_SPRING_PROPERTY)).thenReturn(HTTP_STORM_UI);
+    when(restTemplate.getForObject(HTTP_STORM_UI + TOPOLOGY_SUMMARY_URL, TopologySummary.class)).thenReturn(new TopologySummary());
 
     TopologyResponse expected = new TopologyResponse();
     expected.setErrorMessage(TopologyStatusCode.TOPOLOGY_NOT_FOUND.toString());