http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApiErrorTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApiErrorTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApiErrorTest.java
deleted file mode 100644
index f73bd30..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApiErrorTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.domain;
-
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.asJson;
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.fromJson;
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.jsonFixture;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-
-import java.io.IOException;
-import java.net.URI;
-
-import org.testng.annotations.Test;
-import org.testng.util.Strings;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-public class ApiErrorTest extends AbstractDomainTest {
-
-    @Override
-    protected String getPath() {
-        return "fixtures/api-error-basic.json";
-    }
-
-    @Override
-    protected Object getDomainObject() {
-        return ApiError.builder()
-                .message("explanatory message")
-                .details("accompanying details")
-                .build();
-    }
-
-    @Test
-    public void testSerializeApiErrorFromThrowable() throws IOException {
-        Exception e = new Exception("error");
-        e.setStackTrace(Thread.currentThread().getStackTrace());
-
-        ApiError error = ApiError.builderFromThrowable(e).build();
-        ApiError deserialised = fromJson(asJson(error), ApiError.class);
-
-        assertFalse(Strings.isNullOrEmpty(deserialised.getDetails()), 
"Expected details to contain exception stack trace");
-        assertEquals(deserialised, error);
-    }
-
-    @Test
-    public void testSerializeApiErrorWithoutDetails() throws IOException {
-        ApiError error = ApiError.builder()
-                .message("explanatory message")
-                .build();
-        assertEquals(asJson(error), 
jsonFixture("fixtures/api-error-no-details.json"));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApplicationSpecTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApplicationSpecTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApplicationSpecTest.java
deleted file mode 100644
index b2690d6..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApplicationSpecTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.domain;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-public class ApplicationSpecTest extends AbstractDomainTest {
-
-    @Override
-    protected String getPath() {
-        return "fixtures/application-spec.json";
-    }
-
-    @Override
-    protected Object getDomainObject() {
-        EntitySpec entitySpec = new EntitySpec("Vanilla Java App", 
"org.apache.brooklyn.entity.java.VanillaJavaApp",
-                ImmutableMap.of("initialSize", "1", "creationScriptUrl", 
"http://my.brooklyn.io/storage/foo.sql";));
-        return ApplicationSpec.builder().name("myapp")
-                
.entities(ImmutableSet.of(entitySpec)).locations(ImmutableSet.of("/v1/locations/1"))
-                .build();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApplicationTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApplicationTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApplicationTest.java
deleted file mode 100644
index 8708fb1..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/ApplicationTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.domain;
-
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.asJson;
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.fromJson;
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.jsonFixture;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.Map;
-
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.core.entity.Entities;
-import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
-import org.apache.brooklyn.core.test.entity.TestApplication;
-import org.apache.brooklyn.test.Asserts;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-public class ApplicationTest {
-
-    final EntitySpec entitySpec = new EntitySpec("Vanilla Java App", 
"org.apache.brooklyn.entity.java.VanillaJavaApp",
-            ImmutableMap.of(
-                    "initialSize", "1",
-                    "creationScriptUrl", 
"http://my.brooklyn.io/storage/foo.sql";));
-
-    final ApplicationSpec applicationSpec = 
ApplicationSpec.builder().name("myapp")
-            .entities(ImmutableSet.of(entitySpec))
-            .locations(ImmutableSet.of("/v1/locations/1"))
-            .build();
-
-    final Map<String, URI> links = ImmutableMap.of(
-            "self", URI.create("/v1/applications/" + 
applicationSpec.getName()),
-            "entities", URI.create("fixtures/entity-summary-list.json"));
-    final ApplicationSummary application = new ApplicationSummary("myapp_id", 
applicationSpec, Status.STARTING, links);
-
-    @SuppressWarnings("serial")
-    @Test
-    public void testSerializeToJSON() throws IOException {
-        assertEquals(asJson(application), 
jsonFixture("fixtures/application.json"));
-    }
-
-    @Test
-    public void testDeserializeFromJSON() throws IOException {
-        assertEquals(fromJson(jsonFixture("fixtures/application.json"),
-                ApplicationSummary.class), application);
-    }
-
-    @Test
-    public void testTransitionToRunning() {
-        ApplicationSummary running = application.transitionTo(Status.RUNNING);
-        assertEquals(running.getStatus(), Status.RUNNING);
-    }
-
-    @Test
-    public void testAppInAppTest() throws IOException {
-        ManagementContext mgmt = LocalManagementContextForTests.newInstance();
-        try {
-            TestApplication app = 
mgmt.getEntityManager().createEntity(org.apache.brooklyn.api.entity.EntitySpec.create(TestApplication.class));
-            
app.addChild(org.apache.brooklyn.api.entity.EntitySpec.create(TestApplication.class));
-            Asserts.assertEqualsIgnoringOrder(mgmt.getApplications(), 
ImmutableList.of(app));
-        } finally {
-            Entities.destroyAll(mgmt);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EffectorSummaryTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EffectorSummaryTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EffectorSummaryTest.java
deleted file mode 100644
index 71cb64d..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EffectorSummaryTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.domain;
-
-import java.net.URI;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-public class EffectorSummaryTest extends AbstractDomainTest {
-
-    @Override
-    protected String getPath() {
-        return "fixtures/effector-summary.json";
-    }
-
-    @Override
-    protected Object getDomainObject() {
-        return new EffectorSummary(
-                "stop",
-                "void",
-                ImmutableSet.<EffectorSummary.ParameterSummary<?>>of(),
-                "Effector description",
-                ImmutableMap.of(
-                        "self", 
URI.create("/v1/applications/redis-app/entities/redis-ent/effectors/stop")));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EntitySpecTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EntitySpecTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EntitySpecTest.java
deleted file mode 100644
index 1beb078..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EntitySpecTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.domain;
-
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.fromJson;
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.jsonFixture;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-
-import org.testng.annotations.Test;
-
-public class EntitySpecTest extends AbstractDomainTest {
-
-    @Override
-    protected String getPath() {
-        return "fixtures/entity.json";
-    }
-
-    @Override
-    protected Object getDomainObject() {
-        EntitySpec entitySpec = new EntitySpec("Vanilla Java App", 
"org.apache.brooklyn.entity.java.VanillaJavaApp");
-        return new EntitySpec[] { entitySpec };
-    }
-
-    @Test
-    public void testDeserializeFromJSONOnlyWithType() throws IOException {
-        EntitySpec actual = 
fromJson(jsonFixture("fixtures/entity-only-type.json"), EntitySpec.class);
-        assertEquals(actual.getType(), 
"org.apache.brooklyn.entity.java.VanillaJavaApp");
-        assertEquals(actual.getConfig().size(), 0);
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EntitySummaryTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EntitySummaryTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EntitySummaryTest.java
deleted file mode 100644
index 2d39cc9..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/EntitySummaryTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.domain;
-
-import java.net.URI;
-import java.util.Map;
-
-import com.google.common.collect.Maps;
-
-public class EntitySummaryTest extends AbstractDomainTest {
-
-    @Override
-    protected String getPath() {
-        return "fixtures/entity-summary.json";
-    }
-
-    @Override
-    protected Object getDomainObject() {
-        Map<String, URI> links = Maps.newLinkedHashMap();
-        links.put("self", 
URI.create("/v1/applications/tesr/entities/zQsqdXzi"));
-        links.put("catalog", 
URI.create("/v1/catalog/entities/org.apache.brooklyn.entity.webapp.tomcat.TomcatServer"));
-        links.put("application", URI.create("/v1/applications/tesr"));
-        links.put("children", 
URI.create("/v1/applications/tesr/entities/zQsqdXzi/children"));
-        links.put("effectors", 
URI.create("fixtures/effector-summary-list.json"));
-        links.put("sensors", URI.create("fixtures/sensor-summary-list.json"));
-        links.put("activities", URI.create("fixtures/task-summary-list.json"));
-
-        return new EntitySummary("zQsqdXzi", "MyTomcat",
-                "org.apache.brooklyn.entity.webapp.tomcat.TomcatServer", null, 
links);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/LocationSpecTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/LocationSpecTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/LocationSpecTest.java
deleted file mode 100644
index 0e653c5..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/LocationSpecTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.domain;
-
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.asJson;
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.fromJson;
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.jsonFixture;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
-
-import java.io.IOException;
-
-import org.testng.annotations.Test;
-
-@Deprecated
-public class LocationSpecTest {
-
-    // TODO when removing the deprecated class this tests, change the tests 
here to point at LocationSummary
-    
-    final LocationSpec locationSpec = LocationSpec.localhost();
-
-    @Test
-    public void testSerializeToJSON() throws IOException {
-        assertEquals(asJson(locationSpec), 
jsonFixture("fixtures/location.json"));
-    }
-
-    @Test
-    public void testDeserializeFromJSON() throws IOException {
-        assertEquals(fromJson(jsonFixture("fixtures/location.json"), 
LocationSpec.class), locationSpec);
-    }
-
-    @Test
-    public void testDeserializeFromJSONWithNoCredential() throws IOException {
-        LocationSpec loaded = 
fromJson(jsonFixture("fixtures/location-without-credential.json"), 
LocationSpec.class);
-
-        assertEquals(loaded.getSpec(), locationSpec.getSpec());
-
-        assertEquals(loaded.getConfig().size(), 1);
-        assertEquals(loaded.getConfig().get("identity"), "bob");
-        assertNull(loaded.getConfig().get("credential"));
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/LocationSummaryTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/LocationSummaryTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/LocationSummaryTest.java
deleted file mode 100644
index 0f81b48..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/LocationSummaryTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.domain;
-
-import java.net.URI;
-import java.util.Map;
-
-import com.google.common.collect.Maps;
-
-public class LocationSummaryTest extends AbstractDomainTest {
-
-    @Override
-    protected String getPath() {
-        return "fixtures/location-summary.json";
-    }
-
-    @Override
-    protected Object getDomainObject() {
-        Map<String, URI> links = Maps.newLinkedHashMap();
-        links.put("self", URI.create("/v1/locations/123"));
-
-        return new LocationSummary("123", "localhost", "localhost", null, 
null, null, links);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/SensorSummaryTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/SensorSummaryTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/SensorSummaryTest.java
deleted file mode 100644
index 106d737..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/SensorSummaryTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.domain;
-
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.asJson;
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.fromJson;
-import static org.apache.brooklyn.rest.util.RestApiTestUtils.jsonFixture;
-import static org.testng.Assert.assertEquals;
-
-import java.io.IOException;
-import java.net.URI;
-
-import javax.ws.rs.core.UriBuilder;
-
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.api.sensor.AttributeSensor;
-import org.apache.brooklyn.api.sensor.Sensor;
-import org.apache.brooklyn.core.config.render.RendererHints;
-import org.apache.brooklyn.core.entity.Entities;
-import org.apache.brooklyn.core.sensor.Sensors;
-import org.apache.brooklyn.core.test.entity.TestApplication;
-import org.apache.brooklyn.core.test.entity.TestEntity;
-import org.apache.brooklyn.rest.transform.SensorTransformer;
-
-import com.google.common.collect.ImmutableMap;
-
-public class SensorSummaryTest {
-
-    private SensorSummary sensorSummary = new SensorSummary("redis.uptime", 
"Integer",
-            "Description", ImmutableMap.of(
-            "self", 
URI.create("/v1/applications/redis-app/entities/redis-ent/sensors/redis.uptime")));
-
-    private TestApplication app;
-    private TestEntity entity;
-    private ManagementContext mgmt;
-
-    @BeforeMethod(alwaysRun = true)
-    public void setUp() throws Exception {
-        app = TestApplication.Factory.newManagedInstanceForTests();
-        mgmt = app.getManagementContext();
-        entity = app.createAndManageChild(EntitySpec.create(TestEntity.class));
-    }
-
-    @AfterMethod(alwaysRun = true)
-    public void tearDown() throws Exception {
-        if (mgmt != null) Entities.destroyAll(mgmt);
-    }
-
-    @Test
-    public void testSerializeToJSON() throws IOException {
-        assertEquals(asJson(sensorSummary), 
jsonFixture("fixtures/sensor-summary.json"));
-    }
-
-    @Test
-    public void testDeserializeFromJSON() throws IOException {
-        assertEquals(fromJson(jsonFixture("fixtures/sensor-summary.json"), 
SensorSummary.class), sensorSummary);
-    }
-
-    @Test
-    public void testEscapesUriForSensorName() throws IOException {
-        Sensor<String> sensor = Sensors.newStringSensor("name with space");
-        SensorSummary summary = SensorTransformer.sensorSummary(entity, 
sensor, UriBuilder.fromPath("/v1"));
-        URI selfUri = summary.getLinks().get("self");
-
-        String expectedUri = "/v1/applications/" + entity.getApplicationId() + 
"/entities/" + entity.getId() + "/sensors/" + "name%20with%20space";
-
-        assertEquals(selfUri, URI.create(expectedUri));
-    }
-
-    // Previously failed because immutable-map builder threw exception if put 
same key multiple times,
-    // and the NamedActionWithUrl did not have equals/hashCode
-    @Test
-    public void testSensorWithMultipleOpenUrlActionsRegistered() throws 
IOException {
-        AttributeSensor<String> sensor = Sensors.newStringSensor("sensor1");
-        entity.sensors().set(sensor, "http://myval";);
-        RendererHints.register(sensor, RendererHints.namedActionWithUrl());
-        RendererHints.register(sensor, RendererHints.namedActionWithUrl());
-
-        SensorSummary summary = SensorTransformer.sensorSummary(entity, 
sensor, UriBuilder.fromPath("/"));
-
-        assertEquals(summary.getLinks().get("action:open"), 
URI.create("http://myval";));
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/VersionSummaryTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/VersionSummaryTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/VersionSummaryTest.java
deleted file mode 100644
index 7bed51b..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/domain/VersionSummaryTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.brooklyn.rest.domain;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
-public class VersionSummaryTest  extends AbstractDomainTest {
-
-    @Override
-    protected String getPath() {
-        return "fixtures/server-version.json";
-    }
-
-    @Override
-    protected Object getDomainObject() {
-        BrooklynFeatureSummary features = new BrooklynFeatureSummary(
-                "Sample Brooklyn Project com.acme.sample:brooklyn-sample 
v0.1.0-SNAPSHOT",
-                "com.acme.sample.brooklyn-sample",
-                "0.1.0.SNAPSHOT",
-                "523305000",
-                ImmutableMap.of("Brooklyn-Feature-Build-Id", 
"e0fee1adf795c84eec4735f039503eb18d9c35cc")
-        );
-        return new VersionSummary(
-                "0.7.0-SNAPSHOT",
-                "cb4f0a3af2f5042222dd176edc102bfa64e7e0b5",
-                "versions",
-                ImmutableList.of(features)
-        );
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/AbstractRestApiEntitlementsTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/AbstractRestApiEntitlementsTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/AbstractRestApiEntitlementsTest.java
deleted file mode 100644
index 73449ea..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/AbstractRestApiEntitlementsTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.entitlement;
-
-import static org.apache.brooklyn.util.http.HttpTool.httpClientBuilder;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
-
-import java.net.URI;
-
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.core.entity.Entities;
-import org.apache.brooklyn.core.internal.BrooklynProperties;
-import org.apache.brooklyn.core.mgmt.entitlement.Entitlements;
-import org.apache.brooklyn.core.mgmt.entitlement.PerUserEntitlementManager;
-import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
-import org.apache.brooklyn.core.test.entity.TestApplication;
-import org.apache.brooklyn.core.test.entity.TestEntity;
-import org.apache.brooklyn.rest.BrooklynRestApiLauncher;
-import org.apache.brooklyn.rest.BrooklynRestApiLauncherTestFixture;
-import org.apache.brooklyn.util.http.HttpAsserts;
-import org.apache.brooklyn.util.http.HttpTool;
-import org.apache.brooklyn.util.http.HttpToolResponse;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.HttpClient;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
-
-/**
- * Sets up the REST api with some standard users, ready for testing 
entitlements.
- */
-public abstract class AbstractRestApiEntitlementsTest extends 
BrooklynRestApiLauncherTestFixture {
-
-    protected ManagementContext mgmt;
-    protected TestApplication app;
-    protected TestEntity entity;
-
-    @BeforeMethod(alwaysRun=true)
-    public void setUp() throws Exception {
-        BrooklynProperties props = BrooklynProperties.Factory.newEmpty();
-        props.put(Entitlements.GLOBAL_ENTITLEMENT_MANAGER.getName(), 
PerUserEntitlementManager.class.getName());
-        
props.put(PerUserEntitlementManager.PER_USER_ENTITLEMENTS_CONFIG_PREFIX+".myRoot",
 "root");
-        
props.put(PerUserEntitlementManager.PER_USER_ENTITLEMENTS_CONFIG_PREFIX+".myReadonly",
 "readonly");
-        
props.put(PerUserEntitlementManager.PER_USER_ENTITLEMENTS_CONFIG_PREFIX+".myMinimal",
 "minimal");
-        
props.put(PerUserEntitlementManager.PER_USER_ENTITLEMENTS_CONFIG_PREFIX+".myCustom",
 StaticDelegatingEntitlementManager.class.getName());
-        
-        mgmt = 
LocalManagementContextForTests.builder(true).useProperties(props).build();
-        app = 
mgmt.getEntityManager().createEntity(EntitySpec.create(TestApplication.class)
-                .child(EntitySpec.create(TestEntity.class))
-                        .configure(TestEntity.CONF_NAME, "myname"));
-        entity = (TestEntity) Iterables.getOnlyElement(app.getChildren());
-        
-        useServerForTest(BrooklynRestApiLauncher.launcher()
-                .managementContext(mgmt)
-                .forceUseOfDefaultCatalogWithJavaClassPath(true)
-                .securityProvider(AuthenticateAnyoneSecurityProvider.class)
-                .start());
-    }
-
-    @AfterMethod(alwaysRun=true)
-    public void tearDown() throws Exception {
-        if (mgmt != null) Entities.destroyAll(mgmt);
-    }
-    
-    protected HttpClient newClient(String user) throws Exception {
-        return httpClientBuilder()
-                .uri(getBaseUri())
-                .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());
-        
assertTrue(HttpAsserts.isHealthyStatusCode(response.getResponseCode()), 
"code="+response.getResponseCode()+"; reason="+response.getReasonPhrase());
-        return response.getContentAsString();
-    }
-    
-    protected String assertPermitted(String user, String path) throws 
Exception {
-        return httpGet(user, path);
-    }
-
-    protected void assertForbidden(String user, String path) throws Exception {
-        HttpToolResponse response = HttpTool.httpGet(newClient(user), 
URI.create(getBaseUri()).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());
-        assertEquals(response.getResponseCode(), 404, 
"code="+response.getResponseCode()+"; reason="+response.getReasonPhrase()+"; 
content="+response.getContentAsString());
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/ActivityApiEntitlementsTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/ActivityApiEntitlementsTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/ActivityApiEntitlementsTest.java
deleted file mode 100644
index 2f1cc7b..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/ActivityApiEntitlementsTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.entitlement;
-
-import static org.testng.Assert.assertEquals;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.location.Location;
-import org.apache.brooklyn.api.mgmt.Task;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementClass;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementContext;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementManager;
-import org.apache.brooklyn.core.entity.BrooklynConfigKeys;
-import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
-import org.apache.brooklyn.core.mgmt.entitlement.Entitlements;
-import org.apache.brooklyn.core.test.entity.TestApplication;
-import org.apache.brooklyn.entity.machine.MachineEntity;
-import 
org.apache.brooklyn.entity.software.base.AbstractSoftwareProcessStreamsTest;
-import org.apache.brooklyn.util.core.task.TaskPredicates;
-import org.apache.brooklyn.util.text.StringPredicates;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Maps;
-
-@Test(singleThreaded = true)
-public class ActivityApiEntitlementsTest extends 
AbstractRestApiEntitlementsTest {
-
-    protected MachineEntity machineEntity;
-    protected Task<?> subTask;
-    protected Map<String, String> streams;
-    
-    @BeforeMethod(alwaysRun=true)
-    @Override
-    public void setUp() throws Exception {
-        super.setUp();
-        
-        machineEntity = app.addChild(EntitySpec.create(MachineEntity.class)
-                .configure(BrooklynConfigKeys.SKIP_ON_BOX_BASE_DIR_RESOLUTION, 
true)
-                .location(TestApplication.LOCALHOST_PROVISIONER_SPEC));
-        machineEntity.start(ImmutableList.<Location>of());
-        
-        machineEntity.execCommand("echo myval");
-        
-        Set<Task<?>> tasks = 
BrooklynTaskTags.getTasksInEntityContext(mgmt.getExecutionManager(), 
machineEntity);
-        String taskNameRegex = "ssh: echo myval";
-        
-        streams = Maps.newLinkedHashMap();
-        subTask = AbstractSoftwareProcessStreamsTest.findTaskOrSubTask(tasks, 
TaskPredicates.displayNameSatisfies(StringPredicates.matchesRegex(taskNameRegex))).get();
-        for (String streamId : ImmutableList.of("stdin", "stdout", "stderr")) {
-            streams.put(streamId, 
AbstractSoftwareProcessStreamsTest.getStreamOrFail(subTask, streamId));
-        }
-    }
-    
-    @Test(groups = "Integration")
-    public void testGetTask() throws Exception {
-        String path = "/v1/activities/"+subTask.getId();
-        assertPermitted("myRoot", path);
-        assertPermitted("myReadonly", path);
-        assertForbidden("myMinimal", path);
-        assertForbidden("unrecognisedUser", path);
-    }
-    
-    @Test(groups = "Integration")
-    public void testGetStream() throws Exception {
-        String pathPrefix = "/v1/activities/"+subTask.getId()+"/stream/";
-        for (Map.Entry<String, String> entry : streams.entrySet()) {
-            String streamId = entry.getKey();
-            String expectedStream = entry.getValue();
-
-            assertEquals(httpGet("myRoot", pathPrefix+streamId), 
expectedStream);
-            assertEquals(httpGet("myReadonly", pathPrefix+streamId), 
expectedStream);
-            assertForbidden("myMinimal", pathPrefix+streamId);
-            assertForbidden("unrecognisedUser", pathPrefix+streamId);
-            
-            StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveStreams(streamId));
-            assertEquals(httpGet("myCustom", pathPrefix+streamId), 
expectedStream);
-            
-            StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveStreams("differentStreamId"));
-            assertForbidden("myCustom", pathPrefix+streamId);
-        }
-    }
-    
-    public static class SeeSelectiveStreams implements EntitlementManager {
-        private final String regex;
-        
-        public SeeSelectiveStreams(String regex) {
-            this.regex = regex;
-        }
-        @Override 
-        @SuppressWarnings("unchecked")
-        public <T> boolean isEntitled(EntitlementContext context, 
EntitlementClass<T> entitlementClass, T entitlementClassArgument) {
-            String type = entitlementClass.entitlementClassIdentifier();
-            if 
(Entitlements.SEE_ACTIVITY_STREAMS.entitlementClassIdentifier().equals(type)) {
-                Entitlements.TaskAndItem<String> pair = 
(Entitlements.TaskAndItem<String>) entitlementClassArgument;
-                return pair.getItem().matches(regex);
-            } else {
-                return true;
-            }
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/AuthenticateAnyoneSecurityProvider.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/AuthenticateAnyoneSecurityProvider.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/AuthenticateAnyoneSecurityProvider.java
deleted file mode 100644
index b7264b2..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/AuthenticateAnyoneSecurityProvider.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.entitlement;
-
-import javax.servlet.http.HttpSession;
-
-import org.apache.brooklyn.rest.security.provider.SecurityProvider;
-
-public class AuthenticateAnyoneSecurityProvider implements SecurityProvider {
-
-    @Override
-    public boolean isAuthenticated(HttpSession session) {
-        return false;
-    }
-
-    @Override
-    public boolean authenticate(HttpSession session, String user, String 
password) {
-        return user != null;
-    }
-
-    @Override
-    public boolean logout(HttpSession session) {
-        return false;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/EntityConfigApiEntitlementsTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/EntityConfigApiEntitlementsTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/EntityConfigApiEntitlementsTest.java
deleted file mode 100644
index cbda515..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/EntityConfigApiEntitlementsTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.entitlement;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementClass;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementContext;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementManager;
-import org.apache.brooklyn.api.sensor.AttributeSensor;
-import org.apache.brooklyn.core.config.render.RendererHints;
-import org.apache.brooklyn.core.mgmt.entitlement.Entitlements;
-import org.apache.brooklyn.core.mgmt.entitlement.Entitlements.EntityAndItem;
-import org.apache.brooklyn.core.test.entity.TestEntity;
-import org.apache.brooklyn.rest.api.SensorApi;
-import org.apache.brooklyn.rest.resources.SensorResource;
-import org.apache.brooklyn.test.Asserts;
-import org.testng.annotations.Test;
-
-/**
- * Test the {@link SensorApi} implementation.
- * <p>
- * Check that {@link SensorResource} correctly renders {@link AttributeSensor}
- * values, including {@link RendererHints.DisplayValue} hints.
- */
-@Test(singleThreaded = true)
-public class EntityConfigApiEntitlementsTest extends 
AbstractRestApiEntitlementsTest {
-
-    @Test(groups = "Integration")
-    public void testGet() throws Exception {
-        String path = 
"/v1/applications/"+app.getId()+"/entities/"+entity.getId()+"/config/"+TestEntity.CONF_NAME.getName();
-        String val = "\"myname\"";
-        
-        assertEquals(httpGet("myRoot", path), val);
-        assertEquals(httpGet("myReadonly", path), val);
-        assert404("myMinimal", path); // can't see app, to retrieve entity
-        assert404("unrecognisedUser", path);
-
-        StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveConfig(entity, TestEntity.CONF_NAME.getName()));
-        assertEquals(httpGet("myCustom", path), val);
-        
-        StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveConfig(entity, "differentConfName"));
-        assertForbidden("myCustom", path);
-    }
-    
-    @Test(groups = "Integration")
-    public void testCurrentState() throws Exception {
-        String path = 
"/v1/applications/"+app.getId()+"/entities/"+entity.getId()+"/config/current-state";
-        String confName = TestEntity.CONF_NAME.getName();
-        String regex = ".*"+confName+".*myname.*";
-        
-        Asserts.assertStringMatchesRegex(httpGet("myRoot", path), regex);
-        Asserts.assertStringMatchesRegex(httpGet("myReadonly", path), regex);
-        assert404("myMinimal", path); // can't see app, to retrieve entity
-        assert404("unrecognisedUser", path);
-
-        StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveConfig(entity, confName));
-        Asserts.assertStringMatchesRegex(httpGet("myCustom", path), regex);
-        
-        StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveConfig(entity, "differentConfName"));
-        String resp = httpGet("myCustom", path);
-        assertFalse(resp.matches(regex), "resp="+resp);
-    }
-    
-    public static class SeeSelectiveConfig implements EntitlementManager {
-        private final Entity entity;
-        private final String regex;
-        
-        public SeeSelectiveConfig(Entity entity, String regex) {
-            this.entity = entity;
-            this.regex = regex;
-        }
-        @Override 
-        @SuppressWarnings("unchecked")
-        public <T> boolean isEntitled(EntitlementContext context, 
EntitlementClass<T> entitlementClass, T entitlementClassArgument) {
-            String type = entitlementClass.entitlementClassIdentifier();
-            if 
(Entitlements.SEE_CONFIG.entitlementClassIdentifier().equals(type)) {
-                EntityAndItem<String> entityAndItem = (EntityAndItem<String>) 
entitlementClassArgument;
-                return entity.equals(entityAndItem.getEntity()) && 
entityAndItem.getItem().matches(regex);
-            } else {
-                return true;
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/SensorApiEntitlementsTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/SensorApiEntitlementsTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/SensorApiEntitlementsTest.java
deleted file mode 100644
index dab72ec..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/SensorApiEntitlementsTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.entitlement;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementClass;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementContext;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementManager;
-import org.apache.brooklyn.api.sensor.AttributeSensor;
-import org.apache.brooklyn.core.config.render.RendererHints;
-import org.apache.brooklyn.core.mgmt.entitlement.Entitlements;
-import org.apache.brooklyn.core.mgmt.entitlement.Entitlements.EntityAndItem;
-import org.apache.brooklyn.core.test.entity.TestEntity;
-import org.apache.brooklyn.rest.api.SensorApi;
-import org.apache.brooklyn.rest.resources.SensorResource;
-import org.apache.brooklyn.test.Asserts;
-import org.testng.annotations.Test;
-
-/**
- * Test the {@link SensorApi} implementation.
- * <p>
- * Check that {@link SensorResource} correctly renders {@link AttributeSensor}
- * values, including {@link RendererHints.DisplayValue} hints.
- */
-@Test(singleThreaded = true)
-public class SensorApiEntitlementsTest extends AbstractRestApiEntitlementsTest 
{
-
-    @Test(groups = "Integration")
-    public void testGet() throws Exception {
-        entity.sensors().set(TestEntity.NAME, "myval");
-        
-        String sensorName = TestEntity.NAME.getName();
-        String path = 
"/v1/applications/"+app.getId()+"/entities/"+entity.getId()+"/sensors/"+sensorName;
-        String val = "\"myval\"";
-        
-        assertEquals(httpGet("myRoot", path), val);
-        assertEquals(httpGet("myReadonly", path), val);
-        assert404("myMinimal", path); // can't see app, to retrieve entity
-        assert404("unrecognisedUser", path);
-
-        StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveSensor(entity, sensorName));
-        assertEquals(httpGet("myCustom", path), val);
-        
-        StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveSensor(entity, "differentConfName"));
-        assertForbidden("myCustom", path);
-    }
-    
-    @Test(groups = "Integration")
-    public void testCurrentState() throws Exception {
-        entity.sensors().set(TestEntity.NAME, "myval");
-        
-        String path = 
"/v1/applications/"+app.getId()+"/entities/"+entity.getId()+"/sensors/current-state";
-        String sensorName = TestEntity.NAME.getName();
-        String regex = ".*"+sensorName+".*myval.*";
-        
-        Asserts.assertStringMatchesRegex(httpGet("myRoot", path), regex);
-        Asserts.assertStringMatchesRegex(httpGet("myReadonly", path), regex);
-        assert404("myMinimal", path); // can't see app, to retrieve entity
-        assert404("unrecognisedUser", path);
-
-        StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveSensor(entity, sensorName));
-        Asserts.assertStringMatchesRegex(httpGet("myCustom", path), regex);
-        
-        StaticDelegatingEntitlementManager.setDelegate(new 
SeeSelectiveSensor(entity, "differentSensorName"));
-        String resp = httpGet("myCustom", path);
-        assertFalse(resp.matches(regex), "resp="+resp);
-    }
-    
-    public static class SeeSelectiveSensor implements EntitlementManager {
-        private final Entity entity;
-        private final String regex;
-        
-        public SeeSelectiveSensor(Entity entity, String regex) {
-            this.entity = entity;
-            this.regex = regex;
-        }
-        @Override 
-        @SuppressWarnings("unchecked")
-        public <T> boolean isEntitled(EntitlementContext context, 
EntitlementClass<T> entitlementClass, T entitlementClassArgument) {
-            String type = entitlementClass.entitlementClassIdentifier();
-            if 
(Entitlements.SEE_SENSOR.entitlementClassIdentifier().equals(type)) {
-                EntityAndItem<String> entityAndItem = (EntityAndItem<String>) 
entitlementClassArgument;
-                return entity.equals(entityAndItem.getEntity()) && 
entityAndItem.getItem().matches(regex);
-            } else {
-                return true;
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/ServerApiEntitlementsTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/ServerApiEntitlementsTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/ServerApiEntitlementsTest.java
deleted file mode 100644
index afa42cb..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/ServerApiEntitlementsTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.entitlement;
-
-import org.testng.annotations.Test;
-
-@Test(singleThreaded = true)
-public class ServerApiEntitlementsTest extends AbstractRestApiEntitlementsTest 
{
-
-    @Test(groups = "Integration")
-    public void testGetHealthy() throws Exception {
-        String path = "/v1/server/up";
-        assertPermitted("myRoot", path);
-        assertForbidden("myReadonly", path);
-        assertForbidden("myMinimal", path);
-        assertForbidden("unrecognisedUser", path);
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/StaticDelegatingEntitlementManager.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/StaticDelegatingEntitlementManager.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/StaticDelegatingEntitlementManager.java
deleted file mode 100644
index 4370ad6..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/entitlement/StaticDelegatingEntitlementManager.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.entitlement;
-
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementClass;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementContext;
-import org.apache.brooklyn.api.mgmt.entitlement.EntitlementManager;
-
-public class StaticDelegatingEntitlementManager implements EntitlementManager {
-
-    private static volatile EntitlementManager delegate;
-    
-    public static void setDelegate(EntitlementManager val) {
-        delegate = val;
-    }
-    
-    @Override
-    public <T> boolean isEntitled(EntitlementContext context, 
EntitlementClass<T> entitlementClass, T entitlementClassArgument) {
-        return (delegate != null) ? delegate.isEntitled(context, 
entitlementClass, entitlementClassArgument) : false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/AccessResourceTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/AccessResourceTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/AccessResourceTest.java
deleted file mode 100644
index 0839ea5..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/AccessResourceTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.resources;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-
-import javax.ws.rs.core.Response;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.Test;
-
-import org.apache.brooklyn.rest.domain.AccessSummary;
-import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
-
-import com.sun.jersey.api.client.ClientResponse;
-
-@Test(singleThreaded = true)
-public class AccessResourceTest extends BrooklynRestResourceTest {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = 
LoggerFactory.getLogger(AccessResourceTest.class);
-
-    @Test
-    public void testGetAndSetAccessControl() throws Exception {
-        // Default is everything allowed
-        AccessSummary summary = 
client().resource("/v1/access").get(AccessSummary.class);
-        assertTrue(summary.isLocationProvisioningAllowed());
-
-        // Forbid location provisioning
-        ClientResponse response = client().resource(
-                "/v1/access/locationProvisioningAllowed")
-                .queryParam("allowed", "false")
-                .post(ClientResponse.class);
-        assertEquals(response.getStatus(), Response.Status.OK.getStatusCode());
-
-        AccessSummary summary2 = 
client().resource("/v1/access").get(AccessSummary.class);
-        assertFalse(summary2.isLocationProvisioningAllowed());
-        
-        // Allow location provisioning
-        ClientResponse response2 = client().resource(
-                "/v1/access/locationProvisioningAllowed")
-                .queryParam("allowed", "true")
-                .post(ClientResponse.class);
-        assertEquals(response2.getStatus(), 
Response.Status.OK.getStatusCode());
-
-        AccessSummary summary3 = 
client().resource("/v1/access").get(AccessSummary.class);
-        assertTrue(summary3.isLocationProvisioningAllowed());
-    }
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/ApidocResourceTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/ApidocResourceTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/ApidocResourceTest.java
deleted file mode 100644
index 2064508..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/ApidocResourceTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.resources;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
-import io.swagger.annotations.Api;
-import io.swagger.models.Operation;
-import io.swagger.models.Path;
-import io.swagger.models.Swagger;
-
-import java.util.Collection;
-
-import org.apache.brooklyn.rest.BrooklynRestApi;
-import org.apache.brooklyn.rest.api.CatalogApi;
-import org.apache.brooklyn.rest.api.EffectorApi;
-import org.apache.brooklyn.rest.api.EntityApi;
-import org.apache.brooklyn.rest.filter.SwaggerFilter;
-import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Function;
-import com.google.common.base.Joiner;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
-import com.sun.jersey.api.core.ClassNamesResourceConfig;
-import com.sun.jersey.spi.container.servlet.ServletContainer;
-import com.sun.jersey.test.framework.AppDescriptor;
-import com.sun.jersey.test.framework.JerseyTest;
-import com.sun.jersey.test.framework.WebAppDescriptor;
-import com.sun.jersey.test.framework.spi.container.TestContainerException;
-import com.sun.jersey.test.framework.spi.container.TestContainerFactory;
-import 
com.sun.jersey.test.framework.spi.container.grizzly2.web.GrizzlyWebTestContainerFactory;
-
-/**
- * @author Adam Lowe
- */
-@Test(singleThreaded = true)
-public class ApidocResourceTest extends BrooklynRestResourceTest {
-
-    private static final Logger log = 
LoggerFactory.getLogger(ApidocResourceTest.class);
-
-    @Override
-    protected JerseyTest createJerseyTest() {
-        return new JerseyTest() {
-            @Override
-            protected AppDescriptor configure() {
-                return new WebAppDescriptor.Builder(
-                        ImmutableMap.of(
-                                ServletContainer.RESOURCE_CONFIG_CLASS, 
ClassNamesResourceConfig.class.getName(),
-                                ClassNamesResourceConfig.PROPERTY_CLASSNAMES, 
getResourceClassnames()))
-                        .addFilter(SwaggerFilter.class, 
"SwaggerFilter").build();
-            }
-
-            @Override
-            protected TestContainerFactory getTestContainerFactory() throws 
TestContainerException {
-                return new GrizzlyWebTestContainerFactory();
-            }
-
-            private String getResourceClassnames() {
-                Iterable<String> classnames = 
Collections2.transform(config.getClasses(), new Function<Class<?>, String>() {
-                    @Override
-                    public String apply(Class<?> clazz) {
-                        return clazz.getName();
-                    }
-                });
-                classnames = Iterables.concat(classnames, 
Collections2.transform(config.getSingletons(), new Function<Object, String>() {
-                    @Override
-                    public String apply(Object singleton) {
-                        return singleton.getClass().getName();
-                    }
-                }));
-                return Joiner.on(';').join(classnames);
-            }
-        };
-    }
-
-    @Override
-    protected void addBrooklynResources() {
-        for (Object o : BrooklynRestApi.getApidocResources()) {
-            addResource(o);
-        }
-        super.addBrooklynResources();
-    }
-    
-    @Test(enabled = false)
-    public void testRootSerializesSensibly() throws Exception {
-        String data = resource("/v1/apidoc/swagger.json").get(String.class);
-        log.info("apidoc gives: "+data);
-        // make sure no scala gets in
-        assertFalse(data.contains("$"));
-        assertFalse(data.contains("scala"));
-        // make sure it's an appropriate swagger 2.0 json
-        Swagger swagger = 
resource("/v1/apidoc/swagger.json").get(Swagger.class);
-        assertEquals(swagger.getSwagger(), "2.0");
-    }
-    
-    @Test(enabled = false)
-    public void testCountRestResources() throws Exception {
-        Swagger swagger = 
resource("/v1/apidoc/swagger.json").get(Swagger.class);
-        assertEquals(swagger.getTags().size(), 1 + 
Iterables.size(BrooklynRestApi.getBrooklynRestResources()));
-    }
-
-    @Test(enabled = false)
-    public void testApiDocDetails() throws Exception {
-        Swagger swagger = 
resource("/v1/apidoc/swagger.json").get(Swagger.class);
-        Collection<Operation> operations = getTaggedOperations(swagger, 
ApidocResource.class.getAnnotation(Api.class).value());
-        assertEquals(operations.size(), 2, "ops="+operations);
-    }
-
-    @Test(enabled = false)
-    public void testEffectorDetails() throws Exception {
-        Swagger swagger = 
resource("/v1/apidoc/swagger.json").get(Swagger.class);
-        Collection<Operation> operations = getTaggedOperations(swagger, 
EffectorApi.class.getAnnotation(Api.class).value());
-        assertEquals(operations.size(), 2, "ops="+operations);
-    }
-
-    @Test(enabled = false)
-    public void testEntityDetails() throws Exception {
-        Swagger swagger = 
resource("/v1/apidoc/swagger.json").get(Swagger.class);
-        Collection<Operation> operations = getTaggedOperations(swagger, 
EntityApi.class.getAnnotation(Api.class).value());
-        assertEquals(operations.size(), 14, "ops="+operations);
-    }
-
-    @Test(enabled = false)
-    public void testCatalogDetails() throws Exception {
-        Swagger swagger = 
resource("/v1/apidoc/swagger.json").get(Swagger.class);
-        Collection<Operation> operations = getTaggedOperations(swagger, 
CatalogApi.class.getAnnotation(Api.class).value());
-        assertEquals(operations.size(), 22, "ops="+operations);
-    }
-
-    /**
-     * Retrieves all operations tagged the given tag from the given swagger 
spec.
-     */
-    private Collection<Operation> getTaggedOperations(Swagger swagger, final 
String requiredTag) {
-        Iterable<Operation> allOperations = 
Iterables.concat(Collections2.transform(swagger.getPaths().values(),
-                new Function<Path, Collection<Operation>>() {
-                    @Override
-                    public Collection<Operation> apply(Path path) {
-                        return path.getOperations();
-                    }
-                }));
-
-        return Collections2.filter(ImmutableList.copyOf(allOperations), new 
Predicate<Operation>() {
-            @Override
-            public boolean apply(Operation operation) {
-                return operation.getTags().contains(requiredTag);
-            }
-        });
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/3be4fe11/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/ApplicationResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/ApplicationResourceIntegrationTest.java
 
b/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/ApplicationResourceIntegrationTest.java
deleted file mode 100644
index 865b6f7..0000000
--- 
a/rest/rest-server-jersey/src/test/java/org/apache/brooklyn/rest/resources/ApplicationResourceIntegrationTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.rest.resources;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
-
-import java.net.URI;
-import java.util.Set;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.Test;
-import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
-import org.apache.brooklyn.rest.domain.ApplicationSpec;
-import org.apache.brooklyn.rest.domain.ApplicationSummary;
-import org.apache.brooklyn.rest.domain.EntitySpec;
-import org.apache.brooklyn.rest.domain.EntitySummary;
-import org.apache.brooklyn.rest.domain.SensorSummary;
-import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
-import org.apache.brooklyn.test.Asserts;
-import org.apache.brooklyn.util.collections.MutableMap;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.GenericType;
-
-@Test(singleThreaded = true)
-public class ApplicationResourceIntegrationTest extends 
BrooklynRestResourceTest {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = 
LoggerFactory.getLogger(ApplicationResourceIntegrationTest.class);
-
-    private final ApplicationSpec redisSpec = 
ApplicationSpec.builder().name("redis-app")
-            .entities(ImmutableSet.of(new EntitySpec("redis-ent", 
"org.apache.brooklyn.entity.nosql.redis.RedisStore")))
-            .locations(ImmutableSet.of("localhost"))
-            .build();
-
-    @Test(groups="Integration")
-    public void testDeployRedisApplication() throws Exception {
-        ClientResponse response = clientDeploy(redisSpec);
-
-        assertEquals(response.getStatus(), 201);
-        assertEquals(getManagementContext().getApplications().size(), 1);
-        
assertTrue(response.getLocation().getPath().startsWith("/v1/applications/"), 
"path="+response.getLocation().getPath()); // path uses id, rather than app name
-
-        waitForApplicationToBeRunning(response.getLocation());
-    }
-
-    @Test(groups="Integration", dependsOnMethods = 
"testDeployRedisApplication")
-    public void testListEntities() {
-        Set<EntitySummary> entities = 
client().resource("/v1/applications/redis-app/entities")
-                .get(new GenericType<Set<EntitySummary>>() {});
-
-        for (EntitySummary entity : entities) {
-            
client().resource(entity.getLinks().get("self")).get(ClientResponse.class);
-            // TODO assertions on the above call?
-
-            Set<EntitySummary> children = 
client().resource(entity.getLinks().get("children"))
-                    .get(new GenericType<Set<EntitySummary>>() {});
-            assertEquals(children.size(), 0);
-        }
-    }
-
-    @Test(groups="Integration", dependsOnMethods = 
"testDeployRedisApplication")
-    public void testListSensorsRedis() {
-        Set<SensorSummary> sensors = 
client().resource("/v1/applications/redis-app/entities/redis-ent/sensors")
-                .get(new GenericType<Set<SensorSummary>>() {});
-        assertTrue(sensors.size() > 0);
-        SensorSummary uptime = Iterables.find(sensors, new 
Predicate<SensorSummary>() {
-            @Override
-            public boolean apply(SensorSummary sensorSummary) {
-                return sensorSummary.getName().equals("redis.uptime");
-            }
-        });
-        assertEquals(uptime.getType(), "java.lang.Integer");
-    }
-
-    @Test(groups="Integration", dependsOnMethods = { "testListSensorsRedis", 
"testListEntities" })
-    public void testTriggerRedisStopEffector() throws Exception {
-        ClientResponse response = 
client().resource("/v1/applications/redis-app/entities/redis-ent/effectors/stop")
-                .type(MediaType.APPLICATION_JSON_TYPE)
-                .post(ClientResponse.class, ImmutableMap.of());
-        assertEquals(response.getStatus(), 
Response.Status.ACCEPTED.getStatusCode());
-
-        final URI stateSensor = 
URI.create("/v1/applications/redis-app/entities/redis-ent/sensors/service.state");
-        final String expectedStatus = Lifecycle.STOPPED.toString();
-        Asserts.succeedsEventually(MutableMap.of("timeout", 60 * 1000), new 
Runnable() {
-            public void run() {
-                // Accept with and without quotes; if don't specify "Accepts" 
header, then
-                // might get back json or plain text (depending on compiler / 
java runtime 
-                // used for SensorApi!)
-                String val = client().resource(stateSensor).get(String.class);
-                assertTrue(expectedStatus.equalsIgnoreCase(val) || 
("\""+expectedStatus+"\"").equalsIgnoreCase(val), "state="+val);
-            }
-        });
-    }
-
-    @Test(groups="Integration", dependsOnMethods = 
"testTriggerRedisStopEffector" )
-    public void testDeleteRedisApplication() throws Exception {
-        int size = getManagementContext().getApplications().size();
-        ClientResponse response = 
client().resource("/v1/applications/redis-app")
-                .delete(ClientResponse.class);
-
-        waitForPageNotFoundResponse("/v1/applications/redis-app", 
ApplicationSummary.class);
-
-        assertEquals(response.getStatus(), 
Response.Status.ACCEPTED.getStatusCode());
-        assertEquals(getManagementContext().getApplications().size(), size-1);
-    }
-
-}

Reply via email to