clarify when /v1/ is or is not required, fixing many integration tests

and remove warnings


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/96d804a7
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/96d804a7
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/96d804a7

Branch: refs/heads/master
Commit: 96d804a75a660a618e0083fe1863006056406703
Parents: 3ab0040
Author: Alex Heneveld <alex.henev...@cloudsoftcorp.com>
Authored: Thu Feb 18 13:40:15 2016 +0000
Committer: Alex Heneveld <alex.henev...@cloudsoftcorp.com>
Committed: Thu Feb 18 13:40:15 2016 +0000

----------------------------------------------------------------------
 .../rest/transform/CatalogTransformer.java      |  5 ++
 .../util/json/BrooklynJacksonJsonProvider.java  |  2 +-
 .../json/ConfigurableSerializerProvider.java    |  1 +
 .../rest/resources/ApplicationResourceTest.java |  4 +-
 .../SensorResourceIntegrationTest.java          |  6 +--
 .../rest/resources/ServerShutdownTest.java      |  2 +-
 .../brooklynnode/DeployBlueprintTest.java       |  8 +--
 .../rest/testing/mocks/RestMockAppBuilder.java  |  1 +
 .../testing/mocks/RestMockSimpleEntity.java     |  8 +--
 .../BrooklynPropertiesSecurityFilterTest.java   | 12 ++---
 .../rest/BrooklynRestApiLauncherTest.java       |  8 +--
 .../BrooklynRestApiLauncherTestFixture.java     | 19 ++++++--
 .../brooklyn/rest/HaMasterCheckFilterTest.java  | 51 ++++++++++----------
 .../AbstractRestApiEntitlementsTest.java        |  8 +--
 .../ServerResourceIntegrationTest.java          |  8 +--
 .../java/org/apache/brooklyn/test/Asserts.java  |  4 +-
 16 files changed, 84 insertions(+), 63 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java
 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java
index e584a9a..7e0d8bc 100644
--- 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java
+++ 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/CatalogTransformer.java
@@ -56,14 +56,19 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Sets;
+
 import javax.ws.rs.core.UriBuilder;
+
 import org.apache.brooklyn.rest.api.CatalogApi;
+
 import static org.apache.brooklyn.rest.util.WebResourceUtils.serviceUriBuilder;
 
