You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2014/02/20 20:17:39 UTC

[33/50] [abbrv] git commit: updated refs/heads/ui-restyle to c64bfa5

Fix and add some Rest unit and IT tests. Fix by adding a missing type of RoutingConfig.

Signed-off-by: Hugo Trippaers <ht...@schubergphilis.com>


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

Branch: refs/heads/ui-restyle
Commit: 808c6df6d76af1d4a048cbc7037903aca99d4c4d
Parents: b70af44
Author: Antonio Fornie <af...@schubergphilis.com>
Authored: Tue Feb 18 17:02:12 2014 +0100
Committer: Hugo Trippaers <ht...@schubergphilis.com>
Committed: Wed Feb 19 09:30:57 2014 +0100

----------------------------------------------------------------------
 .../com/cloud/network/nicira/NiciraNvpApi.java  |   7 +-
 .../nicira/RoutingTableRoutingConfig.java       |  30 ++
 .../cloud/network/nicira/NiciraNvpApiTest.java  | 383 ++++++++++---------
 .../utils/rest/RESTServiceConnectorTest.java    |  53 +--
 4 files changed, 263 insertions(+), 210 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/808c6df6/plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java b/plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java
index 3861d63..810453c 100644
--- a/plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java
+++ b/plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/NiciraNvpApi.java
@@ -634,6 +634,9 @@ public class NiciraNvpApi {
 
     public static class RoutingConfigAdapter implements JsonDeserializer<RoutingConfig> {
 
+        private static final String ROUTING_TABLE_ROUTING_CONFIG = "RoutingTableRoutingConfig";
+        private static final String SINGLE_DEFAULT_ROUTE_IMPLICIT_ROUTING_CONFIG = "SingleDefaultRouteImplicitRoutingConfig";
+
         @Override
         public RoutingConfig deserialize(final JsonElement jsonElement, final Type type, final JsonDeserializationContext context) throws JsonParseException {
             final JsonObject jsonObject = jsonElement.getAsJsonObject();
@@ -643,8 +646,10 @@ public class NiciraNvpApi {
             }
 
             final String routingConfigType = jsonObject.get("type").getAsString();
-            if ("SingleDefaultRouteImplicitRoutingConfig".equals(routingConfigType)) {
+            if (SINGLE_DEFAULT_ROUTE_IMPLICIT_ROUTING_CONFIG.equals(routingConfigType)) {
                 return context.deserialize(jsonElement, SingleDefaultRouteImplicitRoutingConfig.class);
+            } else if (ROUTING_TABLE_ROUTING_CONFIG.equals(routingConfigType)) {
+                return context.deserialize(jsonElement, RoutingTableRoutingConfig.class);
             }
 
             throw new JsonParseException("Failed to deserialize type \"" + routingConfigType + "\"");

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/808c6df6/plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/RoutingTableRoutingConfig.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/RoutingTableRoutingConfig.java b/plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/RoutingTableRoutingConfig.java
new file mode 100644
index 0000000..f0a80b8
--- /dev/null
+++ b/plugins/network-elements/nicira-nvp/src/com/cloud/network/nicira/RoutingTableRoutingConfig.java
@@ -0,0 +1,30 @@
+//
+// 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 com.cloud.network.nicira;
+
+/**
+ *
+ */
+public class RoutingTableRoutingConfig extends RoutingConfig {
+    public final String type = "RoutingTableRoutingConfig";
+
+    public RoutingTableRoutingConfig() {
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/808c6df6/plugins/network-elements/nicira-nvp/test/com/cloud/network/nicira/NiciraNvpApiTest.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/nicira-nvp/test/com/cloud/network/nicira/NiciraNvpApiTest.java b/plugins/network-elements/nicira-nvp/test/com/cloud/network/nicira/NiciraNvpApiTest.java
index fe41545..51964bf 100644
--- a/plugins/network-elements/nicira-nvp/test/com/cloud/network/nicira/NiciraNvpApiTest.java
+++ b/plugins/network-elements/nicira-nvp/test/com/cloud/network/nicira/NiciraNvpApiTest.java
@@ -20,199 +20,214 @@
 package com.cloud.network.nicira;
 
 import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpMethod;
+import org.apache.commons.httpclient.HttpStatus;
+import org.apache.commons.httpclient.NameValuePair;
+import org.apache.commons.httpclient.methods.DeleteMethod;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.PutMethod;
+import org.apache.commons.httpclient.params.HttpClientParams;
+import org.junit.Before;
 import org.junit.Test;
 
 import com.google.gson.Gson;
 import com.google.gson.JsonParseException;
 
+import com.cloud.utils.rest.RESTServiceConnector;
+import com.cloud.utils.rest.RESTValidationStrategy;
+
 public class NiciraNvpApiTest {
-//    protected static final String UUID = "aaaa";
-//    protected static final String UUID2 = "bbbb";
-//    protected static final String UUID_SEC_PROFILE_URI = NiciraNvpApi.SEC_PROFILE_URI_PREFIX + "/aaaa";
-//    protected static final String SCHEMA = "myTestSchema";
-//    protected static final String SCHEMA2 = "myTestSchema2";
-//    protected static final String HREF = "myTestHref";
-//    protected static final String HREF2 = "myTestHref2";
-//    protected static final String DISPLAY_NAME = "myTestName";
-//    protected static final String UUID_JSON_RESPONSE = "{\"uuid\" : \"aaaa\"}";
-//    protected static final String SEC_PROFILE_JSON_RESPONSE =
-//            "{\"uuid\" : \"aaaa\","
-//            + "\"display_name\" : \"myTestName\","
-//            + "\"href\" : \"myTestHref\","
-//            + "\"schema\" : \"myTestSchema\"}";
-//
-//    protected static final String SEC_PROFILE_LIST_JSON_RESPONSE = "{\"results\" : [{\"uuid\" : \"aaaa\","
-//            + "\"display_name\" : \"myTestName\","
-//            + "\"href\" : \"myTestHref\","
-//            + "\"schema\" : \"myTestSchema\"},"
-//            + "{ \"uuid\" : \"bbbb\","
-//            + "\"display_name\" : \"myTestName2\","
-//            + "\"href\" : \"myTestHref2\","
-//            + "\"schema\" : \"myTestSchema2\"}],"
-//            + "\"result_count\": 2}";
-//
-//    NiciraNvpApi api;
-//    HttpClient client = mock(HttpClient.class);
-//    HttpMethod method;
-//    String type;
-//    String uri;
-//
-//    @Before
-//    public void setUp() {
-//        final HttpClientParams hmp = mock(HttpClientParams.class);
-//        when(client.getParams()).thenReturn(hmp);
-//        api = new NiciraNvpApi();
-//
-//        api.restConnector = new RESTServiceConnector() {
-//            @Override
-//            public HttpClient createHttpClient() {
-//                return client;
-//            }
-//
-//            @Override
-//            public HttpMethod createMethod(final String newType, final String newUri) {
-//                type = newType;
-//                uri = newUri;
-//                return method;
-//            }
-//        };
-//
-//        api.setAdminCredentials("admin", "adminpass");
-//        api.setControllerAddress("localhost");
-//    }
-//
-//    @Test
-//    public void testFindSecurityProfile() throws NiciraNvpApiException, IOException {
-//        // Prepare
-//        method = mock(GetMethod.class);
-//        when(method.getStatusCode()).thenReturn(HttpStatus.SC_OK);
-//        when(method.getResponseBodyAsString()).thenReturn(SEC_PROFILE_LIST_JSON_RESPONSE);
-//        final NameValuePair[] queryString = new NameValuePair[]{
-//                new NameValuePair("fields","*")};
-//
-//        // Execute
-//        final NiciraNvpList<SecurityProfile> actualProfiles = api.findSecurityProfile();
-//
-//        // Assert
-//        verify(method, times(1)).releaseConnection();
-//        verify(method, times(1)).setQueryString(queryString);
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                UUID, actualProfiles.getResults().get(0).getUuid());
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                HREF, actualProfiles.getResults().get(0).getHref());
-//        assertEquals("Wrong Schema in the newly created SecurityProfile",
-//                SCHEMA, actualProfiles.getResults().get(0).getSchema());
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                UUID2, actualProfiles.getResults().get(1).getUuid());
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                HREF2, actualProfiles.getResults().get(1).getHref());
-//        assertEquals("Wrong Schema in the newly created SecurityProfile",
-//                SCHEMA2, actualProfiles.getResults().get(1).getSchema());
-//        assertEquals("Wrong Schema in the newly created SecurityProfile",
-//                2, actualProfiles.getResultCount());
-//        assertEquals("Wrong URI for SecurityProfile creation REST service",
-//                NiciraNvpApi.SEC_PROFILE_URI_PREFIX, uri);
-//        assertEquals("Wrong URI for SecurityProfile creation REST service",
-//                NiciraNvpApi.GET_METHOD_TYPE, type);
-//    }
-//
-//    @Test
-//    public void testFindSecurityProfileByUuid() throws NiciraNvpApiException, IOException {
-//        // Prepare
-//        method = mock(GetMethod.class);
-//        when(method.getStatusCode()).thenReturn(HttpStatus.SC_OK);
-//        when(method.getResponseBodyAsString()).thenReturn(SEC_PROFILE_LIST_JSON_RESPONSE);
-//        final NameValuePair[] queryString = new NameValuePair[]{
-//                new NameValuePair("uuid", UUID),
-//                new NameValuePair("fields","*")
-//        };
-//
-//        // Execute
-//        final NiciraNvpList<SecurityProfile> actualProfiles = api.findSecurityProfile(UUID);
-//
-//        // Assert
-//        verify(method, times(1)).releaseConnection();
-//        verify(method, times(1)).setQueryString(queryString);
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                UUID, actualProfiles.getResults().get(0).getUuid());
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                HREF, actualProfiles.getResults().get(0).getHref());
-//        assertEquals("Wrong Schema in the newly created SecurityProfile",
-//                SCHEMA, actualProfiles.getResults().get(0).getSchema());
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                UUID2, actualProfiles.getResults().get(1).getUuid());
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                HREF2, actualProfiles.getResults().get(1).getHref());
-//        assertEquals("Wrong Schema in the newly created SecurityProfile",
-//                SCHEMA2, actualProfiles.getResults().get(1).getSchema());
-//        assertEquals("Wrong Schema in the newly created SecurityProfile",
-//                2, actualProfiles.getResultCount());
-//        assertEquals("Wrong URI for SecurityProfile creation REST service",
-//                NiciraNvpApi.SEC_PROFILE_URI_PREFIX, uri);
-//        assertEquals("Wrong HTTP method for SecurityProfile creation REST service",
-//                NiciraNvpApi.GET_METHOD_TYPE, type);
-//    }
-//
-//    @Test
-//    public void testCreateSecurityProfile() throws NiciraNvpApiException, IOException {
-//        // Prepare
-//        final SecurityProfile inputSecProfile = new SecurityProfile();
-//        method = mock(PostMethod.class);
-//        when(method.getStatusCode()).thenReturn(HttpStatus.SC_CREATED);
-//        when(method.getResponseBodyAsString()).thenReturn(SEC_PROFILE_JSON_RESPONSE);
-//
-//        // Execute
-//        final SecurityProfile actualSecProfile = api.createSecurityProfile(inputSecProfile);
-//
-//        // Assert
-//        verify(method, times(1)).releaseConnection();
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                UUID, actualSecProfile.getUuid());
-//        assertEquals("Wrong Uuid in the newly created SecurityProfile",
-//                HREF, actualSecProfile.getHref());
-//        assertEquals("Wrong Schema in the newly created SecurityProfile",
-//                SCHEMA, actualSecProfile.getSchema());
-//        assertEquals("Wrong URI for SecurityProfile creation REST service",
-//                NiciraNvpApi.SEC_PROFILE_URI_PREFIX, uri);
-//        assertEquals("Wrong HTTP method for SecurityProfile creation REST service",
-//                NiciraNvpApi.POST_METHOD_TYPE, type);
-//    }
-//
-//    @Test
-//    public void testUpdateSecurityProfile() throws NiciraNvpApiException, IOException {
-//        // Prepare
-//        final SecurityProfile inputSecProfile = new SecurityProfile();
-//        method = mock(PutMethod.class);
-//        when(method.getStatusCode()).thenReturn(HttpStatus.SC_OK);
-//
-//        // Execute
-//        api.updateSecurityProfile(inputSecProfile, UUID);
-//
-//        // Assert
-//        verify(method, times(1)).releaseConnection();
-//        assertEquals("Wrong URI for SecurityProfile creation REST service",
-//                UUID_SEC_PROFILE_URI, uri);
-//        assertEquals("Wrong HTTP method for SecurityProfile creation REST service",
-//                NiciraNvpApi.PUT_METHOD_TYPE, type);
-//    }
-//
-//    @Test
-//    public void testDeleteSecurityProfile() throws NiciraNvpApiException, IOException {
-//        // Prepare
-//        method = mock(DeleteMethod.class);
-//        when(method.getStatusCode()).thenReturn(HttpStatus.SC_NO_CONTENT);
-//
-//        // Execute
-//        api.deleteSecurityProfile(UUID);
-//
-//        // Assert
-//        verify(method, times(1)).releaseConnection();
-//        assertEquals("Wrong URI for SecurityProfile deletion REST service", UUID_SEC_PROFILE_URI, uri);
-//        assertEquals("Wrong HTTP method for SecurityProfile deletion REST service", NiciraNvpApi.DELETE_METHOD_TYPE, type);
-//    }
+    protected static final String UUID = "aaaa";
+    protected static final String UUID2 = "bbbb";
+    protected static final String UUID_SEC_PROFILE_URI = NiciraNvpApi.SEC_PROFILE_URI_PREFIX + "/aaaa";
+    protected static final String SCHEMA = "myTestSchema";
+    protected static final String SCHEMA2 = "myTestSchema2";
+    protected static final String HREF = "myTestHref";
+    protected static final String HREF2 = "myTestHref2";
+    protected static final String SEC_PROFILE_JSON_RESPONSE =
+            "{\"uuid\" : \"aaaa\","
+            + "\"display_name\" : \"myTestName\","
+            + "\"href\" : \"myTestHref\","
+            + "\"schema\" : \"myTestSchema\"}";
+
+    protected static final String SEC_PROFILE_LIST_JSON_RESPONSE = "{\"results\" : [{\"uuid\" : \"aaaa\","
+            + "\"display_name\" : \"myTestName\","
+            + "\"href\" : \"myTestHref\","
+            + "\"schema\" : \"myTestSchema\"},"
+            + "{ \"uuid\" : \"bbbb\","
+            + "\"display_name\" : \"myTestName2\","
+            + "\"href\" : \"myTestHref2\","
+            + "\"schema\" : \"myTestSchema2\"}],"
+            + "\"result_count\": 2}";
+
+    NiciraNvpApi api;
+    HttpClient client = mock(HttpClient.class);
+    HttpMethod method;
+    String type;
+    String uri;
+
+    @Before
+    public void setUp() {
+        final HttpClientParams hmp = mock(HttpClientParams.class);
+        when(client.getParams()).thenReturn(hmp);
+        api = new NiciraNvpApi();
+
+        api.restConnector = new RESTServiceConnector(new RESTValidationStrategy()) {
+            @Override
+            public HttpClient createHttpClient() {
+                return client;
+            }
+
+            @Override
+            public HttpMethod createMethod(final String newType, final String newUri) {
+                type = newType;
+                uri = newUri;
+                return method;
+            }
+        };
+
+        api.setAdminCredentials("admin", "adminpass");
+        api.setControllerAddress("localhost");
+    }
+
+    @Test
+    public void testFindSecurityProfile() throws NiciraNvpApiException, IOException {
+        // Prepare
+        method = mock(GetMethod.class);
+        when(method.getStatusCode()).thenReturn(HttpStatus.SC_OK);
+        when(method.getResponseBodyAsString()).thenReturn(SEC_PROFILE_LIST_JSON_RESPONSE);
+        final NameValuePair[] queryString = new NameValuePair[]{
+                new NameValuePair("fields","*")};
+
+        // Execute
+        final NiciraNvpList<SecurityProfile> actualProfiles = api.findSecurityProfile();
+
+        // Assert
+        verify(method, times(1)).releaseConnection();
+        verify(method, times(1)).setQueryString(queryString);
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                UUID, actualProfiles.getResults().get(0).getUuid());
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                HREF, actualProfiles.getResults().get(0).getHref());
+        assertEquals("Wrong Schema in the newly created SecurityProfile",
+                SCHEMA, actualProfiles.getResults().get(0).getSchema());
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                UUID2, actualProfiles.getResults().get(1).getUuid());
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                HREF2, actualProfiles.getResults().get(1).getHref());
+        assertEquals("Wrong Schema in the newly created SecurityProfile",
+                SCHEMA2, actualProfiles.getResults().get(1).getSchema());
+        assertEquals("Wrong Schema in the newly created SecurityProfile",
+                2, actualProfiles.getResultCount());
+        assertEquals("Wrong URI for SecurityProfile creation REST service",
+                NiciraNvpApi.SEC_PROFILE_URI_PREFIX, uri);
+        assertEquals("Wrong URI for SecurityProfile creation REST service",
+                NiciraNvpApi.GET_METHOD_TYPE, type);
+    }
+
+    @Test
+    public void testFindSecurityProfileByUuid() throws NiciraNvpApiException, IOException {
+        // Prepare
+        method = mock(GetMethod.class);
+        when(method.getStatusCode()).thenReturn(HttpStatus.SC_OK);
+        when(method.getResponseBodyAsString()).thenReturn(SEC_PROFILE_LIST_JSON_RESPONSE);
+        final NameValuePair[] queryString = new NameValuePair[]{
+                new NameValuePair("uuid", UUID),
+                new NameValuePair("fields","*")
+        };
+
+        // Execute
+        final NiciraNvpList<SecurityProfile> actualProfiles = api.findSecurityProfile(UUID);
+
+        // Assert
+        verify(method, times(1)).releaseConnection();
+        verify(method, times(1)).setQueryString(queryString);
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                UUID, actualProfiles.getResults().get(0).getUuid());
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                HREF, actualProfiles.getResults().get(0).getHref());
+        assertEquals("Wrong Schema in the newly created SecurityProfile",
+                SCHEMA, actualProfiles.getResults().get(0).getSchema());
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                UUID2, actualProfiles.getResults().get(1).getUuid());
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                HREF2, actualProfiles.getResults().get(1).getHref());
+        assertEquals("Wrong Schema in the newly created SecurityProfile",
+                SCHEMA2, actualProfiles.getResults().get(1).getSchema());
+        assertEquals("Wrong Schema in the newly created SecurityProfile",
+                2, actualProfiles.getResultCount());
+        assertEquals("Wrong URI for SecurityProfile creation REST service",
+                NiciraNvpApi.SEC_PROFILE_URI_PREFIX, uri);
+        assertEquals("Wrong HTTP method for SecurityProfile creation REST service",
+                NiciraNvpApi.GET_METHOD_TYPE, type);
+    }
+
+    @Test
+    public void testCreateSecurityProfile() throws NiciraNvpApiException, IOException {
+        // Prepare
+        final SecurityProfile inputSecProfile = new SecurityProfile();
+        method = mock(PostMethod.class);
+        when(method.getStatusCode()).thenReturn(HttpStatus.SC_CREATED);
+        when(method.getResponseBodyAsString()).thenReturn(SEC_PROFILE_JSON_RESPONSE);
+
+        // Execute
+        final SecurityProfile actualSecProfile = api.createSecurityProfile(inputSecProfile);
+
+        // Assert
+        verify(method, times(1)).releaseConnection();
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                UUID, actualSecProfile.getUuid());
+        assertEquals("Wrong Uuid in the newly created SecurityProfile",
+                HREF, actualSecProfile.getHref());
+        assertEquals("Wrong Schema in the newly created SecurityProfile",
+                SCHEMA, actualSecProfile.getSchema());
+        assertEquals("Wrong URI for SecurityProfile creation REST service",
+                NiciraNvpApi.SEC_PROFILE_URI_PREFIX, uri);
+        assertEquals("Wrong HTTP method for SecurityProfile creation REST service",
+                NiciraNvpApi.POST_METHOD_TYPE, type);
+    }
+
+    @Test
+    public void testUpdateSecurityProfile() throws NiciraNvpApiException, IOException {
+        // Prepare
+        final SecurityProfile inputSecProfile = new SecurityProfile();
+        method = mock(PutMethod.class);
+        when(method.getStatusCode()).thenReturn(HttpStatus.SC_OK);
+
+        // Execute
+        api.updateSecurityProfile(inputSecProfile, UUID);
+
+        // Assert
+        verify(method, times(1)).releaseConnection();
+        assertEquals("Wrong URI for SecurityProfile creation REST service",
+                UUID_SEC_PROFILE_URI, uri);
+        assertEquals("Wrong HTTP method for SecurityProfile creation REST service",
+                NiciraNvpApi.PUT_METHOD_TYPE, type);
+    }
+
+    @Test
+    public void testDeleteSecurityProfile() throws NiciraNvpApiException, IOException {
+        // Prepare
+        method = mock(DeleteMethod.class);
+        when(method.getStatusCode()).thenReturn(HttpStatus.SC_NO_CONTENT);
+
+        // Execute
+        api.deleteSecurityProfile(UUID);
+
+        // Assert
+        verify(method, times(1)).releaseConnection();
+        assertEquals("Wrong URI for SecurityProfile deletion REST service", UUID_SEC_PROFILE_URI, uri);
+        assertEquals("Wrong HTTP method for SecurityProfile deletion REST service", NiciraNvpApi.DELETE_METHOD_TYPE, type);
+    }
 
     @Test(expected = JsonParseException.class)
     public void testRoutingConfigAdapterNoType() throws NiciraNvpApiException, IOException {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/808c6df6/utils/test/com/cloud/utils/rest/RESTServiceConnectorTest.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/rest/RESTServiceConnectorTest.java b/utils/test/com/cloud/utils/rest/RESTServiceConnectorTest.java
index 17864b4..6d58b5b 100644
--- a/utils/test/com/cloud/utils/rest/RESTServiceConnectorTest.java
+++ b/utils/test/com/cloud/utils/rest/RESTServiceConnectorTest.java
@@ -28,7 +28,6 @@ import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 import java.util.Collections;
-//import java.util.List;
 
 import org.apache.commons.httpclient.Header;
 import org.apache.commons.httpclient.HttpClient;
@@ -45,28 +44,7 @@ import org.junit.Test;
 
 public class RESTServiceConnectorTest {
     protected static final String UUID = "aaaa";
-    protected static final String UUID2 = "bbbb";
-    protected static final String SCHEMA = "myTestSchema";
-    protected static final String SCHEMA2 = "myTestSchema2";
-    protected static final String HREF = "myTestHref";
-    protected static final String HREF2 = "myTestHref2";
-    protected static final String DISPLAY_NAME = "myTestName";
     protected static final String UUID_JSON_RESPONSE = "{\"uuid\" : \"aaaa\"}";
-    protected static final String SEC_PROFILE_JSON_RESPONSE =
-            "{\"uuid\" : \"aaaa\","
-                    + "\"display_name\" : \"myTestName\","
-                    + "\"href\" : \"myTestHref\","
-                    + "\"schema\" : \"myTestSchema\"}";
-
-    protected static final String SEC_PROFILE_LIST_JSON_RESPONSE = "{\"results\" : [{\"uuid\" : \"aaaa\","
-            + "\"display_name\" : \"myTestName\","
-            + "\"href\" : \"myTestHref\","
-            + "\"schema\" : \"myTestSchema\"},"
-            + "{ \"uuid\" : \"bbbb\","
-            + "\"display_name\" : \"myTestName2\","
-            + "\"href\" : \"myTestHref2\","
-            + "\"schema\" : \"myTestSchema2\"}],"
-            + "\"result_count\": 2}";
 
     RESTServiceConnector connector;
     HttpClient client = mock(HttpClient.class);
@@ -175,9 +153,6 @@ public class RESTServiceConnectorTest {
         verify(gm, times(1)).getStatusCode();
     }
 
-    /* Bit of a roundabout way to ensure that login is called after an un authorized result
-     * It not possible to properly mock login()
-     */
     @Test(expected = CloudstackRESTException.class)
     public void testExecuteMethodWithLogin() throws CloudstackRESTException, HttpException, IOException {
         final GetMethod gm = mock(GetMethod.class);
@@ -187,6 +162,34 @@ public class RESTServiceConnectorTest {
         verify(gm, times(1)).getStatusCode();
     }
 
+    /* Bit of a roundabout way to ensure that login is called after an un authorized result
+     * It not possible to properly mock login()
+     */
+    public void testExecuteMethodWithLoginSucced2ndAttempt() throws CloudstackRESTException, HttpException, IOException {
+        // Prepare
+        final GetMethod gm = mock(GetMethod.class);
+        when(gm.getStatusCode()).thenReturn(HttpStatus.SC_UNAUTHORIZED).thenReturn(HttpStatus.SC_UNAUTHORIZED);
+
+        final RESTValidationStrategy previousValidationStrategy = connector.validation;
+        connector.validation = new RESTValidationStrategy(){
+            @Override
+            protected void login(final String protocol, final HttpClient client)
+                    throws CloudstackRESTException {
+                // Do nothing
+            }
+        };
+        connector.setAdminCredentials("admin", "adminpass");
+        connector.setControllerAddress("localhost");
+
+        // Execute
+        connector.executeMethod(gm);
+        // Leave mock object as is was
+        connector.validation = previousValidationStrategy;
+
+        // Assert/verify
+        verify(gm, times(2)).getStatusCode();
+    }
+
     @Test
     public void testExecuteCreateObject() throws CloudstackRESTException, IOException {
         JsonEntity ls = new JsonEntity();