You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ha...@apache.org on 2015/08/18 17:04:05 UTC
[56/64] [abbrv] incubator-brooklyn git commit: more rest-server tidies
more rest-server tidies
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/30c9eaa0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/30c9eaa0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/30c9eaa0
Branch: refs/heads/master
Commit: 30c9eaa03da988fc15f2ab3a0991348d2f9ad5b0
Parents: 7e88061
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Aug 18 14:32:30 2015 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Aug 18 14:51:58 2015 +0100
----------------------------------------------------------------------
.../brooklyn/config/render/RendererHints.java | 6 +-
.../config/render/TestRendererHints.java | 36 --------
.../brooklynnode/DeployBlueprintTest.java | 93 --------------------
.../brooklyn/rest/BrooklynRestApiLauncher.java | 27 +++---
.../rest/resources/EntityResourceTest.java | 26 +++---
.../SensorResourceIntegrationTest.java | 22 +++--
.../rest/resources/SensorResourceTest.java | 20 ++---
.../ServerResourceIntegrationTest.java | 16 ++--
.../rest/resources/ServerResourceTest.java | 24 ++---
.../rest/resources/ServerShutdownTest.java | 12 ++-
.../test/config/render/TestRendererHints.java | 36 ++++++++
.../brooklynnode/DeployBlueprintTest.java | 91 +++++++++++++++++++
12 files changed, 195 insertions(+), 214 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/core/src/main/java/brooklyn/config/render/RendererHints.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/config/render/RendererHints.java b/core/src/main/java/brooklyn/config/render/RendererHints.java
index 8787b89..7628ac1 100644
--- a/core/src/main/java/brooklyn/config/render/RendererHints.java
+++ b/core/src/main/java/brooklyn/config/render/RendererHints.java
@@ -52,9 +52,11 @@ public class RendererHints {
private static final Logger log = LoggerFactory.getLogger(RendererHints.class);
- @VisibleForTesting
- static SetMultimap<Object, Hint<?>> registry = Multimaps.synchronizedSetMultimap(LinkedHashMultimap.<Object, Hint<?>>create());
+ private static SetMultimap<Object, Hint<?>> registry = Multimaps.synchronizedSetMultimap(LinkedHashMultimap.<Object, Hint<?>>create());
+ @VisibleForTesting
+ public static SetMultimap<Object, Hint<?>> getRegistry() { return registry; }
+
/**
* Registers a {@link Hint} against the given element.
* <p>
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/brooklyn/config/render/TestRendererHints.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/brooklyn/config/render/TestRendererHints.java b/usage/rest-server/src/test/java/brooklyn/config/render/TestRendererHints.java
deleted file mode 100644
index 131866c..0000000
--- a/usage/rest-server/src/test/java/brooklyn/config/render/TestRendererHints.java
+++ /dev/null
@@ -1,36 +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 brooklyn.config.render;
-
-import brooklyn.config.render.RendererHints;
-
-/** Methods used when testing the {@link RendererHints} regiostry. */
-public class TestRendererHints {
-
- /** Clear the registry.
- *
- * MUST be used by a single test only.
- * TestNG interleaves the tests (sequentially) which results in tearDown
- * executing in the middle of another class' tests. Only one tearDown may
- * call this method.
- **/
- public static void clearRegistry() {
- RendererHints.registry.clear();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/entity/brooklynnode/DeployBlueprintTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/entity/brooklynnode/DeployBlueprintTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/entity/brooklynnode/DeployBlueprintTest.java
deleted file mode 100644
index 2a1a0de..0000000
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/entity/brooklynnode/DeployBlueprintTest.java
+++ /dev/null
@@ -1,93 +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.entity.brooklynnode;
-
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.brooklyn.test.HttpTestUtils;
-import org.eclipse.jetty.server.Server;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-import brooklyn.entity.basic.BasicApplication;
-import brooklyn.entity.brooklynnode.BrooklynNode;
-import brooklyn.entity.brooklynnode.BrooklynNode.DeployBlueprintEffector;
-import brooklyn.event.feed.http.JsonFunctions;
-
-import org.apache.brooklyn.api.entity.basic.EntityLocal;
-import org.apache.brooklyn.api.entity.proxying.EntitySpec;
-import org.apache.brooklyn.api.management.EntityManager;
-import org.apache.brooklyn.rest.BrooklynRestApiLauncherTestFixture;
-import org.apache.brooklyn.test.HttpTestUtils;
-import org.apache.brooklyn.util.guava.Functionals;
-
-import com.google.common.base.Function;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-
-public class DeployBlueprintTest extends BrooklynRestApiLauncherTestFixture {
-
- private static final Logger log = LoggerFactory.getLogger(DeployBlueprintTest.class);
-
- Server server;
-
- @BeforeMethod(alwaysRun=true)
- public void setUp() throws Exception {
- server = newServer();
- useServerForTest(server);
- }
-
- @Test
- public void testStartsAppViaEffector() throws Exception {
- URI webConsoleUri = URI.create(getBaseUri());
-
- EntitySpec<BrooklynNode> spec = EntitySpec.create(BrooklynNode.class);
- EntityManager mgr = getManagementContextFromJettyServerAttributes(server).getEntityManager();
- BrooklynNode node = mgr.createEntity(spec);
- ((EntityLocal)node).setAttribute(BrooklynNode.WEB_CONSOLE_URI, webConsoleUri);
- mgr.manage(node);
- Map<String, String> params = ImmutableMap.of(DeployBlueprintEffector.BLUEPRINT_CAMP_PLAN.getName(), "{ services: [ serviceType: \"java:"+BasicApplication.class.getName()+"\" ] }");
- String id = node.invoke(BrooklynNode.DEPLOY_BLUEPRINT, params).getUnchecked();
-
- log.info("got: "+id);
-
- String apps = HttpTestUtils.getContent(webConsoleUri.toString()+"/v1/applications");
- List<String> appType = parseJsonList(apps, ImmutableList.of("spec", "type"), String.class);
- assertEquals(appType, ImmutableList.of(BasicApplication.class.getName()));
-
- String status = HttpTestUtils.getContent(webConsoleUri.toString()+"/v1/applications/"+id+"/entities/"+id+"/sensors/service.status");
- log.info("STATUS: "+status);
- }
-
- private <T> List<T> parseJsonList(String json, List<String> elements, Class<T> clazz) {
- Function<String, List<T>> func = Functionals.chain(
- JsonFunctions.asJson(),
- JsonFunctions.forEach(Functionals.chain(
- JsonFunctions.walk(elements),
- JsonFunctions.cast(clazz))));
- return func.apply(json);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncher.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncher.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncher.java
index e4bf5d6..ccc8bdf 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncher.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/BrooklynRestApiLauncher.java
@@ -35,20 +35,6 @@ import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherAbstract;
import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer;
import org.apache.brooklyn.core.management.internal.LocalManagementContext;
import org.apache.brooklyn.core.management.internal.ManagementContextInternal;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.handler.ContextHandler;
-import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.webapp.WebAppContext;
-import org.reflections.util.ClasspathHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import brooklyn.config.BrooklynProperties;
-import brooklyn.config.BrooklynServerConfig;
-import brooklyn.config.BrooklynServiceAttributes;
-
import org.apache.brooklyn.rest.filter.BrooklynPropertiesSecurityFilter;
import org.apache.brooklyn.rest.filter.HaMasterCheckFilter;
import org.apache.brooklyn.rest.filter.LoggingFilter;
@@ -62,6 +48,15 @@ import org.apache.brooklyn.rest.util.TestShutdownHandler;
import org.apache.brooklyn.util.exceptions.Exceptions;
import org.apache.brooklyn.util.net.Networking;
import org.apache.brooklyn.util.text.WildcardGlobs;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.ContextHandler;
+import org.eclipse.jetty.servlet.FilterHolder;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.webapp.WebAppContext;
+import org.reflections.util.ClasspathHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.google.common.annotations.Beta;
import com.google.common.base.Charsets;
@@ -73,6 +68,10 @@ import com.sun.jersey.api.core.DefaultResourceConfig;
import com.sun.jersey.api.core.ResourceConfig;
import com.sun.jersey.spi.container.servlet.ServletContainer;
+import brooklyn.config.BrooklynProperties;
+import brooklyn.config.BrooklynServerConfig;
+import brooklyn.config.BrooklynServiceAttributes;
+
/** Convenience and demo for launching programmatically. Also used for automated tests.
* <p>
* BrooklynLauncher has a more full-featured CLI way to start,
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/EntityResourceTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/EntityResourceTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/EntityResourceTest.java
index 16988cd..a9cbf1f 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/EntityResourceTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/EntityResourceTest.java
@@ -25,20 +25,6 @@ import java.util.Map;
import javax.annotation.Nullable;
import javax.ws.rs.core.MediaType;
-import org.apache.brooklyn.test.HttpTestUtils;
-import org.apache.brooklyn.test.entity.TestEntity;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import brooklyn.entity.basic.BasicApplication;
-import brooklyn.entity.basic.Entities;
-import brooklyn.entity.basic.EntityInternal;
-
import org.apache.brooklyn.api.entity.Entity;
import org.apache.brooklyn.rest.domain.ApplicationSpec;
import org.apache.brooklyn.rest.domain.EntitySpec;
@@ -46,14 +32,26 @@ import org.apache.brooklyn.rest.domain.TaskSummary;
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.test.entity.TestEntity;
import org.apache.brooklyn.util.collections.MutableList;
import org.apache.brooklyn.util.exceptions.Exceptions;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.type.TypeReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.sun.jersey.api.client.ClientResponse;
+import brooklyn.entity.basic.BasicApplication;
+import brooklyn.entity.basic.Entities;
+import brooklyn.entity.basic.EntityInternal;
+
@Test(singleThreaded = true)
public class EntityResourceTest extends BrooklynRestResourceTest {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
index 9c35055..01b8d3e 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceIntegrationTest.java
@@ -20,18 +20,6 @@ package org.apache.brooklyn.rest.resources;
import java.net.URI;
-import org.apache.brooklyn.test.HttpTestUtils;
-import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
-import org.apache.http.client.HttpClient;
-import org.eclipse.jetty.server.Server;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import brooklyn.entity.basic.BasicApplication;
-import brooklyn.entity.basic.EntityInternal;
-import brooklyn.entity.basic.EntityPredicates;
-
import org.apache.brooklyn.api.entity.Entity;
import org.apache.brooklyn.api.entity.proxying.EntitySpec;
import org.apache.brooklyn.api.management.ManagementContext;
@@ -41,12 +29,22 @@ import org.apache.brooklyn.rest.BrooklynRestApiLauncher;
import org.apache.brooklyn.rest.BrooklynRestApiLauncherTestFixture;
import org.apache.brooklyn.rest.testing.mocks.RestMockSimpleEntity;
import org.apache.brooklyn.test.HttpTestUtils;
+import org.apache.brooklyn.test.entity.LocalManagementContextForTests;
import org.apache.brooklyn.util.collections.MutableList;
import org.apache.brooklyn.util.net.Urls;
+import org.apache.http.client.HttpClient;
+import org.eclipse.jetty.server.Server;
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
+import brooklyn.entity.basic.BasicApplication;
+import brooklyn.entity.basic.EntityInternal;
+import brooklyn.entity.basic.EntityPredicates;
+
public class SensorResourceIntegrationTest extends BrooklynRestApiLauncherTestFixture {
private Server server;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceTest.java
index 462e8d6..2b04262 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/SensorResourceTest.java
@@ -25,27 +25,20 @@ import java.util.Map;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.brooklyn.test.HttpTestUtils;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import brooklyn.config.render.RendererHints;
-import brooklyn.config.render.TestRendererHints;
-import brooklyn.entity.basic.EntityInternal;
-import brooklyn.entity.basic.EntityPredicates;
-import brooklyn.event.basic.Sensors;
-
import org.apache.brooklyn.api.event.AttributeSensor;
import org.apache.brooklyn.rest.api.SensorApi;
import org.apache.brooklyn.rest.domain.ApplicationSpec;
import org.apache.brooklyn.rest.domain.EntitySpec;
+import org.apache.brooklyn.rest.test.config.render.TestRendererHints;
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.MutableMap;
import org.apache.brooklyn.util.stream.Streams;
import org.apache.brooklyn.util.text.StringFunctions;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
import com.google.common.base.Functions;
import com.google.common.collect.ImmutableSet;
@@ -55,6 +48,11 @@ import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.WebResource.Builder;
+import brooklyn.config.render.RendererHints;
+import brooklyn.entity.basic.EntityInternal;
+import brooklyn.entity.basic.EntityPredicates;
+import brooklyn.event.basic.Sensors;
+
/**
* Test the {@link SensorApi} implementation.
* <p>
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
index 0dcfd44..6c49764 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceIntegrationTest.java
@@ -25,15 +25,6 @@ import java.net.URI;
import java.util.Collections;
import java.util.Map;
-import org.apache.brooklyn.test.HttpTestUtils;
-import org.apache.http.HttpStatus;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.HttpClient;
-import org.eclipse.jetty.server.Server;
-import org.testng.annotations.Test;
-
-import brooklyn.config.BrooklynProperties;
-
import org.apache.brooklyn.api.management.ManagementContext;
import org.apache.brooklyn.core.management.internal.LocalManagementContext;
import org.apache.brooklyn.core.management.internal.ManagementContextInternal;
@@ -43,9 +34,16 @@ import org.apache.brooklyn.rest.BrooklynRestApiLauncher;
import org.apache.brooklyn.rest.BrooklynRestApiLauncherTestFixture;
import org.apache.brooklyn.rest.security.provider.TestSecurityProvider;
import org.apache.brooklyn.test.HttpTestUtils;
+import org.apache.http.HttpStatus;
+import org.apache.http.auth.UsernamePasswordCredentials;
+import org.apache.http.client.HttpClient;
+import org.eclipse.jetty.server.Server;
+import org.testng.annotations.Test;
import com.google.common.collect.ImmutableMap;
+import brooklyn.config.BrooklynProperties;
+
public class ServerResourceIntegrationTest extends BrooklynRestApiLauncherTestFixture {
/**
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java
index 975fd22..fcf2ff6 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java
@@ -19,24 +19,25 @@
package org.apache.brooklyn.rest.resources;
import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
-import javax.ws.rs.core.MultivaluedMap;
-
+import org.apache.brooklyn.api.entity.proxying.ImplementedBy;
+import org.apache.brooklyn.api.management.ManagementContext;
+import org.apache.brooklyn.core.management.internal.ManagementContextInternal;
+import org.apache.brooklyn.rest.domain.HighAvailabilitySummary;
+import org.apache.brooklyn.rest.domain.VersionSummary;
+import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
+import org.apache.brooklyn.test.Asserts;
+import org.apache.brooklyn.util.exceptions.Exceptions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import com.google.common.collect.ImmutableSet;
import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
import brooklyn.BrooklynVersion;
import brooklyn.config.BrooklynProperties;
@@ -44,15 +45,6 @@ import brooklyn.entity.basic.EmptySoftwareProcess;
import brooklyn.entity.basic.EmptySoftwareProcessDriver;
import brooklyn.entity.basic.EmptySoftwareProcessImpl;
-import org.apache.brooklyn.api.entity.proxying.ImplementedBy;
-import org.apache.brooklyn.api.management.ManagementContext;
-import org.apache.brooklyn.core.management.internal.ManagementContextInternal;
-import org.apache.brooklyn.rest.domain.HighAvailabilitySummary;
-import org.apache.brooklyn.rest.domain.VersionSummary;
-import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
-import org.apache.brooklyn.test.Asserts;
-import org.apache.brooklyn.util.exceptions.Exceptions;
-
@Test(singleThreaded = true)
public class ServerResourceTest extends BrooklynRestResourceTest {
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java
index 9616040..0164c17 100644
--- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ServerShutdownTest.java
@@ -27,6 +27,11 @@ import java.util.concurrent.atomic.AtomicReference;
import javax.ws.rs.core.MultivaluedMap;
+import org.apache.brooklyn.api.entity.proxying.EntitySpec;
+import org.apache.brooklyn.api.management.EntityManager;
+import org.apache.brooklyn.api.management.Task;
+import org.apache.brooklyn.rest.resources.ServerResourceTest.StopLatchEntity;
+import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
import org.apache.brooklyn.test.Asserts;
import org.apache.brooklyn.test.EntityTestUtils;
import org.apache.brooklyn.test.entity.TestApplication;
@@ -44,18 +49,11 @@ import com.google.common.collect.ImmutableSet;
import com.sun.jersey.core.util.MultivaluedMapImpl;
import brooklyn.entity.basic.Attributes;
-import brooklyn.entity.basic.Entities;
import brooklyn.entity.basic.Lifecycle;
import brooklyn.entity.drivers.BasicEntityDriverManager;
import brooklyn.entity.drivers.ReflectiveEntityDriverFactory;
import brooklyn.entity.trait.Startable;
-import org.apache.brooklyn.api.entity.proxying.EntitySpec;
-import org.apache.brooklyn.api.management.EntityManager;
-import org.apache.brooklyn.api.management.Task;
-import org.apache.brooklyn.rest.resources.ServerResourceTest.StopLatchEntity;
-import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
-
public class ServerShutdownTest extends BrooklynRestResourceTest {
private static final Logger log = LoggerFactory.getLogger(ServerResourceTest.class);
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/rest/test/config/render/TestRendererHints.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/test/config/render/TestRendererHints.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/test/config/render/TestRendererHints.java
new file mode 100644
index 0000000..dc4750a
--- /dev/null
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/test/config/render/TestRendererHints.java
@@ -0,0 +1,36 @@
+/*
+ * 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.test.config.render;
+
+import brooklyn.config.render.RendererHints;
+
+/** Methods used when testing the {@link RendererHints} regiostry. */
+public class TestRendererHints {
+
+ /** Clear the registry.
+ *
+ * MUST be used by a single test only.
+ * TestNG interleaves the tests (sequentially) which results in tearDown
+ * executing in the middle of another class' tests. Only one tearDown may
+ * call this method.
+ **/
+ public static void clearRegistry() {
+ RendererHints.getRegistry().clear();
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/30c9eaa0/usage/rest-server/src/test/java/org/apache/brooklyn/rest/test/entity/brooklynnode/DeployBlueprintTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/test/entity/brooklynnode/DeployBlueprintTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/test/entity/brooklynnode/DeployBlueprintTest.java
new file mode 100644
index 0000000..7225939
--- /dev/null
+++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/test/entity/brooklynnode/DeployBlueprintTest.java
@@ -0,0 +1,91 @@
+/*
+ * 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.test.entity.brooklynnode;
+
+import static org.testng.Assert.assertEquals;
+
+import java.net.URI;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.brooklyn.api.entity.basic.EntityLocal;
+import org.apache.brooklyn.api.entity.proxying.EntitySpec;
+import org.apache.brooklyn.api.management.EntityManager;
+import org.apache.brooklyn.rest.BrooklynRestApiLauncherTestFixture;
+import org.apache.brooklyn.test.HttpTestUtils;
+import org.apache.brooklyn.util.guava.Functionals;
+import org.eclipse.jetty.server.Server;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import com.google.common.base.Function;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+
+import brooklyn.entity.basic.BasicApplication;
+import brooklyn.entity.brooklynnode.BrooklynNode;
+import brooklyn.entity.brooklynnode.BrooklynNode.DeployBlueprintEffector;
+import brooklyn.event.feed.http.JsonFunctions;
+
+public class DeployBlueprintTest extends BrooklynRestApiLauncherTestFixture {
+
+ private static final Logger log = LoggerFactory.getLogger(DeployBlueprintTest.class);
+
+ Server server;
+
+ @BeforeMethod(alwaysRun=true)
+ public void setUp() throws Exception {
+ server = newServer();
+ useServerForTest(server);
+ }
+
+ @Test
+ public void testStartsAppViaEffector() throws Exception {
+ URI webConsoleUri = URI.create(getBaseUri());
+
+ EntitySpec<BrooklynNode> spec = EntitySpec.create(BrooklynNode.class);
+ EntityManager mgr = getManagementContextFromJettyServerAttributes(server).getEntityManager();
+ BrooklynNode node = mgr.createEntity(spec);
+ ((EntityLocal)node).setAttribute(BrooklynNode.WEB_CONSOLE_URI, webConsoleUri);
+ mgr.manage(node);
+ Map<String, String> params = ImmutableMap.of(DeployBlueprintEffector.BLUEPRINT_CAMP_PLAN.getName(), "{ services: [ serviceType: \"java:"+BasicApplication.class.getName()+"\" ] }");
+ String id = node.invoke(BrooklynNode.DEPLOY_BLUEPRINT, params).getUnchecked();
+
+ log.info("got: "+id);
+
+ String apps = HttpTestUtils.getContent(webConsoleUri.toString()+"/v1/applications");
+ List<String> appType = parseJsonList(apps, ImmutableList.of("spec", "type"), String.class);
+ assertEquals(appType, ImmutableList.of(BasicApplication.class.getName()));
+
+ String status = HttpTestUtils.getContent(webConsoleUri.toString()+"/v1/applications/"+id+"/entities/"+id+"/sensors/service.status");
+ log.info("STATUS: "+status);
+ }
+
+ private <T> List<T> parseJsonList(String json, List<String> elements, Class<T> clazz) {
+ Function<String, List<T>> func = Functionals.chain(
+ JsonFunctions.asJson(),
+ JsonFunctions.forEach(Functionals.chain(
+ JsonFunctions.walk(elements),
+ JsonFunctions.cast(clazz))));
+ return func.apply(json);
+ }
+
+}