+@SuppressWarnings("deprecation")
 public class CatalogTransformer {
 
     private static final org.slf4j.Logger log = 
LoggerFactory.getLogger(CatalogTransformer.class);
     
+    @SuppressWarnings({ "unchecked", "rawtypes" })
     public static <T extends Entity> CatalogEntitySummary 
catalogEntitySummary(BrooklynRestResourceUtils b, CatalogItem<T,EntitySpec<? 
extends T>> item, UriBuilder ub) {
         Set<EntityConfigSummary> config = Sets.newLinkedHashSet();
         Set<SensorSummary> sensors = 
Sets.newTreeSet(SummaryComparators.nameComparator());

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java
 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java
index 9c6704d..7083eb6 100644
--- 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java
+++ 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java
@@ -158,7 +158,7 @@ public class BrooklynJacksonJsonProvider extends 
JacksonJsonProvider implements
         mapper.setSerializerProvider(sp);
         mapper.setVisibilityChecker(new 
PossiblyStrictPreferringFieldsVisibilityChecker());
 
-        SimpleModule mapperModule = new SimpleModule("Brooklyn", new 
Version(0, 0, 0, "ignored"));
+        SimpleModule mapperModule = new SimpleModule("Brooklyn", new 
Version(0, 0, 0, "ignored", null, null));
 
         new 
BidiSerialization.ManagementContextSerialization(mgmt).install(mapperModule);
         new BidiSerialization.EntitySerialization(mgmt).install(mapperModule);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/ConfigurableSerializerProvider.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/ConfigurableSerializerProvider.java
 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/ConfigurableSerializerProvider.java
index 1b87e76..b77202f 100644
--- 
a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/ConfigurableSerializerProvider.java
+++ 
b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/util/json/ConfigurableSerializerProvider.java
@@ -33,6 +33,7 @@ import com.fasterxml.jackson.databind.ser.SerializerFactory;
 /** allows the serializer-of-last-resort to be customized, ie used for 
unknown-types */
 final class ConfigurableSerializerProvider extends DefaultSerializerProvider {
 
+    private static final long serialVersionUID = 6094990395562170217L;
     protected JsonSerializer<Object> unknownTypeSerializer;
 
     public ConfigurableSerializerProvider() {}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ApplicationResourceTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ApplicationResourceTest.java
 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ApplicationResourceTest.java
index b9a6e9b..a6abe0f 100644
--- 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ApplicationResourceTest.java
+++ 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ApplicationResourceTest.java
@@ -64,7 +64,6 @@ import 
org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
 import org.apache.brooklyn.rest.testing.mocks.CapitalizePolicy;
 import org.apache.brooklyn.rest.testing.mocks.NameMatcherGroup;
 import org.apache.brooklyn.rest.testing.mocks.RestMockApp;
-import org.apache.brooklyn.rest.testing.mocks.RestMockAppBuilder;
 import org.apache.brooklyn.rest.testing.mocks.RestMockSimpleEntity;
 import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.util.collections.CollectionFunctionals;
@@ -209,10 +208,11 @@ public class ApplicationResourceTest extends 
BrooklynRestResourceTest {
         
assertEquals(client().path(appUri).get(ApplicationSummary.class).getSpec().getName(),
 "simple-app-interface");
     }
 
+    @SuppressWarnings("deprecation")
     @Test(dependsOnMethods = { "testDeployApplication", "testLocatedLocation" 
})
     public void testDeployApplicationFromBuilder() throws Exception {
         ApplicationSpec spec = ApplicationSpec.builder()
-                .type(RestMockAppBuilder.class.getCanonicalName())
+                
.type(org.apache.brooklyn.rest.testing.mocks.RestMockAppBuilder.class.getCanonicalName())
                 .name("simple-app-builder")
                 .locations(ImmutableSet.of("localhost"))
                 .build();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
index 9b7214d..2a6b564 100644
--- 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
+++ 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
@@ -26,9 +26,10 @@ import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.core.entity.EntityInternal;
 import org.apache.brooklyn.core.entity.EntityPredicates;
 import org.apache.brooklyn.entity.stock.BasicApplication;
+import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
 import org.apache.brooklyn.rest.testing.mocks.RestMockSimpleEntity;
-import org.apache.brooklyn.test.HttpTestUtils;
 import org.apache.brooklyn.util.collections.MutableList;
+import org.apache.brooklyn.util.http.HttpAsserts;
 import org.apache.brooklyn.util.http.HttpTool;
 import org.apache.brooklyn.util.http.HttpToolResponse;
 import org.apache.brooklyn.util.net.Urls;
@@ -39,7 +40,6 @@ import org.testng.annotations.Test;
 
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
-import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
 
 public class SensorResourceIntegrationTest extends BrooklynRestResourceTest {
 
@@ -67,7 +67,7 @@ public class SensorResourceIntegrationTest extends 
BrooklynRestResourceTest {
         // Uses explicit "application/json" because failed on jenkins as 
though "text/plain" was the default on Ubuntu jenkins!
         HttpClient client = HttpTool.httpClientBuilder().uri(baseUri).build();
         HttpToolResponse response = HttpTool.httpGet(client, url, 
ImmutableMap.<String, String>of("Accept", "application/json"));
-        HttpTestUtils.assertHealthyStatusCode(response.getResponseCode());
+        HttpAsserts.assertHealthyStatusCode(response.getResponseCode());
         Assert.assertEquals(response.getContentAsString(), "\"12345 frogs\"");
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java
 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java
index 9d55482..18c3deb 100644
--- 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java
+++ 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java
@@ -65,7 +65,7 @@ public class ServerShutdownTest extends 
BrooklynRestResourceTest {
         assertTrue(getManagementContext().isRunning());
         assertFalse(shutdownListener.isRequested());
 
-        MultivaluedMap<String, String> formData = new MultivaluedHashMap();
+        MultivaluedMap<String, String> formData = new 
MultivaluedHashMap<String,String>();
         formData.add("requestTimeout", "0");
         formData.add("delayForHttpReturn", "0");
         
client().path("/server/shutdown").type(MediaType.APPLICATION_FORM_URLENCODED).post(formData);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/test/entity/brooklynnode/DeployBlueprintTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/test/entity/brooklynnode/DeployBlueprintTest.java
 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/test/entity/brooklynnode/DeployBlueprintTest.java
index 0113d39..87d4604 100644
--- 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/test/entity/brooklynnode/DeployBlueprintTest.java
+++ 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/test/entity/brooklynnode/DeployBlueprintTest.java
@@ -30,8 +30,9 @@ import org.apache.brooklyn.entity.brooklynnode.BrooklynNode;
 import 
org.apache.brooklyn.entity.brooklynnode.BrooklynNode.DeployBlueprintEffector;
 import org.apache.brooklyn.entity.stock.BasicApplication;
 import org.apache.brooklyn.feed.http.JsonFunctions;
-import org.apache.brooklyn.test.HttpTestUtils;
+import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
 import org.apache.brooklyn.util.guava.Functionals;
+import org.apache.brooklyn.util.http.HttpTool;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.annotations.Test;
@@ -39,7 +40,6 @@ import org.testng.annotations.Test;
 import com.google.common.base.Function;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
-import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
 
 public class DeployBlueprintTest extends BrooklynRestResourceTest {
 
@@ -77,11 +77,11 @@ public class DeployBlueprintTest extends 
BrooklynRestResourceTest {
 
         log.info("got: "+id);
 
-        String apps = HttpTestUtils.getContent(getEndpointAddress() + 
"/applications");
+        String apps = HttpTool.getContent(getEndpointAddress() + 
"/applications");
         List<String> appType = parseJsonList(apps, ImmutableList.of("spec", 
"type"), String.class);
         assertEquals(appType, 
ImmutableList.of(BasicApplication.class.getName()));
 
-        String status = 
HttpTestUtils.getContent(getEndpointAddress()+"/applications/"+id+"/entities/"+id+"/sensors/service.status");
+        String status = 
HttpTool.getContent(getEndpointAddress()+"/applications/"+id+"/entities/"+id+"/sensors/service.status");
         log.info("STATUS: "+status);
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockAppBuilder.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockAppBuilder.java
 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockAppBuilder.java
index 1ca10bd..e4ae595 100644
--- 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockAppBuilder.java
+++ 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockAppBuilder.java
@@ -24,6 +24,7 @@ import org.apache.brooklyn.core.entity.StartableApplication;
 import org.apache.brooklyn.core.entity.factory.ApplicationBuilder;
 import org.apache.brooklyn.util.javalang.Reflections;
 
+/** @deprecated since 0.9.0 don't use {@link ApplicationBuilder} */
 public class RestMockAppBuilder extends ApplicationBuilder {
 
     public RestMockAppBuilder() {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockSimpleEntity.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockSimpleEntity.java
 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockSimpleEntity.java
index 58d24aa..4a49e45 100644
--- 
a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockSimpleEntity.java
+++ 
b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/mocks/RestMockSimpleEntity.java
@@ -21,7 +21,6 @@ package org.apache.brooklyn.rest.testing.mocks;
 import java.util.Map;
 
 import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.EntityLocal;
 import org.apache.brooklyn.api.sensor.AttributeSensor;
 import org.apache.brooklyn.config.ConfigKey;
 import org.apache.brooklyn.core.annotation.Effector;
@@ -31,10 +30,10 @@ import org.apache.brooklyn.core.effector.MethodEffector;
 import org.apache.brooklyn.core.sensor.BasicAttributeSensor;
 import 
org.apache.brooklyn.entity.software.base.AbstractSoftwareProcessSshDriver;
 import org.apache.brooklyn.entity.software.base.SoftwareProcessImpl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.brooklyn.location.ssh.SshMachineLocation;
 import org.apache.brooklyn.util.core.flags.SetFromFlag;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RestMockSimpleEntity extends SoftwareProcessImpl {
 
@@ -87,7 +86,8 @@ public class RestMockSimpleEntity extends SoftwareProcessImpl 
{
     }
     
     public static class MockSshDriver extends AbstractSoftwareProcessSshDriver 
{
-        public MockSshDriver(EntityLocal entity, SshMachineLocation machine) {
+        @SuppressWarnings("deprecation")
+        public MockSshDriver(org.apache.brooklyn.api.entity.EntityLocal 
entity, SshMachineLocation machine) {
             super(entity, machine);
         }
         public boolean isRunning() { return true; }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java
 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java
index 6fe610b..f89acf0 100644
--- 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java
+++ 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynPropertiesSecurityFilterTest.java
@@ -105,12 +105,12 @@ public class BrooklynPropertiesSecurityFilterTest extends 
BrooklynRestApiLaunche
             String appId = startAppAtNode(server);
             String entityId = getTestEntityInApp(server, appId);
             HttpClient client = HttpTool.httpClientBuilder()
-                    .uri(getBaseUri(server))
+                    .uri(getBaseUriRest())
                     .build();
             List<? extends NameValuePair> nvps = Lists.newArrayList(
                     new BasicNameValuePair("arg", "bar"));
             String effector = 
String.format("/applications/%s/entities/%s/effectors/identityEffector", appId, 
entityId);
-            HttpToolResponse response = HttpTool.httpPost(client, 
URI.create(getBaseUri() + effector),
+            HttpToolResponse response = HttpTool.httpPost(client, 
URI.create(getBaseUriRest() + effector),
                     ImmutableMap.of(HttpHeaders.CONTENT_TYPE, 
ContentType.APPLICATION_FORM_URLENCODED.getMimeType()),
                     URLEncodedUtils.format(nvps, Charsets.UTF_8).getBytes());
 
@@ -127,9 +127,9 @@ public class BrooklynPropertiesSecurityFilterTest extends 
BrooklynRestApiLaunche
                 "services:\n" +
                 "- type: org.apache.brooklyn.test.entity.TestEntity";
         HttpClient client = HttpTool.httpClientBuilder()
-                .uri(getBaseUri(server))
+                .uri(getBaseUriRest(server))
                 .build();
-        HttpToolResponse response = HttpTool.httpPost(client, 
URI.create(getBaseUri() + "/applications"),
+        HttpToolResponse response = HttpTool.httpPost(client, 
URI.create(getBaseUriRest() + "applications"),
                 ImmutableMap.of(HttpHeaders.CONTENT_TYPE, 
"application/x-yaml"),
                 blueprint.getBytes());
         assertTrue(HttpTool.isStatusCodeHealthy(response.getResponseCode()), 
"error creating app. response code=" + response.getResponseCode());
@@ -141,10 +141,10 @@ public class BrooklynPropertiesSecurityFilterTest extends 
BrooklynRestApiLaunche
     @SuppressWarnings("rawtypes")
     private String getTestEntityInApp(Server server, String appId) throws 
Exception {
         HttpClient client = HttpTool.httpClientBuilder()
-                .uri(getBaseUri(server))
+                .uri(getBaseUriRest(server))
                 .build();
         List entities = new ObjectMapper().readValue(
-                HttpTool.httpGet(client, URI.create(getBaseUri() + 
"/applications/" + appId + "/entities"), MutableMap.<String, 
String>of()).getContent(), List.class);
+                HttpTool.httpGet(client, URI.create(getBaseUriRest(server) + 
"applications/" + appId + "/entities"), MutableMap.<String, 
String>of()).getContent(), List.class);
         LOG.info((String) ((Map) entities.get(0)).get("id"));
         return (String) ((Map) entities.get(0)).get("id");
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTest.java
 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTest.java
index e73fab4..d64b9a6 100644
--- 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTest.java
+++ 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTest.java
@@ -29,7 +29,6 @@ import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.util.http.HttpAsserts;
 import org.apache.brooklyn.util.http.HttpTool;
 import org.apache.http.HttpStatus;
-import org.eclipse.jetty.server.NetworkConnector;
 import org.eclipse.jetty.server.Server;
 import org.testng.annotations.Test;
 
@@ -41,6 +40,7 @@ public class BrooklynRestApiLauncherTest extends 
BrooklynRestApiLauncherTestFixt
     }
 
     @Test
+    // doesn't work from IDE
     public void testWebAppStart() throws Exception {
         
checkRestCatalogEntities(useServerForTest(baseLauncher().mode(WEB_XML).start()));
     }
@@ -52,11 +52,11 @@ public class BrooklynRestApiLauncherTest extends 
BrooklynRestApiLauncherTestFixt
     }
     
     private static void checkRestCatalogEntities(Server server) throws 
Exception {
-        final String rootUrl = 
"http://localhost:"+((NetworkConnector)server.getConnectors()[0]).getLocalPort();
+        final String rootUrl = getBaseUriRest(server);
         int code = Asserts.succeedsEventually(new Callable<Integer>() {
             @Override
             public Integer call() throws Exception {
-                int code = 
HttpTool.getHttpStatusCode(rootUrl+"/v1/catalog/entities");
+                int code = 
HttpTool.getHttpStatusCode(rootUrl+"catalog/entities");
                 if (code == HttpStatus.SC_FORBIDDEN) {
                     throw new RuntimeException("Retry request");
                 } else {
@@ -65,7 +65,7 @@ public class BrooklynRestApiLauncherTest extends 
BrooklynRestApiLauncherTestFixt
             }
         });
         HttpAsserts.assertHealthyStatusCode(code);
-        HttpAsserts.assertContentContainsText(rootUrl+"/v1/catalog/entities", 
BrooklynNode.class.getSimpleName());
+        HttpAsserts.assertContentContainsText(rootUrl+"catalog/entities", 
BrooklynNode.class.getSimpleName());
     }
     
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTestFixture.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTestFixture.java
 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTestFixture.java
index 4ca48df..1893d4a 100644
--- 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTestFixture.java
+++ 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncherTestFixture.java
@@ -69,12 +69,25 @@ public abstract class BrooklynRestApiLauncherTestFixture {
         return server;
     }
     
-    protected String getBaseUri() {
-        return getBaseUri(server);
-    }
+    /** @deprecated since 0.9.0 use {@link #getBaseUriHostAndPost(Server)} or 
{@link #getBaseUriRest(Server)} */
     public static String getBaseUri(Server server) {
+        return getBaseUriHostAndPost(server);
+    }
+    
+    protected String getBaseUriHostAndPost() {
+        return getBaseUriHostAndPost(server);
+    }
+    /** returns base of server, without trailing slash - e.g. 
<code>http://localhost:8081</code> */
+    public static String getBaseUriHostAndPost(Server server) {
         return 
"http://localhost:"+((NetworkConnector)server.getConnectors()[0]).getLocalPort();
     }
+    protected String getBaseUriRest() {
+        return getBaseUriRest(server);
+    }
+    /** returns REST endpoint, with trailing slash */
+    public static String getBaseUriRest(Server server) {
+        return getBaseUriHostAndPost(server)+"/v1/";
+    }
     
     public static void forceUseOfDefaultCatalogWithJavaClassPath(Server 
server) {
         ManagementContext mgmt = 
getManagementContextFromJettyServerAttributes(server);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java
 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java
index 90e7957..db58f99 100644
--- 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java
+++ 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/HaMasterCheckFilterTest.java
@@ -35,17 +35,16 @@ import 
org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer;
 import org.apache.brooklyn.core.entity.Entities;
 import org.apache.brooklyn.core.mgmt.rebind.RebindTestUtils;
 import org.apache.brooklyn.entity.stock.BasicApplication;
-import org.apache.http.HttpStatus;
-import org.apache.http.client.HttpClient;
-import org.eclipse.jetty.server.Server;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.Test;
 import org.apache.brooklyn.rest.security.provider.AnyoneSecurityProvider;
 import org.apache.brooklyn.test.Asserts;
 import org.apache.brooklyn.util.http.HttpTool;
 import org.apache.brooklyn.util.http.HttpToolResponse;
 import org.apache.brooklyn.util.os.Os;
 import org.apache.brooklyn.util.time.Duration;
+import org.apache.http.client.HttpClient;
+import org.eclipse.jetty.server.Server;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.Test;
 
 import com.google.common.base.Predicates;
 import com.google.common.base.Supplier;
@@ -63,7 +62,6 @@ public class HaMasterCheckFilterTest extends 
BrooklynRestApiLauncherTestFixture
 
     @AfterMethod(alwaysRun=true)
     public void tearDown() throws Exception {
-System.err.println("TEAR DOWN");
         server.stop();
         Entities.destroyAll(writeMgmt);
         Entities.destroyAll(readMgmt);
@@ -74,23 +72,25 @@ System.err.println("TEAR DOWN");
     public void testEntitiesExistOnDisabledHA() throws Exception {
         initHaCluster(HighAvailabilityMode.DISABLED, 
HighAvailabilityMode.DISABLED);
         assertReadIsMaster();
-        assertEntityExists(new ReturnCodeCheck());
+        assertEntityExists(new ReturnCodeNotRetry());
     }
 
     @Test(groups = "Integration")
     public void testEntitiesExistOnMasterPromotion() throws Exception {
         initHaCluster(HighAvailabilityMode.AUTO, HighAvailabilityMode.AUTO);
+        assertEntityNotFound(new ReturnCodeNotRetry());
         stopWriteNode();
-        assertEntityExists(new ReturnCodeCheck());
+        assertEntityExists(new ReturnCodeNotRetryAndNodeIsMaster());
         assertReadIsMaster();
     }
 
     @Test(groups = "Integration")
     public void testEntitiesExistOnHotStandbyAndPromotion() throws Exception {
         initHaCluster(HighAvailabilityMode.AUTO, 
HighAvailabilityMode.HOT_STANDBY);
-        assertEntityExists(new ReturnCodeCheck());
+        assertEntityExists(new ReturnCodeNotRetry());
         stopWriteNode();
-        assertEntityExists(new ReturnCodeAndNodeState());
+        // once the node claims master we should get a 200
+        assertEntityExists(new ReturnCodeNotRetryAndNodeIsMaster());
         assertReadIsMaster();
     }
 
@@ -98,23 +98,23 @@ System.err.println("TEAR DOWN");
     public void testEntitiesExistOnHotBackup() throws Exception {
         initHaCluster(HighAvailabilityMode.AUTO, 
HighAvailabilityMode.HOT_BACKUP);
         Asserts.continually(
-                ImmutableMap.<String,Object>of(
-                        "timeout", Duration.THIRTY_SECONDS,
-                        "period", Duration.ZERO),
                 new ReturnCodeSupplier(),
-                Predicates.or(Predicates.equalTo(200), 
Predicates.equalTo(403)));
+                Predicates.or(Predicates.equalTo(200), 
Predicates.equalTo(403)),
+                Duration.THIRTY_SECONDS, 
+                null,
+                null);
     }
 
     private HttpClient getClient(Server server) {
         HttpClient client = HttpTool.httpClientBuilder()
-                .uri(getBaseUri(server))
+                .uri(getBaseUriRest(server))
                 .build();
         return client;
     }
 
     private int getAppResponseCode() {
         HttpToolResponse response = HttpTool.httpGet(
-                client, URI.create(getBaseUri(server) + "/applications/" + 
appId),
+                client, URI.create(getBaseUriRest() + "applications/" + appId),
                 ImmutableMap.<String,String>of());
         return response.getResponseCode();
     }
@@ -173,6 +173,10 @@ System.err.println("TEAR DOWN");
     private void assertEntityExists(Callable<Integer> c) {
         assertEquals((int)Asserts.succeedsEventually(c), 200);
     }
+    
+    private void assertEntityNotFound(Callable<Integer> c) {
+        assertEquals((int)Asserts.succeedsEventually(c), 404);
+    }
 
     private void assertReadIsMaster() {
         assertEquals(readMgmt.getHighAvailabilityManager().getNodeState(), 
ManagementNodeState.MASTER);
@@ -182,7 +186,7 @@ System.err.println("TEAR DOWN");
         writeMgmt.getHighAvailabilityManager().stop();
     }
 
-    private class ReturnCodeCheck implements Callable<Integer> {
+    private class ReturnCodeNotRetry implements Callable<Integer> {
         @Override
         public Integer call() {
             int retCode = getAppResponseCode();
@@ -194,17 +198,14 @@ System.err.println("TEAR DOWN");
         }
     }
 
-    private class ReturnCodeAndNodeState extends ReturnCodeCheck {
+    private class ReturnCodeNotRetryAndNodeIsMaster extends ReturnCodeNotRetry 
{
         @Override
         public Integer call() {
-            Integer ret = super.call();
-            if (ret == HttpStatus.SC_OK) {
-                ManagementNodeState state = 
readMgmt.getHighAvailabilityManager().getNodeState();
-                if (state != ManagementNodeState.MASTER) {
-                    throw new RuntimeException("Not master yet " + state);
-                }
+            ManagementNodeState state = 
readMgmt.getHighAvailabilityManager().getNodeState();
+            if (state != ManagementNodeState.MASTER) {
+                throw new RuntimeException("Not master yet " + state);
             }
-            return ret;
+            return super.call();
         }
     }
 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-server/src/test/java/org/apache/brooklyn/rest/entitlement/AbstractRestApiEntitlementsTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/entitlement/AbstractRestApiEntitlementsTest.java
 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/entitlement/AbstractRestApiEntitlementsTest.java
index 73449ea..7331b39 100644
--- 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/entitlement/AbstractRestApiEntitlementsTest.java
+++ 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/entitlement/AbstractRestApiEntitlementsTest.java
@@ -84,13 +84,13 @@ public abstract class AbstractRestApiEntitlementsTest 
extends BrooklynRestApiLau
     
     protected HttpClient newClient(String user) throws Exception {
         return httpClientBuilder()
-                .uri(getBaseUri())
+                .uri(getBaseUriRest())
                 .credentials(new UsernamePasswordCredentials(user, 
"ignoredPassword"))
                 .build();
     }
 
     protected String httpGet(String user, String path) throws Exception {
-        HttpToolResponse response = HttpTool.httpGet(newClient(user), 
URI.create(getBaseUri()).resolve(path), ImmutableMap.<String, String>of());
+        HttpToolResponse response = HttpTool.httpGet(newClient(user), 
URI.create(getBaseUriRest()).resolve(path), ImmutableMap.<String, String>of());
         
assertTrue(HttpAsserts.isHealthyStatusCode(response.getResponseCode()), 
"code="+response.getResponseCode()+"; reason="+response.getReasonPhrase());
         return response.getContentAsString();
     }
@@ -100,12 +100,12 @@ public abstract class AbstractRestApiEntitlementsTest 
extends BrooklynRestApiLau
     }
 
     protected void assertForbidden(String user, String path) throws Exception {
-        HttpToolResponse response = HttpTool.httpGet(newClient(user), 
URI.create(getBaseUri()).resolve(path), ImmutableMap.<String, String>of());
+        HttpToolResponse response = HttpTool.httpGet(newClient(user), 
URI.create(getBaseUriRest()).resolve(path), ImmutableMap.<String, String>of());
         assertEquals(response.getResponseCode(), 403, 
"code="+response.getResponseCode()+"; reason="+response.getReasonPhrase()+"; 
content="+response.getContentAsString());
     }
 
     protected void assert404(String user, String path) throws Exception {
-        HttpToolResponse response = HttpTool.httpGet(newClient(user), 
URI.create(getBaseUri()).resolve(path), ImmutableMap.<String, String>of());
+        HttpToolResponse response = HttpTool.httpGet(newClient(user), 
URI.create(getBaseUriRest()).resolve(path), ImmutableMap.<String, String>of());
         assertEquals(response.getResponseCode(), 404, 
"code="+response.getResponseCode()+"; reason="+response.getReasonPhrase()+"; 
content="+response.getContentAsString());
     }
 }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/rest/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
index 74fbe3c..604d1eb 100644
--- 
a/rest/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
+++ 
b/rest/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
@@ -68,10 +68,10 @@ public class ServerResourceIntegrationTest extends 
BrooklynRestApiLauncherTestFi
                     .withoutJsgui()
                     .securityProvider(TestSecurityProvider.class)
                     .start());
-            String baseUri = getBaseUri(server);
+            String baseUri = getBaseUriRest(server);
     
             HttpToolResponse response;
-            final URI uri = URI.create(getBaseUri() + 
"/server/properties/reload");
+            final URI uri = URI.create(getBaseUriRest() + 
"server/properties/reload");
             final Map<String, String> args = Collections.emptyMap();
     
             // Unauthorised when no credentials, and when default credentials.
@@ -112,11 +112,11 @@ public class ServerResourceIntegrationTest extends 
BrooklynRestApiLauncherTestFi
 
     private String getServerUser(Server server) throws Exception {
         HttpClient client = httpClientBuilder()
-                .uri(getBaseUri(server))
+                .uri(getBaseUriRest(server))
                 .credentials(TestSecurityProvider.CREDENTIAL)
                 .build();
         
-        HttpToolResponse response = HttpTool.httpGet(client, 
URI.create(getBaseUri(server) + "/server/user"),
+        HttpToolResponse response = HttpTool.httpGet(client, 
URI.create(getBaseUriRest(server) + "server/user"),
                 ImmutableMap.<String, String>of());
         HttpAsserts.assertHealthyStatusCode(response.getResponseCode());
         return response.getContentAsString();

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/96d804a7/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java 
b/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java
index fac3142..3ad5bda 100644
--- a/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java
+++ b/utils/common/src/main/java/org/apache/brooklyn/test/Asserts.java
@@ -798,12 +798,12 @@ public class Asserts {
         continually(ImmutableMap.<String,Object>of(), supplier, predicate);
     }
 
-    /** @deprecated since 0.9.0 use {@link #eventually(Supplier, Predicate, 
Duration, Duration, String)} */ @Deprecated
+    /** @deprecated since 0.9.0 use {@link #continually(Supplier, Predicate, 
Duration, Duration, String)} */ @Deprecated
     public static <T> void continually(Map<String,?> flags, Supplier<? extends 
T> supplier, Predicate<? super T> predicate) {
         continually(flags, supplier, predicate, null);
     }
 
-    /** @deprecated since 0.9.0 use {@link #eventually(Supplier, Predicate, 
Duration, Duration, String)} */ @Deprecated
+    /** @deprecated since 0.9.0 use {@link #continually(Supplier, Predicate, 
Duration, Duration, String)} */ @Deprecated
     public static <T> void continually(Map<String,?> flags, Supplier<? extends 
T> supplier, Predicate<T> predicate, String errMsg) {
         continually(supplier, predicate, toDuration(flags.get("timeout"), 
toDuration(flags.get("duration"), null)), 
             toDuration(flags.get("period"), null), null);

Reply via email to