You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/11/17 17:21:12 UTC
[05/32] jclouds-labs git commit: JCLOUDS-780 Remove vcloud-director.
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApiExpectTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApiExpectTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApiExpectTest.java
deleted file mode 100644
index 60eb9a7..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApiExpectTest.java
+++ /dev/null
@@ -1,94 +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.jclouds.vcloud.director.v1_5.features.admin;
-
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
-import org.jclouds.vcloud.director.v1_5.admin.VCloudDirectorAdminApi;
-import org.jclouds.vcloud.director.v1_5.domain.Group;
-import org.jclouds.vcloud.director.v1_5.domain.Reference;
-import org.jclouds.vcloud.director.v1_5.internal.VCloudDirectorAdminApiExpectTest;
-import org.testng.annotations.Test;
-
-@Test(groups = { "unit", "admin" }, singleThreaded = true, testName = "GroupApiExpectTest")
-public class GroupApiExpectTest extends VCloudDirectorAdminApiExpectTest {
-
- private Reference groupRef = Reference.builder()
- .type("application/vnd.vmware.admin.group+xml")
- .name("fff")
- .href(URI.create(endpoint + "/admin/group/fff"))
- .build();
-
- @Test(enabled = false)
- public void testGetGroup() {
- VCloudDirectorAdminApi api = requestsSendResponses(loginRequest, sessionResponse,
- new VcloudHttpRequestPrimer()
- .apiCommand("GET", "/admin/group/fff")
- .acceptAnyMedia()
- .httpRequestBuilder().build(),
- new VcloudHttpResponsePrimer()
- .xmlFilePayload("/group/group.xml", VCloudDirectorMediaType.GROUP)
- .httpResponseBuilder().build());
-
- Group expected = group();
-
- assertEquals(api.getGroupApi().get(groupRef.getHref()), expected);
- }
-
- public static final Group group() {
- return Group.builder()
-
- .build();
- }
-
- @Test(enabled = false)
- public void testEditGroup() {
- VCloudDirectorAdminApi api = requestsSendResponses(loginRequest, sessionResponse,
- new VcloudHttpRequestPrimer()
- .apiCommand("PUT", "/admin/group/fff")
- .xmlFilePayload("/group/editGroupSource.xml", VCloudDirectorMediaType.GROUP)
- .acceptMedia(VCloudDirectorMediaType.GROUP)
- .httpRequestBuilder().build(),
- new VcloudHttpResponsePrimer()
- .xmlFilePayload("/group/editGroup.xml", VCloudDirectorMediaType.GROUP)
- .httpResponseBuilder().build());
-
- Group expected = editGroup();
-
- assertEquals(api.getGroupApi().edit(groupRef.getHref(), expected), expected);
- }
-
- public static Group editGroup() {
- return null; // TODO chain onto group() then toBuilder() and edit?
- }
-
- @Test
- public void testRemoveGroup() {
- VCloudDirectorAdminApi api = requestsSendResponses(loginRequest, sessionResponse,
- new VcloudHttpRequestPrimer()
- .apiCommand("DELETE", "/admin/group/fff")
- .acceptAnyMedia()
- .httpRequestBuilder().build(),
- new VcloudHttpResponsePrimer()
- .httpResponseBuilder().statusCode(204).build());
-
- api.getGroupApi().remove(groupRef.getHref());
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApiLiveTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApiLiveTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApiLiveTest.java
deleted file mode 100644
index 90db76a..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApiLiveTest.java
+++ /dev/null
@@ -1,132 +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.jclouds.vcloud.director.v1_5.features.admin;
-
-import static com.google.common.base.Objects.equal;
-import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_UPDATABLE;
-import static org.testng.Assert.assertTrue;
-import static org.testng.Assert.fail;
-
-import org.jclouds.vcloud.director.v1_5.VCloudDirectorException;
-import org.jclouds.vcloud.director.v1_5.domain.Checks;
-import org.jclouds.vcloud.director.v1_5.domain.Group;
-import org.jclouds.vcloud.director.v1_5.domain.Reference;
-import org.jclouds.vcloud.director.v1_5.domain.org.OrgLdapSettings;
-import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorApiLiveTest;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-@Test(groups = { "live", "admin" }, singleThreaded = true, testName = "GroupApiLiveTest")
-public class GroupApiLiveTest extends BaseVCloudDirectorApiLiveTest {
-
- public static final String GROUP = "admin group";
-
- /*
- * Convenience references to API apis.
- */
- private GroupApi groupApi;
-
- /*
- * Shared state between dependant tests.
- */
- private Group group;
- private OrgLdapSettings oldLdapSettings;
- private OrgLdapSettings newLdapSettings;
-
- @Override
- @BeforeClass(alwaysRun = true)
- public void setupRequiredApis() {
- groupApi = adminContext.getApi().getGroupApi();
- Reference orgRef = null;
-
- // TODO: requisite LDAP settings
-// oldLdapSettings = adminContext.getApi().getAdminOrgApi().getLdapSettings(orgRef.getHref());
-// OrgLdapSettings newLdapSettings = oldLdapSettings.toBuilder()
-// .ldapMode(OrgLdapSettings.LdapMode.SYSTEM)
-// .build();
-// context.getApi().getAdminOrgApi().editLdapSettings(newLdapSettings);
- }
-
- @Test(description = "POST /admin/org/{id}/groups")
- public void testAddGroup() {
- fail("LDAP not configured, group api isn't currently testable.");
-// group = groupApi.createGroup(orgUri, Group.builder()
-// .build();
-
- Checks.checkGroup(group);
- }
-
- @Test(description = "GET /admin/group/{id}", dependsOnMethods = { "testAddGroup" })
- public void testGetGroup() {
- group = groupApi.get(group.getHref());
-
- Checks.checkGroup(group);
- }
-
- @Test(description = "PUT /admin/group/{id}", dependsOnMethods = { "testGetGroup" } )
- public void testEditGroup() {
- String oldName = group.getName();
- String newName = "new " + oldName;
- String oldDescription = group.getDescription();
- String newDescription = "new " + oldDescription;
- //TODO: check other modifiables
-
- try {
- group = group.toBuilder()
- .name(newName)
- .description(newDescription)
- .build();
-
- group = groupApi.edit(group.getHref(), group);
-
- assertTrue(equal(group.getName(), newName), String.format(OBJ_FIELD_UPDATABLE, GROUP, "name"));
- assertTrue(equal(group.getDescription(), newDescription),
- String.format(OBJ_FIELD_UPDATABLE, GROUP, "description"));
-
- //TODO negative tests?
-
- Checks.checkGroup(group);
- } finally {
- group = group.toBuilder()
- .name(oldName)
- .description(oldDescription)
- .build();
-
- group = groupApi.edit(group.getHref(), group);
- }
- }
-
- @Test(description = "DELETE /admin/group/{id}", dependsOnMethods = { "testEditGroup" } )
- public void testRemoveGroup() {
- groupApi.remove(group.getHref());
-
- // TODO stronger assertion of error expected
-// Error expected = Error.builder()
-// .message("???")
-// .majorErrorCode(403)
-// .minorErrorCode("ACCESS_TO_RESOURCE_IS_FORBIDDEN")
-// .build();
-
- try {
- group = groupApi.get(group.getHref());
- fail("Should give HTTP 403 error");
- } catch (VCloudDirectorException vde) {
- // success
- group = null;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/UserApiExpectTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/UserApiExpectTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/UserApiExpectTest.java
deleted file mode 100644
index 12039f0..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/UserApiExpectTest.java
+++ /dev/null
@@ -1,225 +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.jclouds.vcloud.director.v1_5.features.admin;
-
-import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.ERROR;
-import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.ORG;
-import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.USER;
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.rest.ResourceNotFoundException;
-import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
-import org.jclouds.vcloud.director.v1_5.admin.VCloudDirectorAdminApi;
-import org.jclouds.vcloud.director.v1_5.domain.Link;
-import org.jclouds.vcloud.director.v1_5.domain.Reference;
-import org.jclouds.vcloud.director.v1_5.domain.User;
-import org.jclouds.vcloud.director.v1_5.internal.VCloudDirectorAdminApiExpectTest;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.net.HttpHeaders;
-
-@Test(groups = { "unit", "admin" }, singleThreaded = true, testName = "UserApiExpectTest")
-public class UserApiExpectTest extends VCloudDirectorAdminApiExpectTest {
-
- private static String user = "7212e451-76e1-4631-b2de-ba1dfd8080e4";
- private static URI userHref = URI.create(endpoint + "/user/" + user);
-
- private static String org = "7212e451-76e1-4631-b2de-asdasdasd";
- private static URI orgAdminHref = URI.create(endpoint + "/admin/org/" + org);
-
- private HttpRequest add = HttpRequest.builder()
- .method("POST")
- .endpoint(orgAdminHref + "/users")
- .addHeader("Accept", USER)
- .addHeader("x-vcloud-authorization", token)
- .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + token)
- .payload(payloadFromResourceWithContentType("/user/addUserSource.xml", VCloudDirectorMediaType.USER))
- .build();
-
- private HttpResponse addResponse = HttpResponse.builder()
- .statusCode(200)
- .payload(payloadFromResourceWithContentType("/user/addUser.xml", USER + ";version=1.5"))
- .build();
-
- @Test
- public void testAddUserHref() {
- VCloudDirectorAdminApi api = requestsSendResponses(loginRequest, sessionResponse, add, addResponse);
- assertEquals(api.getUserApi().addUserToOrg(addUserSource(), orgAdminHref), addUser());
- }
-
- HttpRequest get = HttpRequest.builder()
- .method("GET")
- .endpoint(userHref)
- .addHeader("Accept", "*/*")
- .addHeader("x-vcloud-authorization", token)
- .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + token)
- .build();
-
- HttpResponse getResponse = HttpResponse.builder()
- .statusCode(200)
- .payload(payloadFromResourceWithContentType("/user/user.xml", ORG + ";version=1.5"))
- .build();
-
- @Test
- public void testGetUserHref() {
- VCloudDirectorAdminApi api = requestsSendResponses(loginRequest, sessionResponse, get, getResponse);
- assertEquals(api.getUserApi().get(userHref), user());
- }
-
- HttpRequest edit = HttpRequest.builder()
- .method("PUT")
- .endpoint(userHref)
- .addHeader("Accept", USER)
- .addHeader("x-vcloud-authorization", token)
- .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + token)
- .payload(payloadFromResourceWithContentType("/user/editUserSource.xml", USER))
- .build();
-
- HttpResponse editResponse = HttpResponse.builder()
- .statusCode(200)
- .payload(payloadFromResourceWithContentType("/user/editUser.xml", USER))
- .build();
-
- @Test
- public void testEditUserHref() {
- VCloudDirectorAdminApi api = requestsSendResponses(loginRequest, sessionResponse, edit, editResponse);
- assertEquals(api.getUserApi().edit(userHref, editUserSource()), editUser());
- }
-
- HttpRequest unlock = HttpRequest.builder()
- .method("POST")
- .endpoint(userHref + "/action/unlock")
- .addHeader("Accept", "*/*")
- .addHeader("x-vcloud-authorization", token)
- .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + token)
- .build();
-
- HttpResponse unlockResponse = HttpResponse.builder()
- .statusCode(204)
- .build();
-
- @Test
- public void testUnlockUserHref() {
- VCloudDirectorAdminApi api = requestsSendResponses(loginRequest, sessionResponse, unlock, unlockResponse);
- api.getUserApi().unlock(userHref);
- }
-
- @Test(expectedExceptions = ResourceNotFoundException.class)
- public void testUnlockUserHrefNotFound() {
- VCloudDirectorAdminApi api = requestsSendResponses(loginRequest, sessionResponse, unlock, HttpResponse.builder()
- .statusCode(403)
- .payload(payloadFromResourceWithContentType("/org/error400.xml", ERROR))
- .build());
- api.getUserApi().unlock(userHref);
- }
-
- HttpRequest remove = HttpRequest.builder()
- .method("DELETE")
- .endpoint(userHref)
- .addHeader("Accept", "*/*")
- .addHeader("x-vcloud-authorization", token)
- .addHeader(HttpHeaders.COOKIE, "vcloud-token=" + token).build();
-
- HttpResponse removeResponse = HttpResponse.builder()
- .statusCode(200)
- .build();
-
- @Test
- public void testRemoveUserHref() {
- VCloudDirectorAdminApi api = requestsSendResponses(loginRequest, sessionResponse, remove, removeResponse);
- api.getUserApi().remove(userHref);
- }
-
- public static final User addUserSource() {
- return User.builder()
- .name("test")
- .fullName("testFullName")
- .emailAddress("test@test.com")
- .telephone("555-1234")
- .isEnabled(false)
- .im("testIM")
- .isAlertEnabled(false)
- .alertEmailPrefix("testPrefix")
- .alertEmail("testAlert@test.com")
- .isExternal(false)
- .isGroupRole(false)
- .role(Reference.builder()
- .type("application/vnd.vmware.admin.role+xml")
- .name("vApp User")
- .href(URI.create("https://vcloudbeta.bluelock.com/api/admin/role/ff1e0c91-1288-3664-82b7-a6fa303af4d1"))
- .build())
- .password("password")
- .groups(ImmutableList.<Reference>of())
- .build();
- }
-
- public static final User addUser() {
- return addUserSource().toBuilder()
- .id("urn:vcloud:user:b37223f3-8792-477a-820f-334998f61cd6")
- .type("application/vnd.vmware.admin.user+xml")
- .href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/b37223f3-8792-477a-820f-334998f61cd6"))
- .link(Link.builder()
- .rel("edit")
- .type("application/vnd.vmware.admin.user+xml")
- .href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/b37223f3-8792-477a-820f-334998f61cd6"))
- .build())
- .link(Link.builder()
- .rel("remove")
- .href(URI.create("https://vcloudbeta.bluelock.com/api/admin/user/b37223f3-8792-477a-820f-334998f61cd6"))
- .build())
- .isLocked(false)
- .isDefaultCached(false)
- .storedVmQuota(0)
- .deployedVmQuota(0)
- .password(null)
- .build();
- }
-
- public static final User user() {
- return addUser().toBuilder()
- .nameInSource("test")
- .build();
- }
-
- public static final User editUserSource() {
- return user().toBuilder()
- .fullName("new" + user().getFullName())
- .emailAddress("new" + user().getEmailAddress())
- .telephone("1-" + user().getTelephone())
- .isEnabled(true)
- .im("new" + user().getIM())
- .isAlertEnabled(true)
- .alertEmailPrefix("new" + user().getAlertEmailPrefix())
- .alertEmail("new" + user().getAlertEmail())
- .storedVmQuota(1)
- .deployedVmQuota(1)
- .password("newPassword")
- .build();
- }
-
- public static final User editUser() {
- return editUserSource().toBuilder()
- .password(null)
- .build();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/UserApiLiveTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/UserApiLiveTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/UserApiLiveTest.java
deleted file mode 100644
index 7d0e9a0..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/admin/UserApiLiveTest.java
+++ /dev/null
@@ -1,215 +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.jclouds.vcloud.director.v1_5.features.admin;
-
-import static com.google.common.base.Objects.equal;
-import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_UPDATABLE;
-import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkUser;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-import static org.testng.Assert.fail;
-import static org.testng.AssertJUnit.assertFalse;
-
-import java.net.URI;
-
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.vcloud.director.v1_5.domain.Role.DefaultRoles;
-import org.jclouds.vcloud.director.v1_5.domain.SessionWithToken;
-import org.jclouds.vcloud.director.v1_5.domain.User;
-import org.jclouds.vcloud.director.v1_5.domain.org.OrgPasswordPolicySettings;
-import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorApiLiveTest;
-import org.jclouds.vcloud.director.v1_5.login.SessionApi;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-@Test(groups = { "live", "admin" }, singleThreaded = true, testName = "UserApiLiveTest")
-public class UserApiLiveTest extends BaseVCloudDirectorApiLiveTest {
-
- public static final String USER = "admin user";
-
- /*
- * Convenience references to API apis.
- */
- UserApi userApi;
-
- /*
- * Shared state between dependant tests.
- */
- private User user;
-
- @Override
- @BeforeClass(alwaysRun = true)
- public void setupRequiredApis() {
- userApi = adminContext.getApi().getUserApi();
- }
-
- @AfterClass(alwaysRun = true)
- public void cleanUp() throws Exception {
- if (user != null) {
- try {
- userApi.remove(user.getHref());
- } catch (Exception e) {
- logger.warn(e, "Error deleting user '%s'", user.getName());
- }
- }
- }
-
- @Test(description = "POST /admin/org/{id}/users")
- public void testAddUser() {
- User newUser = randomTestUser("testAddUser");
- user = userApi.addUserToOrg(newUser, org.getHref());
- checkUser(newUser);
- }
-
- @Test(description = "GET /admin/user/{id}", dependsOnMethods = { "testAddUser" })
- public void testGetUser() {
- user = userApi.get(user.getHref());
-
- checkUser(user);
- }
-
- @Test(description = "PUT /admin/user/{id}", dependsOnMethods = { "testGetUser" })
- public void testEditUser() {
- User oldUser = user.toBuilder().build();
- User newUser = user.toBuilder()
- .fullName("new" + oldUser.getFullName())
- .emailAddress("new" + oldUser.getEmailAddress())
- .telephone("1-" + oldUser.getTelephone())
- .isEnabled(true)
- .im("new" + oldUser.getIM())
- .isAlertEnabled(true)
- .alertEmailPrefix("new" + oldUser.getAlertEmailPrefix())
- .alertEmail("new" + oldUser.getAlertEmail())
- .storedVmQuota(1)
- .deployedVmQuota(1)
- .password("newPassword")
- // TODO test setting other fields?
-// .name("new" + oldUser.getName())
- .role(getRoleReferenceFor(DefaultRoles.AUTHOR.value()))
- .build();
-
- userApi.edit(user.getHref(), newUser);
- user = userApi.get(user.getHref());
-
- checkUser(user);
- assertTrue(equal(user.getFullName(), newUser.getFullName()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "fullName"));
- assertTrue(equal(user.getEmailAddress(), newUser.getEmailAddress()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "emailAddress"));
- assertTrue(equal(user.getTelephone(), newUser.getTelephone()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "telephone"));
- assertTrue(equal(user.isEnabled(), newUser.isEnabled()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "isEnabled"));
- assertTrue(equal(user.getIM(), newUser.getIM()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "im"));
- assertTrue(equal(user.isAlertEnabled(), newUser.isAlertEnabled()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "isAlertEnabled"));
- assertTrue(equal(user.getAlertEmailPrefix(), newUser.getAlertEmailPrefix()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "alertEmailPrefix"));
- assertTrue(equal(user.getAlertEmail(), newUser.getAlertEmail()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "alertEmail"));
-// assertTrue(equal(user.getRole(), newUser.getRole()),
-// String.format(OBJ_FIELD_UPDATABLE, USER, "role"));
- assertTrue(equal(user.getStoredVmQuota(), newUser.getStoredVmQuota()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "storedVmQuota"));
- assertTrue(equal(user.getDeployedVmQuota(), newUser.getDeployedVmQuota()),
- String.format(OBJ_FIELD_UPDATABLE, USER, "deployedVmQuota"));
-
- // session api isn't typically exposed to the user, as it is implicit
- SessionApi sessionApi = context.utils().injector().getInstance(SessionApi.class);
-
- // Check the user can really login with the changed password
- // NOTE: the password is NOT returned in the User object returned from the server
- SessionWithToken sessionWithToken = sessionApi.loginUserInOrgWithPassword(URI.create(endpoint + "/sessions"), user.getName(), org.getName(), "newPassword");
- assertNotNull(sessionWithToken.getToken());
- sessionApi.logoutSessionWithToken(sessionWithToken.getSession().getHref(), sessionWithToken.getToken());
- }
-
- @Test(description = "POST /admin/user/{id}/action/unlock", dependsOnMethods = { "testEditUser" })
- public void testUnlockUser() {
- // Need to know how many times to fail login to lock account
- AdminOrgApi adminOrgApi = adminContext.getApi().getOrgApi();
- OrgPasswordPolicySettings settingsToRevertTo = null;
-
- // session api isn't typically exposed to the user, as it is implicit
- SessionApi sessionApi = context.utils().injector().getInstance(SessionApi.class);
-
- OrgPasswordPolicySettings settings = adminOrgApi.getSettings(org.getHref()).getPasswordPolicy();
- assertNotNull(settings);
-
- // Adjust account settings so we can lock the account - be careful to not set invalidLoginsBeforeLockout too low!
- if (!settings.isAccountLockoutEnabled()) {
- settingsToRevertTo = settings;
- settings = settings.toBuilder().accountLockoutEnabled(true).invalidLoginsBeforeLockout(5).build();
- settings = adminOrgApi.editPasswordPolicy(org.getHref(), settings);
- }
-
- assertTrue(settings.isAccountLockoutEnabled());
-
- for (int i = 0; i < settings.getInvalidLoginsBeforeLockout() + 1; i++) {
- try {
- sessionApi.loginUserInOrgWithPassword(URI.create(endpoint + "/sessions"), user.getName(), org.getName(), "wrongpassword!");
- fail("Managed to login using the wrong password!");
- } catch (AuthorizationException e) {
- } catch (Exception e) {
- fail("Expected AuthorizationException", e);
- }
- }
-
- user = userApi.get(user.getHref());
- assertTrue(user.isLocked());
-
- try {
- sessionApi.loginUserInOrgWithPassword(URI.create(endpoint + "/sessions"), user.getName(), org.getName(), "newPassword");
- fail("Managed to login to locked account!");
- } catch (AuthorizationException e) {
- } catch (Exception e) {
- fail("Expected AuthorizationException", e);
- }
-
- userApi.unlock(user.getHref());
-
- user = userApi.get(user.getHref());
- assertFalse(user.isLocked());
-
- // Double-check the user can now login again
- SessionWithToken sessionWithToken = sessionApi.loginUserInOrgWithPassword(URI.create(endpoint + "/sessions"), user.getName(), org.getName(), "newPassword");
- assertNotNull(sessionWithToken.getToken());
- sessionApi.logoutSessionWithToken(sessionWithToken.getSession().getHref(), sessionWithToken.getToken());
-
- // Return account settings to the previous values, if necessary
- if (settingsToRevertTo != null) {
- adminOrgApi.editPasswordPolicy(org.getHref(), settingsToRevertTo);
- }
- }
-
- @Test(description = "DELETE /admin/user/{id}", dependsOnMethods = { "testAddUser" })
- public void testRemoveUser() {
- // Create a user to be removed (so we remove dependencies on test ordering)
- User newUser = randomTestUser("testRemoveUser" + getTestDateTimeStamp());
- User userToBeDeleted = userApi.addUserToOrg(newUser, org.getHref());
-
- // Delete the user
- userApi.remove(userToBeDeleted.getHref());
-
- // Confirm cannot no longer be accessed
- User removed = userApi.get(userToBeDeleted.getHref());
- assertNull(removed);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVAppApiExpectTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVAppApiExpectTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVAppApiExpectTest.java
deleted file mode 100644
index 61cb6d9..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVAppApiExpectTest.java
+++ /dev/null
@@ -1,517 +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.jclouds.vcloud.director.v1_5.features.systemadmin;
-
-import java.net.URI;
-
-import org.jclouds.dmtf.ovf.NetworkSection;
-import org.jclouds.dmtf.ovf.StartupSection;
-import org.jclouds.vcloud.director.v1_5.domain.Error;
-import org.jclouds.vcloud.director.v1_5.domain.Link;
-import org.jclouds.vcloud.director.v1_5.domain.Owner;
-import org.jclouds.vcloud.director.v1_5.domain.ProductSectionList;
-import org.jclouds.vcloud.director.v1_5.domain.RasdItemsList;
-import org.jclouds.vcloud.director.v1_5.domain.Reference;
-import org.jclouds.vcloud.director.v1_5.domain.ScreenTicket;
-import org.jclouds.vcloud.director.v1_5.domain.Task;
-import org.jclouds.vcloud.director.v1_5.domain.VApp;
-import org.jclouds.vcloud.director.v1_5.domain.VmPendingQuestion;
-import org.jclouds.vcloud.director.v1_5.domain.VmQuestionAnswer;
-import org.jclouds.vcloud.director.v1_5.domain.dmtf.RasdItem;
-import org.jclouds.vcloud.director.v1_5.domain.params.ControlAccessParams;
-import org.jclouds.vcloud.director.v1_5.domain.section.GuestCustomizationSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.LeaseSettingsSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.NetworkConfigSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.NetworkConnectionSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.OperatingSystemSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.RuntimeInfoSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.VirtualHardwareSection;
-import org.jclouds.vcloud.director.v1_5.internal.VCloudDirectorAdminApiExpectTest;
-import org.jclouds.vcloud.director.v1_5.user.VCloudDirectorApi;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-import org.testng.internal.annotations.Sets;
-
-@Test(groups = { "unit", "systemAdmin" }, singleThreaded = true, testName = "SystemAdminVAppApiExpectTest")
-public class SystemAdminVAppApiExpectTest extends VCloudDirectorAdminApiExpectTest {
-
- private String vAppId = "vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be";
- private URI vAppURI = URI.create(endpoint + vAppId);
-
- @BeforeClass
- public void before() {
- }
-
- @Test(enabled = false)
- public void testEnterMaintenanceMode() {
- VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
- new VcloudHttpRequestPrimer()
- .apiCommand("POST", vAppId + "/action/enterMaintenanceMode")
- .acceptAnyMedia()
- .httpRequestBuilder().build(),
- new VcloudHttpResponsePrimer()
- .httpResponseBuilder().statusCode(204).build());
-
- // TODO how to test?
- api.getVAppApi().enterMaintenanceMode(vAppURI);
- }
-
- @Test(enabled = false)
- public void testExitMaintenanceMode() {
- VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
- new VcloudHttpRequestPrimer()
- .apiCommand("POST", vAppId + "/action/exitMaintenanceMode")
- .acceptAnyMedia()
- .httpRequestBuilder().build(),
- new VcloudHttpResponsePrimer()
- .httpResponseBuilder().statusCode(204).build());
-
- // TODO how to test?
- api.getVAppApi().exitMaintenanceMode(vAppURI);
- }
-
- public static VApp getVApp() {
- // FIXME Does not match XML
- VApp vApp = VApp.builder()
- .href(URI.create("https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be"))
-// .link(Link.builder()
-// .href(URI.create())
-// .build())
- .build();
-
-// <Link rel="power:powerOn" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/power/action/powerOn"/>
-// <Link rel="deploy" type="application/vnd.vmware.vcloud.deployVAppParams+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/action/deploy"/>
-// <Link rel="down" type="application/vnd.vmware.vcloud.vAppNetwork+xml" name="orgNet-cloudsoft-External" href="https://mycloud.greenhousedata.com/api/network/2a2e2da4-446a-4ebc-a086-06df7c9570f0"/>
-// <Link rel="down" type="application/vnd.vmware.vcloud.controlAccess+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/controlAccess/"/>
-// <Link rel="controlAccess" type="application/vnd.vmware.vcloud.controlAccess+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/action/controlAccess"/>
-// <Link rel="recompose" type="application/vnd.vmware.vcloud.recomposeVAppParams+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/action/recomposeVApp"/>
-// <Link rel="up" type="application/vnd.vmware.vcloud.vdc+xml" href="https://mycloud.greenhousedata.com/api/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f"/>
-// <Link rel="edit" type="application/vnd.vmware.vcloud.vApp+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be"/>
-// <Link rel="remove" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be"/>
-// <Link rel="down" type="application/vnd.vmware.vcloud.owner+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/owner"/>
-// <Link rel="down" type="application/vnd.vmware.vcloud.metadata+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/metadata"/>
-
- return vApp;
- }
-
- public static Task editVAppTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task removeVAppTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task consolidateVAppTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static ControlAccessParams controlAccessParams() {
- ControlAccessParams params = ControlAccessParams.builder()
- .build();
-
- return params;
- }
-
- public static Task deployTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task discardSuspendedStateTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task installVMwareToolsTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task recomposeVAppTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task relocateTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task undeployTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task upgradeHardwareVersionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task powerOffTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task powerOnTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task rebootTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task resetTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task shutdownTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task suspendTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static ControlAccessParams getAccessControlParams() {
- ControlAccessParams params = ControlAccessParams.builder()
- .build();
-
- return params;
- }
-
- public static GuestCustomizationSection getGuestCustomizationSection() {
- GuestCustomizationSection section = GuestCustomizationSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editGuestCustomizationSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static LeaseSettingsSection getLeaseSettingsSection() {
- LeaseSettingsSection section = LeaseSettingsSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editLeaseSettingsSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task ejectMediaTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task insertMediaTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static NetworkConfigSection getNetworkConfigSection() {
- NetworkConfigSection section = NetworkConfigSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editNetworkConfigSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static NetworkConnectionSection getNetworkConnectionSection() {
- NetworkConnectionSection section = NetworkConnectionSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editNetworkConnectionSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static NetworkSection getNetworkSection() {
- NetworkSection section = NetworkSection.builder()
- .build();
-
- return section;
- }
-
- public static OperatingSystemSection getOperatingSystemSection() {
- OperatingSystemSection section = OperatingSystemSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editOperatingSystemSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Owner getOwner() {
- Owner owner = Owner.builder()
- .build();
-
- return owner;
- }
-
- public static Task editOwnerTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static ProductSectionList getProductSections() {
- ProductSectionList sectionItems = ProductSectionList.builder()
- .build();
-
- return sectionItems;
- }
-
- public static Task editProductSectionsTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static VmPendingQuestion getPendingQuestion() {
- VmPendingQuestion question = VmPendingQuestion.builder()
- .build();
-
- return question;
- }
-
- public static VmQuestionAnswer answerQuestion() {
- VmQuestionAnswer answer = null; // = VmQuestionAnswer.builder()
-// .build();
-
- return answer;
- }
-
- public static RuntimeInfoSection getRuntimeInfoSection() {
- RuntimeInfoSection section = RuntimeInfoSection.builder()
- .build();
-
- return section;
- }
-
- public static byte[] getScreenImage() {
- byte[] image = new byte[0];
-
- return image;
- }
-
- public static ScreenTicket getScreenTicket() {
- ScreenTicket ticket = null; // = ScreenTicket.builder();
-// .build();
-
- return ticket;
- }
-
- public static StartupSection getStartupSection() {
- StartupSection section = null; // = StartupSection.builder();
-// .build();
-
- return section;
- }
-
- public static Task editStartupSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static VirtualHardwareSection getVirtualHardwareSection() {
- VirtualHardwareSection section = VirtualHardwareSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editVirtualHardwareSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItem getVirtualHardwareSectionCpu() {
- RasdItem cpu = RasdItem.builder()
- .build();
-
- return cpu;
- }
-
- public static Task editVirtualHardwareSectionCpuTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItemsList getVirtualHardwareSectionDisks() {
- RasdItemsList disks = RasdItemsList.builder()
- .build();
-
- return disks;
- }
-
- public static Task editVirtualHardwareSectionDisksTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItemsList getVirtualHardwareSectionMedia() {
- RasdItemsList media = RasdItemsList.builder()
- .build();
-
- return media;
- }
-
- public static RasdItem getVirtualHardwareSectionMemory() {
- RasdItem memory = RasdItem.builder()
- .build();
-
- return memory;
- }
-
- public static Task editVirtualHardwareSectionMemoryTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItemsList getVirtualHardwareSectionNetworkCards() {
- RasdItemsList networkCards = RasdItemsList.builder()
- .build();
-
- return networkCards;
- }
-
- public static Task editVirtualHardwareSectionNetworkCardsTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItemsList getVirtualHardwareSectionSerialPorts() {
- RasdItemsList serialPorts = RasdItemsList.builder()
- .build();
-
- return serialPorts;
- }
-
- public static Task editVirtualHardwareSectionSerialPortsTask() {
- return task("id", "name", "description", "status", "operation", "operationName", "startTime");
- }
-
- /** Used by other methods to add a custom {@link Task} object. */
- private static Task task(String taskId, String name, String description, String status, String operation, String operationName, String startTime) {
- Task task = Task.builder()
- .error(Error.builder().build())
- .org(Reference.builder().build())
- .owner(Reference.builder().build())
- .user(Reference.builder().build())
- .params(null)
- .progress(0)
- .status(status)
- .operation(operation)
- .operationName(operationName)
- .startTime(dateService.iso8601DateParse(startTime))
- .endTime(null)
- .expiryTime(null)
- .tasks(Sets.<Task>newLinkedHashSet())
- .description(description)
- .name(name)
- .id("urn:vcloud:" + taskId)
- .href(URI.create(endpoint + "/task/" + taskId))
- .links(Sets.<Link>newLinkedHashSet())
- .build();
-
- return task;
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVAppApiLiveTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVAppApiLiveTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVAppApiLiveTest.java
deleted file mode 100644
index 438684b..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVAppApiLiveTest.java
+++ /dev/null
@@ -1,109 +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.jclouds.vcloud.director.v1_5.features.systemadmin;
-
-import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.CONDITION_FMT;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.vcloud.director.v1_5.AbstractVAppApiLiveTest;
-import org.jclouds.vcloud.director.v1_5.domain.Task;
-import org.jclouds.vcloud.director.v1_5.domain.VApp;
-import org.jclouds.vcloud.director.v1_5.domain.params.DeployVAppParams;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-@Test(singleThreaded = true, testName = "SystemAdminVAppApiLiveTest")
-public class SystemAdminVAppApiLiveTest extends AbstractVAppApiLiveTest {
-
- private boolean testUserCreated = false;
-
- @BeforeClass(alwaysRun = true)
- protected void setupRequiredEntities() {
-
- if (adminContext != null) {
- userId = adminContext.getApi().getUserApi().addUserToOrg(randomTestUser("VAppAccessTest"), org.getHref())
- .getId();
- }
- }
-
- @AfterClass(alwaysRun = true, dependsOnMethods = { "cleanUpEnvironment" })
- public void cleanUp() {
- if (adminContext != null && testUserCreated && userId != null) {
- try {
- adminContext.getApi().getUserApi().remove(context.resolveIdToHref(userId));
- } catch (Exception e) {
- logger.warn(e, "Error when deleting user");
- }
- }
- }
-
- @Test(description = "POST /vApp/{id}/action/enterMaintenanceMode", groups = { "systemAdmin" })
- public void testEnterMaintenanceMode() {
-
- // Do this to a new vApp, so don't mess up subsequent tests by making the vApp read-only
- VApp temp = instantiateVApp();
- DeployVAppParams params = DeployVAppParams.builder()
- .deploymentLeaseSeconds((int) TimeUnit.SECONDS.convert(1L, TimeUnit.HOURS)).notForceCustomization()
- .notPowerOn().build();
- Task deployVApp = vAppApi.deploy(temp.getHref(), params);
- assertTaskSucceedsLong(deployVApp);
-
- try {
- // Method under test
- vAppApi.enterMaintenanceMode(temp.getHref());
-
- temp = vAppApi.get(temp.getHref());
- assertTrue(temp.isInMaintenanceMode(),
- String.format(CONDITION_FMT, "InMaintenanceMode", "TRUE", temp.isInMaintenanceMode()));
-
- // Exit maintenance mode
- vAppApi.exitMaintenanceMode(temp.getHref());
- } finally {
- cleanUpVApp(temp);
- }
- }
-
- @Test(description = "POST /vApp/{id}/action/exitMaintenanceMode", dependsOnMethods = { "testEnterMaintenanceMode" }, groups = { "systemAdmin" })
- public void testExitMaintenanceMode() {
- // Do this to a new vApp, so don't mess up subsequent tests by making the vApp read-only
- VApp temp = instantiateVApp();
- DeployVAppParams params = DeployVAppParams.builder()
- .deploymentLeaseSeconds((int) TimeUnit.SECONDS.convert(1L, TimeUnit.HOURS)).notForceCustomization()
- .notPowerOn().build();
- Task deployVApp = vAppApi.deploy(temp.getHref(), params);
- assertTaskSucceedsLong(deployVApp);
-
- try {
- // Enter maintenance mode
- vAppApi.enterMaintenanceMode(temp.getHref());
-
- // Method under test
- vAppApi.exitMaintenanceMode(temp.getHref());
-
- temp = vAppApi.get(temp.getHref());
- assertFalse(temp.isInMaintenanceMode(),
- String.format(CONDITION_FMT, "InMaintenanceMode", "FALSE", temp.isInMaintenanceMode()));
- } finally {
- cleanUpVApp(temp);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVmApiExpectTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVmApiExpectTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVmApiExpectTest.java
deleted file mode 100644
index befa61f..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVmApiExpectTest.java
+++ /dev/null
@@ -1,515 +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.jclouds.vcloud.director.v1_5.features.systemadmin;
-
-import static org.testng.Assert.assertEquals;
-
-import java.net.URI;
-
-import org.jclouds.dmtf.ovf.NetworkSection;
-import org.jclouds.dmtf.ovf.StartupSection;
-import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
-import org.jclouds.vcloud.director.v1_5.domain.Error;
-import org.jclouds.vcloud.director.v1_5.domain.Link;
-import org.jclouds.vcloud.director.v1_5.domain.Owner;
-import org.jclouds.vcloud.director.v1_5.domain.ProductSectionList;
-import org.jclouds.vcloud.director.v1_5.domain.RasdItemsList;
-import org.jclouds.vcloud.director.v1_5.domain.Reference;
-import org.jclouds.vcloud.director.v1_5.domain.ScreenTicket;
-import org.jclouds.vcloud.director.v1_5.domain.Task;
-import org.jclouds.vcloud.director.v1_5.domain.Vm;
-import org.jclouds.vcloud.director.v1_5.domain.VmPendingQuestion;
-import org.jclouds.vcloud.director.v1_5.domain.VmQuestionAnswer;
-import org.jclouds.vcloud.director.v1_5.domain.dmtf.RasdItem;
-import org.jclouds.vcloud.director.v1_5.domain.params.ControlAccessParams;
-import org.jclouds.vcloud.director.v1_5.domain.params.RelocateParams;
-import org.jclouds.vcloud.director.v1_5.domain.section.GuestCustomizationSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.LeaseSettingsSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.NetworkConfigSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.NetworkConnectionSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.OperatingSystemSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.RuntimeInfoSection;
-import org.jclouds.vcloud.director.v1_5.domain.section.VirtualHardwareSection;
-import org.jclouds.vcloud.director.v1_5.internal.VCloudDirectorAdminApiExpectTest;
-import org.jclouds.vcloud.director.v1_5.user.VCloudDirectorApi;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Sets;
-
-@Test(groups = { "unit", "systemAdmin" }, singleThreaded = true, testName = "SystemAdminVmApiExpectTest")
-public class SystemAdminVmApiExpectTest extends VCloudDirectorAdminApiExpectTest {
-
- private String vmId = "vm-d0e2b6b9-4381-4ddc-9572-cdfae54059be";
- private URI vmURI = URI.create(endpoint + vmId);
-
- @BeforeClass
- public void before() {
- }
-
- @Test(enabled = false)
- public void testRelocate() {
- VCloudDirectorApi api = requestsSendResponses(loginRequest, sessionResponse,
- new VcloudHttpRequestPrimer()
- .apiCommand("POST", vmId + "/action/relocate")
- .xmlFilePayload("/vApp/relocateParams.xml", VCloudDirectorMediaType.RELOCATE_VM_PARAMS)
- .acceptAnyMedia()
- .httpRequestBuilder().build(),
- new VcloudHttpResponsePrimer()
- .xmlFilePayload("/vApp/relocateTask.xml", VCloudDirectorMediaType.TASK)
- .httpResponseBuilder().build());
-
- RelocateParams params = RelocateParams.builder()
- .build();
-
- Task expected = relocateTask();
-
- assertEquals(api.getVmApi().relocate(vmURI, params), expected);
- }
-
-
- public static Vm getVm() {
- // FIXME Does not match XML
- Vm vm = Vm.builder()
- .href(URI.create("https://mycloud.greenhousedata.com/api/vApp/vm-d0e2b6b9-4381-4ddc-9572-cdfae54059be"))
-// .link(Link.builder()
-// .href(URI.create())
-// .build())
- .build();
-
-// <Link rel="power:powerOn" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/power/action/powerOn"/>
-// <Link rel="deploy" type="application/vnd.vmware.vcloud.deployVAppParams+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/action/deploy"/>
-// <Link rel="down" type="application/vnd.vmware.vcloud.vAppNetwork+xml" name="orgNet-cloudsoft-External" href="https://mycloud.greenhousedata.com/api/network/2a2e2da4-446a-4ebc-a086-06df7c9570f0"/>
-// <Link rel="down" type="application/vnd.vmware.vcloud.controlAccess+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/controlAccess/"/>
-// <Link rel="controlAccess" type="application/vnd.vmware.vcloud.controlAccess+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/action/controlAccess"/>
-// <Link rel="recompose" type="application/vnd.vmware.vcloud.recomposeVAppParams+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/action/recomposeVApp"/>
-// <Link rel="up" type="application/vnd.vmware.vcloud.vdc+xml" href="https://mycloud.greenhousedata.com/api/vdc/e9cd3387-ac57-4d27-a481-9bee75e0690f"/>
-// <Link rel="edit" type="application/vnd.vmware.vcloud.vApp+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be"/>
-// <Link rel="remove" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be"/>
-// <Link rel="down" type="application/vnd.vmware.vcloud.owner+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/owner"/>
-// <Link rel="down" type="application/vnd.vmware.vcloud.metadata+xml" href="https://mycloud.greenhousedata.com/api/vApp/vapp-d0e2b6b9-4381-4ddc-9572-cdfae54059be/metadata"/>
-
- return vm;
- }
-
- public static Task editVmTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task removeVmTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task consolidateVmTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static ControlAccessParams controlAccessParams() {
- ControlAccessParams params = ControlAccessParams.builder()
- .build();
-
- return params;
- }
-
- public static Task deployTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task discardSuspendedStateTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task installVMwareToolsTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task recomposeVmTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task relocateTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task undeployTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task upgradeHardwareVersionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task powerOffTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task powerOnTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task rebootTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task resetTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task shutdownTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task suspendTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static ControlAccessParams getAccessControlParams() {
- ControlAccessParams params = ControlAccessParams.builder()
- .build();
-
- return params;
- }
-
- public static GuestCustomizationSection getGuestCustomizationSection() {
- GuestCustomizationSection section = GuestCustomizationSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editGuestCustomizationSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static LeaseSettingsSection getLeaseSettingsSection() {
- LeaseSettingsSection section = LeaseSettingsSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editLeaseSettingsSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task ejectMediaTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Task insertMediaTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static NetworkConfigSection getNetworkConfigSection() {
- NetworkConfigSection section = NetworkConfigSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editNetworkConfigSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static NetworkConnectionSection getNetworkConnectionSection() {
- NetworkConnectionSection section = NetworkConnectionSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editNetworkConnectionSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static NetworkSection getNetworkSection() {
- NetworkSection section = NetworkSection.builder()
- .build();
-
- return section;
- }
-
- public static OperatingSystemSection getOperatingSystemSection() {
- OperatingSystemSection section = OperatingSystemSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editOperatingSystemSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static Owner getOwner() {
- Owner owner = Owner.builder()
- .build();
-
- return owner;
- }
-
- public static Task editOwnerTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static ProductSectionList getProductSections() {
- ProductSectionList sectionItems = ProductSectionList.builder()
- .build();
-
- return sectionItems;
- }
-
- public static Task editProductSectionsTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static VmPendingQuestion getPendingQuestion() {
- VmPendingQuestion question = VmPendingQuestion.builder()
- .build();
-
- return question;
- }
-
- public static VmQuestionAnswer answerQuestion() {
- VmQuestionAnswer answer = null; // = VmQuestionAnswer.builder()
-// .build();
-
- return answer;
- }
-
- public static RuntimeInfoSection getRuntimeInfoSection() {
- RuntimeInfoSection section = RuntimeInfoSection.builder()
- .build();
-
- return section;
- }
-
- public static byte[] getScreenImage() {
- byte[] image = new byte[0];
-
- return image;
- }
-
- public static ScreenTicket getScreenTicket() {
- ScreenTicket ticket = null; // = ScreenTicket.builder();
-// .build();
-
- return ticket;
- }
-
- public static StartupSection getStartupSection() {
- StartupSection section = null; // = StartupSection.builder();
-// .build();
-
- return section;
- }
-
- public static Task editStartupSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static VirtualHardwareSection getVirtualHardwareSection() {
- VirtualHardwareSection section = VirtualHardwareSection.builder()
- .build();
-
- return section;
- }
-
- public static Task editVirtualHardwareSectionTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItem getVirtualHardwareSectionCpu() {
- RasdItem cpu = RasdItem.builder()
- .build();
-
- return cpu;
- }
-
- public static Task editVirtualHardwareSectionCpuTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItemsList getVirtualHardwareSectionDisks() {
- RasdItemsList disks = RasdItemsList.builder()
- .build();
-
- return disks;
- }
-
- public static Task editVirtualHardwareSectionDisksTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItemsList getVirtualHardwareSectionMedia() {
- RasdItemsList media = RasdItemsList.builder()
- .build();
-
- return media;
- }
-
- public static RasdItem getVirtualHardwareSectionMemory() {
- RasdItem memory = RasdItem.builder()
- .build();
-
- return memory;
- }
-
- public static Task editVirtualHardwareSectionMemoryTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItemsList getVirtualHardwareSectionNetworkCards() {
- RasdItemsList networkCards = RasdItemsList.builder()
- .build();
-
- return networkCards;
- }
-
- public static Task editVirtualHardwareSectionNetworkCardsTask() {
- Task task = Task.builder()
- .build();
-
- return task;
- }
-
- public static RasdItemsList getVirtualHardwareSectionSerialPorts() {
- RasdItemsList serialPorts = RasdItemsList.builder()
- .build();
-
- return serialPorts;
- }
-
- public static Task editVirtualHardwareSectionSerialPortsTask() {
- return task("id", "name", "description", "status", "operation", "operationName", "startTime");
- }
-
- /** Used by other methods to add a custom {@link Task} object. */
- private static Task task(String taskId, String name, String description, String status, String operation, String operationName, String startTime) {
- Task task = Task.builder()
- .error(Error.builder().build())
- .org(Reference.builder().build())
- .owner(Reference.builder().build())
- .user(Reference.builder().build())
- .params(null)
- .progress(0)
- .status(status)
- .operation(operation)
- .operationName(operationName)
- .startTime(dateService.iso8601DateParse(startTime))
- .endTime(null)
- .expiryTime(null)
- .tasks(Sets.<Task>newLinkedHashSet())
- .description(description)
- .name(name)
- .id("urn:vcloud:" + taskId)
- .href(URI.create(endpoint + "/task/" + taskId))
- .links(Sets.<Link>newLinkedHashSet())
- .build();
-
- return task;
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVmApiLiveTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVmApiLiveTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVmApiLiveTest.java
deleted file mode 100644
index 8cbc652..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/features/systemadmin/SystemAdminVmApiLiveTest.java
+++ /dev/null
@@ -1,125 +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.jclouds.vcloud.director.v1_5.features.systemadmin;
-
-import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.OBJ_FIELD_EQ;
-import static org.jclouds.vcloud.director.v1_5.VCloudDirectorLiveTestConstants.TASK_COMPLETE_TIMELY;
-import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkVm;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
-
-import java.util.concurrent.TimeUnit;
-
-import org.jclouds.vcloud.director.v1_5.AbstractVAppApiLiveTest;
-import org.jclouds.vcloud.director.v1_5.domain.Reference;
-import org.jclouds.vcloud.director.v1_5.domain.ResourceEntity.Status;
-import org.jclouds.vcloud.director.v1_5.domain.Task;
-import org.jclouds.vcloud.director.v1_5.domain.params.DeployVAppParams;
-import org.jclouds.vcloud.director.v1_5.domain.params.RelocateParams;
-import org.jclouds.vcloud.director.v1_5.domain.query.QueryResultRecord;
-import org.jclouds.vcloud.director.v1_5.domain.query.QueryResultRecords;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Iterables;
-
-@Test(groups = { "live", "systemAdmin" }, singleThreaded = true, testName = "SystemAdminVmApiLiveTest")
-public class SystemAdminVmApiLiveTest extends AbstractVAppApiLiveTest {
-
- private boolean testUserCreated = false;
-
- @BeforeClass(alwaysRun = true)
- protected void setupRequiredEntities() {
-
- if (adminContext != null) {
- userId = adminContext.getApi().getUserApi().addUserToOrg(randomTestUser("VAppAccessTest"), org.getHref())
- .getId();
- }
- }
-
- @AfterClass(alwaysRun = true, dependsOnMethods = { "cleanUpEnvironment" })
- public void cleanUp() {
- if (adminContext != null && testUserCreated && userId != null) {
- try {
- adminContext.getApi().getUserApi().remove(context.resolveIdToHref(userId));
- } catch (Exception e) {
- logger.warn("Error when deleting user: %s", e.getMessage());
- }
- }
- }
-
- @Test(description = "GET /vApp/{id}")
- public void testGetVm() {
- // The method under test
- vm = vmApi.get(context.resolveIdToHref(vmId));
-
- // Check the retrieved object is well formed
- checkVm(vm);
-
- // Check the required fields are set
- assertEquals(vm.isDeployed(), Boolean.FALSE,
- String.format(OBJ_FIELD_EQ, VM, "deployed", "FALSE", vm.isDeployed().toString()));
-
- // Check status
- assertVmStatus(vm.getHref(), Status.POWERED_OFF);
- }
-
- // NOTE This test is disabled, as it is not possible to look up datastores using the User API
- @Test(description = "POST /vApp/{id}/action/relocate", dependsOnMethods = { "testGetVm" })
- public void testRelocate() {
- // Relocate to the last of the available datastores
- QueryResultRecords records = adminContext.getApi().getQueryApi().queryAll("datastore");
- QueryResultRecord datastore = Iterables.getLast(records.getRecords());
- RelocateParams params = RelocateParams.builder().datastore(Reference.builder().href(datastore.getHref()).build())
- .build();
-
- // The method under test
- Task relocate = vmApi.relocate(vm.getHref(), params);
- assertTrue(retryTaskSuccess.apply(relocate), String.format(TASK_COMPLETE_TIMELY, "relocate"));
- }
-
- @Test(description = "POST /vApp/{id}/action/deploy", dependsOnMethods = { "testGetVm" })
- public void testDeployVm() {
- DeployVAppParams params = DeployVAppParams.builder()
- .deploymentLeaseSeconds((int) TimeUnit.SECONDS.convert(1L, TimeUnit.HOURS)).notForceCustomization()
- .notPowerOn().build();
-
- // The method under test
- Task deployVm = vmApi.deploy(vm.getHref(), params);
- assertTrue(retryTaskSuccessLong.apply(deployVm), String.format(TASK_COMPLETE_TIMELY, "deployVm"));
-
- // Get the edited Vm
- vm = vmApi.get(vm.getHref());
-
- // Check the required fields are set
- assertTrue(vm.isDeployed(), String.format(OBJ_FIELD_EQ, VM, "deployed", "TRUE", vm.isDeployed().toString()));
-
- // Check status
- assertVmStatus(vm.getHref(), Status.POWERED_OFF);
- }
-
- @Test(description = "POST /vApp/{id}/action/consolidate", dependsOnMethods = { "testDeployVm" })
- public void testConsolidateVm() {
- // Power on Vm
- vm = powerOnVm(vm.getHref());
-
- // The method under test
- Task consolidateVm = vmApi.consolidate(vm.getHref());
- assertTrue(retryTaskSuccess.apply(consolidateVm), String.format(TASK_COMPLETE_TIMELY, "consolidateVm"));
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/handlers/InvalidateSessionAndRetryOn401AndLogoutOnCloseTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/handlers/InvalidateSessionAndRetryOn401AndLogoutOnCloseTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/handlers/InvalidateSessionAndRetryOn401AndLogoutOnCloseTest.java
deleted file mode 100644
index 890c150..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/handlers/InvalidateSessionAndRetryOn401AndLogoutOnCloseTest.java
+++ /dev/null
@@ -1,85 +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.jclouds.vcloud.director.v1_5.handlers;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertTrue;
-
-import org.jclouds.domain.Credentials;
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.vcloud.director.v1_5.domain.SessionWithToken;
-import org.jclouds.vcloud.director.v1_5.login.SessionApi;
-import org.testng.annotations.Test;
-
-import com.google.common.cache.LoadingCache;
-
-/**
- * Tests behavior of {@code InvalidateSessionAndRetryOn401AndLogoutOnClose} handler
- */
-@Test(groups = "unit", testName = "InvalidateSessionAndRetryOn401AndLogoutOnCloseTest")
-public class InvalidateSessionAndRetryOn401AndLogoutOnCloseTest {
- @SuppressWarnings("unchecked")
- @Test
- public void test401ShouldInvalidateSessionAndRetry() {
- HttpCommand command = createMock(HttpCommand.class);
- SessionApi sessionApi = createMock(SessionApi.class);
- LoadingCache<Credentials, SessionWithToken> cache = createMock(LoadingCache.class);
-
- cache.invalidateAll();
- expectLastCall();
- expect(command.incrementFailureCount()).andReturn(1);
- expect(command.isReplayable()).andReturn(true);
- expect(command.getFailureCount()).andReturn(1).atLeastOnce();
-
- replay(cache, command);
-
- HttpResponse response = HttpResponse.builder().statusCode(401).build();
-
- InvalidateSessionAndRetryOn401AndLogoutOnClose retry = new InvalidateSessionAndRetryOn401AndLogoutOnClose(cache,
- sessionApi);
-
- assertTrue(retry.shouldRetryRequest(command, response));
-
- verify(cache, command);
- }
-
- @SuppressWarnings("unchecked")
- @Test
- public void test403ShouldNotInvalidateSessionOrRetry() {
- HttpCommand command = createMock(HttpCommand.class);
- SessionApi sessionApi = createMock(SessionApi.class);
- LoadingCache<Credentials, SessionWithToken> cache = createMock(LoadingCache.class);
-
- replay(cache, command);
-
- HttpResponse response = HttpResponse.builder().statusCode(403).build();
-
- InvalidateSessionAndRetryOn401AndLogoutOnClose retry = new InvalidateSessionAndRetryOn401AndLogoutOnClose(cache,
- sessionApi);
-
- assertFalse(retry.shouldRetryRequest(command, response));
-
- verify(cache, command);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/775b89fd/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/handlers/VCloudDirectorErrorHandlerTest.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/handlers/VCloudDirectorErrorHandlerTest.java b/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/handlers/VCloudDirectorErrorHandlerTest.java
deleted file mode 100644
index 208e146..0000000
--- a/vcloud-director/src/test/java/org/jclouds/vcloud/director/v1_5/handlers/VCloudDirectorErrorHandlerTest.java
+++ /dev/null
@@ -1,96 +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.jclouds.vcloud.director.v1_5.handlers;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.reportMatcher;
-import static org.easymock.EasyMock.verify;
-
-import java.net.URI;
-
-import org.easymock.IArgumentMatcher;
-import org.jclouds.http.HttpCommand;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.rest.AuthorizationException;
-import org.jclouds.rest.ResourceNotFoundException;
-import org.testng.annotations.Test;
-
-import com.google.inject.Guice;
-
-@Test(groups = { "unit" })
-public class VCloudDirectorErrorHandlerTest {
-
- @Test
- public void test401MakesAuthorizationException() {
- assertCodeMakes("GET", URI.create("https://api.vcloud.director.com/foo"), 401, "", "Unauthorized",
- AuthorizationException.class);
- }
-
- @Test
- public void test404MakesResourceNotFoundException() {
- assertCodeMakes("GET", URI.create("https://api.vcloud.director.com/foo"), 404, "", "Not Found",
- ResourceNotFoundException.class);
- }
-
- private void assertCodeMakes(String method, URI uri, int statusCode, String message, String content,
- Class<? extends Exception> expected) {
- assertCodeMakes(method, uri, statusCode, message, "text/xml", content, expected);
- }
-
- private void assertCodeMakes(String method, URI uri, int statusCode, String message, String contentType,
- String content, Class<? extends Exception> expected) {
-
- VCloudDirectorErrorHandler function = Guice.createInjector().getInstance(VCloudDirectorErrorHandler.class);
-
- HttpCommand command = createMock(HttpCommand.class);
- HttpRequest request = HttpRequest.builder().method(method).endpoint(uri).build();
- HttpResponse response = HttpResponse.builder().statusCode(statusCode).message(message).payload(content).build();
- response.getPayload().getContentMetadata().setContentType(contentType);
-
- expect(command.getCurrentRequest()).andReturn(request).atLeastOnce();
- command.setException(classEq(expected));
-
- replay(command);
-
- function.handleError(command, response);
-
- verify(command);
- }
-
- public static Exception classEq(final Class<? extends Exception> in) {
- reportMatcher(new IArgumentMatcher() {
-
- @Override
- public void appendTo(StringBuffer buffer) {
- buffer.append("classEq(");
- buffer.append(in);
- buffer.append(")");
- }
-
- @Override
- public boolean matches(Object arg) {
- return arg.getClass() == in;
- }
-
- });
- return null;
- }
-
-}