You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2013/11/14 12:23:15 UTC
[12/13] JCLOUDS-291: Add pagination support to the cloudsigma2
provider.
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiExpectTest.java
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiExpectTest.java b/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiExpectTest.java
index 857ac73..3d3b12a 100644
--- a/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiExpectTest.java
+++ b/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiExpectTest.java
@@ -42,10 +42,12 @@ import org.jclouds.cloudsigma2.domain.Tag;
import org.jclouds.cloudsigma2.domain.TagResource;
import org.jclouds.cloudsigma2.domain.Transaction;
import org.jclouds.cloudsigma2.domain.VLANInfo;
+import org.jclouds.cloudsigma2.options.PaginationOptions;
import org.jclouds.date.internal.SimpleDateFormatDateService;
import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.jclouds.rest.internal.BaseRestApiExpectTest;
+import org.testng.Assert;
import org.testng.annotations.Test;
import javax.ws.rs.core.MediaType;
@@ -105,30 +107,84 @@ public class CloudSigma2ApiExpectTest extends BaseRestApiExpectTest<CloudSigma2A
@Test
public void testListDrives() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "drives/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/drives.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "drives/")
+ .addQueryParam("limit", "2")
+ .addQueryParam("offset", "2")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/drives-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<Drive> drives = api.listDrives().concat().toList();
+
+ Assert.assertEquals(drives.size(), 3);
+ Assert.assertEquals(drives.get(0).getUuid(), "92ca1450-417e-4cc1-983b-1015777e2591");
+ Assert.assertEquals(drives.get(1).getUuid(), "414ad24b-ba41-47c0-9751-ef5060b6c391");
+ Assert.assertEquals(drives.get(2).getUuid(), "7bc04bc5-bd09-4269-b45d-16b58d6f71b4");
+ }
+
+ @Test
+ public void testListDrivesPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "drives/?limit=0")
+ .endpoint(endpoint + "drives/?limit=3&offset=3")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/drives.json", MediaType.APPLICATION_JSON))
.build());
- List<Drive> result = api.listDrives();
- assertNotNull(result);
+ for(Drive drive : api.listDrives(new PaginationOptions.Builder().limit(3).offset(3).build())){
+ assertNotNull(drive);
+ }
}
@Test
public void testListDrivesInfo() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "drives/detail/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/drives-detail-first-page.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "drives/detail/")
+ .addQueryParam("limit", "2")
+ .addQueryParam("offset", "2")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/drives-detail-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<DriveInfo> drives = api.listDrivesInfo().concat().toList();
+
+ Assert.assertEquals(drives.size(), 3);
+ Assert.assertEquals(drives.get(0).getUuid(), "92ca1450-417e-4cc1-983b-1015777e2591");
+ Assert.assertEquals(drives.get(1).getUuid(), "414ad24b-ba41-47c0-9751-ef5060b6c391");
+ Assert.assertEquals(drives.get(2).getUuid(), "7bc04bc5-bd09-4269-b45d-16b58d6f71b4");
+ }
+
+ @Test
+ public void testListDrivesInfoPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "drives/detail/?limit=0")
+ .endpoint(endpoint + "drives/detail/?limit=3&offset=3")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/drives-detail.json", MediaType.APPLICATION_JSON))
.build());
- List<DriveInfo> result = api.listDrivesInfo();
- assertNotNull(result);
+ for(DriveInfo driveInfo : api.listDrivesInfo(new PaginationOptions.Builder().limit(3).offset(3).build())){
+ assertNotNull(driveInfo);
+ }
}
@Test
@@ -275,16 +331,46 @@ public class CloudSigma2ApiExpectTest extends BaseRestApiExpectTest<CloudSigma2A
@Test
public void testListLibraryDrives() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "libdrives/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/libdrives.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "libdrives/")
+ .addQueryParam("limit", "2")
+ .addQueryParam("offset", "2")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/libdrives-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<LibraryDrive> drives = api.listLibraryDrives().concat().toList();
+
+ Assert.assertEquals(drives.size(), 3);
+ Assert.assertEquals(drives.get(0).getUuid(), "8c45d8d9-4efd-44ec-9833-8d52004b4298");
+ Assert.assertEquals(drives.get(1).getUuid(), "d1ec9f26-ba44-4002-bbdf-82a31a84b611");
+ Assert.assertEquals(drives.get(2).getUuid(), "dd9da460-b1ab-419a-9fa1-804540eee4c3");
+ }
+
+ @Test
+ public void testListLibraryDrivesPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "libdrives/?limit=0")
+ .endpoint(endpoint + "libdrives/?limit=3&offset=3")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/libdrives.json", MediaType.APPLICATION_JSON))
.build());
- List<LibraryDrive> result = api.listLibraryDrives();
- assertNotNull(result);
+ for (LibraryDrive libraryDrive : api.listLibraryDrives(new PaginationOptions.Builder()
+ .limit(3)
+ .offset(3)
+ .build())) {
+ assertNotNull(libraryDrive);
+ }
}
@Test
@@ -325,30 +411,84 @@ public class CloudSigma2ApiExpectTest extends BaseRestApiExpectTest<CloudSigma2A
@Test
public void testListServers() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "servers/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/servers.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "servers/")
+ .addQueryParam("limit", "2")
+ .addQueryParam("offset", "2")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/servers-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<Server> servers = api.listServers().concat().toList();
+
+ Assert.assertEquals(servers.size(), 3);
+ Assert.assertEquals(servers.get(0).getUuid(), "61d61337-884b-4c87-b4de-f7f48f9cfc84");
+ Assert.assertEquals(servers.get(1).getUuid(), "33e71c37-0d0a-4a3a-a1ea-dc7265c9a154");
+ Assert.assertEquals(servers.get(2).getUuid(), "05c16b9a-f2f5-4da6-a1cb-b90722c32212");
+ }
+
+ @Test
+ public void testListServersPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "servers/?limit=0")
+ .endpoint(endpoint + "servers/?limit=3&offset=3")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/servers.json", MediaType.APPLICATION_JSON))
.build());
- List<Server> result = api.listServers();
- assertNotNull(result);
+ for (Server sever : api.listServers(new PaginationOptions.Builder().limit(3).offset(3).build())) {
+ assertNotNull(sever);
+ }
}
@Test
public void testListServersInfo() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "servers/detail/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/server-detail-first-page.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "servers/detail/")
+ .addQueryParam("limit", "2")
+ .addQueryParam("offset", "2")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/server-detail-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<ServerInfo> serverInfos = api.listServersInfo().concat().toList();
+
+ Assert.assertEquals(serverInfos.size(), 3);
+ Assert.assertEquals(serverInfos.get(0).getUuid(), "a19a425f-9e92-42f6-89fb-6361203071bb");
+ Assert.assertEquals(serverInfos.get(1).getUuid(), "61d61337-884b-4c87-b4de-f7f48f9cfc84");
+ Assert.assertEquals(serverInfos.get(2).getUuid(), "33e71c37-0d0a-4a3a-a1ea-dc7265c9a154");
+ }
+
+ @Test
+ public void testListServersInfoPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "servers/detail/?limit=0")
+ .endpoint(endpoint + "servers/detail/?limit=3&offset=3")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/server-detail.json", MediaType.APPLICATION_JSON))
.build());
- List<ServerInfo> result = api.listServersInfo();
- assertNotNull(result);
+ for(ServerInfo serverInfo : api.listServersInfo(new PaginationOptions.Builder().limit(3).offset(3).build())){
+ assertNotNull(serverInfo);
+ }
}
@Test
@@ -547,56 +687,95 @@ public class CloudSigma2ApiExpectTest extends BaseRestApiExpectTest<CloudSigma2A
public void testListServerAvailabilityGroup() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "servers/availability_groups/?limit=0")
+ .endpoint(endpoint + "servers/availability_groups/")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/servers-availability-groups.json", MediaType.APPLICATION_JSON))
.build());
- List<List<String>> result = api.listServerAvailabilityGroup();
- assertNotNull(result);
+ for(List<String> availabilityGroup : api.listServerAvailabilityGroup()){
+ assertNotNull(availabilityGroup);
+ }
}
@Test
- public void testGetServerAvailabilityGroup() throws Exception {
- CloudSigma2Api api = requestSendsResponse(
+ public void testListFirewallPolicies() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
getBuilder()
- .endpoint(endpoint + "fwpolicies/?limit=0")
+ .endpoint(endpoint + "fwpolicies/")
.build()
, responseBuilder()
- .payload(payloadFromResourceWithContentType("/fwpolicies-detail.json", MediaType.APPLICATION_JSON))
+ .payload(payloadFromResourceWithContentType("/fwpolicies-detail-first-page.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "fwpolicies/")
+ .addQueryParam("limit", "1")
+ .addQueryParam("offset", "1")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/fwpolicies-detail-last-page.json", MediaType.APPLICATION_JSON))
.build());
- List<FirewallPolicy> result = api.listFirewallPolicies();
- assertNotNull(result);
+ List<FirewallPolicy> firewallPolicies = api.listFirewallPolicies().concat().toList();
+
+ Assert.assertEquals(firewallPolicies.size(), 2);
+ Assert.assertEquals(firewallPolicies.get(0).getUuid(), "b68dd907-69fc-4b3c-b954-c39d0046525b");
+ Assert.assertEquals(firewallPolicies.get(1).getUuid(), "cf8479b4-c98b-46c8-ab9c-108bb00c8218");
}
@Test
- public void testListFirewallPolicies() throws Exception {
+ public void testListFirewallPoliciesPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "fwpolicies/?limit=0")
+ .endpoint(endpoint + "fwpolicies/?limit=2&offset=2")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/fwpolicies-detail.json", MediaType.APPLICATION_JSON))
.build());
- List<FirewallPolicy> result = api.listFirewallPolicies();
- assertNotNull(result);
+ for(FirewallPolicy firewallPolicy : api.listFirewallPolicies(new PaginationOptions.Builder().limit(2).offset(2).build())){
+ assertNotNull(firewallPolicy);
+ }
}
@Test
public void testListFirewallPoliciesInfo() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "fwpolicies/detail/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/fwpolicies-detail-first-page.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "fwpolicies/detail/")
+ .addQueryParam("limit", "1")
+ .addQueryParam("offset", "1")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/fwpolicies-detail-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<FirewallPolicy> firewallPolicies = api.listFirewallPoliciesInfo().concat().toList();
+
+ Assert.assertEquals(firewallPolicies.size(), 2);
+ Assert.assertEquals(firewallPolicies.get(0).getUuid(), "b68dd907-69fc-4b3c-b954-c39d0046525b");
+ Assert.assertEquals(firewallPolicies.get(1).getUuid(), "cf8479b4-c98b-46c8-ab9c-108bb00c8218");
+ }
+
+ @Test
+ public void testListFirewallPoliciesInfoPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "fwpolicies/detail/?limit=0")
+ .endpoint(endpoint + "fwpolicies/detail/?limit=2&offset=2")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/fwpolicies-detail.json", MediaType.APPLICATION_JSON))
.build());
- List<FirewallPolicy> result = api.listFirewallPoliciesInfo();
- assertNotNull(result);
+ for(FirewallPolicy firewallPolicy : api.listFirewallPoliciesInfo(new PaginationOptions.Builder().limit(2).offset(2).build())){
+ assertNotNull(firewallPolicy);
+ }
}
@Test
@@ -793,30 +972,82 @@ public class CloudSigma2ApiExpectTest extends BaseRestApiExpectTest<CloudSigma2A
@Test
public void testListVLANs() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "vlans/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/vlans.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "vlans/")
+ .addQueryParam("limit", "1")
+ .addQueryParam("offset", "1")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/vlans-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<VLANInfo> vlans = api.listVLANs().concat().toList();
+
+ Assert.assertEquals(vlans.size(), 2);
+ Assert.assertEquals(vlans.get(0).getUuid(), "96537817-f4b6-496b-a861-e74192d3ccb0");
+ Assert.assertEquals(vlans.get(1).getUuid(), "00b445a9-3936-47e5-ba8a-38adcf43db20");
+ }
+
+ @Test
+ public void testListVLANsPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "vlans/?limit=0")
+ .endpoint(endpoint + "vlans/?limit=2&offset=2")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/vlans.json", MediaType.APPLICATION_JSON))
.build());
- List<VLANInfo> result = api.listVLANs();
- assertNotNull(result);
+ for(VLANInfo vlanInfo : api.listVLANs(new PaginationOptions.Builder().limit(2).offset(2).build())){
+ assertNotNull(vlanInfo);
+ }
}
@Test
public void testListVLANInfo() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "vlans/detail/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/vlans.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "vlans/detail/")
+ .addQueryParam("limit", "1")
+ .addQueryParam("offset", "1")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/vlans-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<VLANInfo> vlanInfos = api.listVLANInfo().concat().toList();
+
+ Assert.assertEquals(vlanInfos.size(), 2);
+ Assert.assertEquals(vlanInfos.get(0).getUuid(), "96537817-f4b6-496b-a861-e74192d3ccb0");
+ Assert.assertEquals(vlanInfos.get(1).getUuid(), "00b445a9-3936-47e5-ba8a-38adcf43db20");
+ }
+
+ @Test
+ public void testListVLANInfoPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "vlans/detail/?limit=0")
+ .endpoint(endpoint + "vlans/detail/?limit=2&offset=2")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/vlans.json", MediaType.APPLICATION_JSON))
.build());
- List<VLANInfo> result = api.listVLANInfo();
- assertNotNull(result);
+ for(VLANInfo vlanInfo : api.listVLANInfo(new PaginationOptions.Builder().limit(2).offset(2).build())){
+ assertNotNull(vlanInfo);
+ }
}
@Test
@@ -845,30 +1076,82 @@ public class CloudSigma2ApiExpectTest extends BaseRestApiExpectTest<CloudSigma2A
@Test
public void testListIPs() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "ips/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/ips.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "ips/")
+ .addQueryParam("limit", "1")
+ .addQueryParam("offset", "1")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/ips-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<IP> ips = api.listIPs().concat().toList();
+
+ Assert.assertEquals(ips.size(), 2);
+ Assert.assertEquals(ips.get(0).getUuid(), "185.12.6.183");
+ Assert.assertEquals(ips.get(1).getUuid(), "185.12.5.233");
+ }
+
+ @Test
+ public void testListIPsPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "ips/?limit=0")
+ .endpoint(endpoint + "ips/?limit=2&offset=2")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/ips.json", MediaType.APPLICATION_JSON))
.build());
- List<IP> result = api.listIPs();
- assertNotNull(result);
+ for(IP ip : api.listIPs(new PaginationOptions.Builder().limit(2).offset(2).build())){
+ assertNotNull(ip);
+ }
}
@Test
public void testListIPInfo() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "ips/detail/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/ips.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "ips/detail/")
+ .addQueryParam("limit", "1")
+ .addQueryParam("offset", "1")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/ips-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<IPInfo> ipInfos = api.listIPInfo().concat().toList();
+
+ Assert.assertEquals(ipInfos.size(), 2);
+ Assert.assertEquals(ipInfos.get(0).getUuid(), "185.12.6.183");
+ Assert.assertEquals(ipInfos.get(1).getUuid(), "185.12.5.233");
+ }
+
+ @Test
+ public void testListIPInfoPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "ips/detail/?limit=0")
+ .endpoint(endpoint + "ips/detail/?limit=2&offset=2")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/ips.json", MediaType.APPLICATION_JSON))
.build());
- List<IPInfo> result = api.listIPInfo();
- assertNotNull(result);
+ for(IPInfo ipInfo : api.listIPInfo(new PaginationOptions.Builder().limit(2).offset(2).build())){
+ assertNotNull(ipInfo);
+ }
}
@Test
@@ -912,30 +1195,83 @@ public class CloudSigma2ApiExpectTest extends BaseRestApiExpectTest<CloudSigma2A
@Test
public void testListTags() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "tags/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/tags-detail-first-page.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "tags/")
+ .addQueryParam("limit", "1")
+ .addQueryParam("offset", "1")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/tags-detail-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<Tag> tags = api.listTags().concat().toList();
+
+ Assert.assertEquals(tags.size(), 2);
+ Assert.assertEquals(tags.get(0).getUuid(), "956e2ca0-dee3-4b3f-a1be-a6e86f90946f");
+ Assert.assertEquals(tags.get(1).getUuid(), "68bb0cfc-0c76-4f37-847d-7bb705c5ae46");
+ }
+
+ @Test
+ public void testListTagsPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "tags/?limit=0")
+ .endpoint(endpoint + "tags/?limit=2&offset=2")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/tags-detail.json", MediaType.APPLICATION_JSON))
.build());
- List<Tag> result = api.listTags();
- assertNotNull(result);
+ for(Tag tag : api.listTags(new PaginationOptions.Builder().limit(2).offset(2).build())){
+ assertNotNull(tag);
+ }
}
@Test
public void testListTagsInfo() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "tags/detail/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/tags-detail-first-page.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "tags/detail/")
+ .addQueryParam("limit", "1")
+ .addQueryParam("offset", "1")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/tags-detail-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<Tag> tags = api.listTagsInfo().concat().toList();
+
+ Assert.assertEquals(tags.size(), 2);
+ Assert.assertEquals(tags.get(0).getUuid(), "956e2ca0-dee3-4b3f-a1be-a6e86f90946f");
+ Assert.assertEquals(tags.get(1).getUuid(), "68bb0cfc-0c76-4f37-847d-7bb705c5ae46");
+ }
+
+
+ @Test
+ public void testListTagsInfoPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "tags/detail/?limit=0")
+ .endpoint(endpoint + "tags/detail/?limit=2&offset=2")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/tags-detail.json", MediaType.APPLICATION_JSON))
.build());
- List<Tag> result = api.listTagsInfo();
- assertNotNull(result);
+ for(Tag tag : api.listTagsInfo(new PaginationOptions.Builder().limit(2).offset(2).build())){
+ assertNotNull(tag);
+ }
}
@Test
@@ -1140,30 +1476,84 @@ public class CloudSigma2ApiExpectTest extends BaseRestApiExpectTest<CloudSigma2A
@Test
public void testListSubscriptions() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "subscriptions/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/subscriptions-first-page.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "subscriptions/")
+ .addQueryParam("limit", "2")
+ .addQueryParam("offset", "2")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/subscriptions-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<Subscription> subscriptions = api.listSubscriptions().concat().toList();
+
+ Assert.assertEquals(subscriptions.size(), 3);
+ Assert.assertEquals(subscriptions.get(0).getUuid(), "509f8e27-1e64-49bb-aa5a-baec074b0210");
+ Assert.assertEquals(subscriptions.get(1).getUuid(), "c2423c1a-8768-462c-bdc3-4ca09c1e650b");
+ Assert.assertEquals(subscriptions.get(2).getUuid(), "9bb117d3-4bc5-4e2d-a907-b20abd48eaf9");
+ }
+
+ @Test
+ public void testListSubscriptionsPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "subscriptions/?limit=0")
+ .endpoint(endpoint + "subscriptions/?limit=3&offset=3")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/subscriptions.json", MediaType.APPLICATION_JSON))
.build());
- List<Subscription> result = api.listSubscriptions();
- assertNotNull(result);
+ for(Subscription subscription : api.listSubscriptions(new PaginationOptions.Builder().limit(3).offset(3).build())){
+ assertNotNull(subscription);
+ }
}
@Test
public void testListSubscriptionsCalculator() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "subscriptioncalculator/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/subscriptions-first-page.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "subscriptioncalculator/")
+ .addQueryParam("limit", "2")
+ .addQueryParam("offset", "2")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/subscriptions-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<Subscription> subscriptions = api.listSubscriptionsCalculator().concat().toList();
+
+ Assert.assertEquals(subscriptions.size(), 3);
+ Assert.assertEquals(subscriptions.get(0).getUuid(), "509f8e27-1e64-49bb-aa5a-baec074b0210");
+ Assert.assertEquals(subscriptions.get(1).getUuid(), "c2423c1a-8768-462c-bdc3-4ca09c1e650b");
+ Assert.assertEquals(subscriptions.get(2).getUuid(), "9bb117d3-4bc5-4e2d-a907-b20abd48eaf9");
+ }
+
+ @Test
+ public void testListSubscriptionsCalculatorPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "subscriptioncalculator/?limit=0")
+ .endpoint(endpoint + "subscriptioncalculator/?limit=2&offset=2")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/subscriptions.json", MediaType.APPLICATION_JSON))
.build());
- List<Subscription> result = api.listSubscriptionsCalculator();
- assertNotNull(result);
+ for(Subscription subscription : api.listSubscriptionsCalculator(new PaginationOptions.Builder().limit(2).offset(2).build())){
+ assertNotNull(subscription);
+ }
}
@Test
@@ -1273,43 +1663,127 @@ public class CloudSigma2ApiExpectTest extends BaseRestApiExpectTest<CloudSigma2A
@Test
public void testListDiscounts() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "discount/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/discount.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "discount/")
+ .addQueryParam("limit", "3")
+ .addQueryParam("offset", "3")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/discount-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<Discount> discounts = api.listDiscounts().concat().toList();
+
+ Assert.assertEquals(discounts.size(), 5);
+ Assert.assertEquals(discounts.get(0).getValue(), 0.03);
+ Assert.assertEquals(discounts.get(1).getValue(), 0.1);
+ Assert.assertEquals(discounts.get(2).getValue(), 0.25);
+ Assert.assertEquals(discounts.get(3).getValue(), 0.35);
+ Assert.assertEquals(discounts.get(4).getValue(), 0.45);
+ }
+
+ @Test
+ public void testListDiscountsPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "discount/?limit=0")
+ .endpoint(endpoint + "discount/?limit=5&offset=5")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/discount.json", MediaType.APPLICATION_JSON))
.build());
- List<Discount> result = api.listDiscounts();
- assertNotNull(result);
+ for(Discount discount : api.listDiscounts(new PaginationOptions.Builder().limit(5).offset(5).build())){
+ assertNotNull(discount);
+ }
}
@Test
public void testListTransactions() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "ledger/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/ledger.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "ledger/")
+ .addQueryParam("limit", "2")
+ .addQueryParam("offset", "2")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/ledger-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<Transaction> transactions = api.listTransactions().concat().toList();
+
+ Assert.assertEquals(transactions.size(), 4);
+ Assert.assertEquals(transactions.get(0).getId(), "11042920");
+ Assert.assertEquals(transactions.get(1).getId(), "11042919");
+ Assert.assertEquals(transactions.get(2).getId(), "11042661");
+ Assert.assertEquals(transactions.get(3).getId(), "11042660");
+ }
+
+ @Test
+ public void testListTransactionsPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "ledger/?limit=0")
+ .endpoint(endpoint + "ledger/?limit=4&offset=4")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/ledger.json", MediaType.APPLICATION_JSON))
.build());
- List<Transaction> result = api.listTransactions();
- assertNotNull(result);
+ for(Transaction transaction : api.listTransactions(new PaginationOptions.Builder().limit(4).offset(4).build())){
+ assertNotNull(transaction);
+ }
}
@Test
public void testListLicenses() throws Exception {
+ CloudSigma2Api api = requestsSendResponses(
+ getBuilder()
+ .endpoint(endpoint + "licenses/")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/licences.json", MediaType.APPLICATION_JSON))
+ .build()
+ , getBuilder()
+ .endpoint(endpoint + "licenses/")
+ .addQueryParam("limit", "2")
+ .addQueryParam("offset", "2")
+ .build()
+ , responseBuilder()
+ .payload(payloadFromResourceWithContentType("/licences-last-page.json", MediaType.APPLICATION_JSON))
+ .build());
+
+ List<License> licenses = api.listLicenses().concat().toList();
+
+ Assert.assertEquals(licenses.size(), 3);
+ Assert.assertEquals(licenses.get(0).getName(), "msft_lwa_00135");
+ Assert.assertEquals(licenses.get(1).getName(), "msft_p73_04837");
+ Assert.assertEquals(licenses.get(2).getName(), "msft_tfa_00009");
+ }
+
+ @Test
+ public void testListLicensesPaginatedCollection() throws Exception {
CloudSigma2Api api = requestSendsResponse(
getBuilder()
- .endpoint(endpoint + "licenses/?limit=0")
+ .endpoint(endpoint + "licenses/?limit=3&offset=3")
.build()
, responseBuilder()
.payload(payloadFromResourceWithContentType("/licences.json", MediaType.APPLICATION_JSON))
.build());
- List<License> result = api.listLicenses();
- assertNotNull(result);
+ for(License license : api.listLicenses(new PaginationOptions.Builder().limit(3).offset(3).build())){
+ assertNotNull(license);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiLiveTest.java
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiLiveTest.java b/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiLiveTest.java
index bef1bdd..1ba8fd6 100644
--- a/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiLiveTest.java
+++ b/cloudsigma2/src/test/java/org/jclouds/cloudsigma2/CloudSigma2ApiLiveTest.java
@@ -19,6 +19,7 @@ package org.jclouds.cloudsigma2;
import com.google.common.collect.ImmutableList;
import org.jclouds.apis.BaseApiLiveTest;
import org.jclouds.cloudsigma2.domain.DeviceEmulationType;
+import org.jclouds.cloudsigma2.domain.Discount;
import org.jclouds.cloudsigma2.domain.Drive;
import org.jclouds.cloudsigma2.domain.DriveInfo;
import org.jclouds.cloudsigma2.domain.FirewallAction;
@@ -38,6 +39,7 @@ import org.jclouds.cloudsigma2.domain.ServerInfo;
import org.jclouds.cloudsigma2.domain.Subscription;
import org.jclouds.cloudsigma2.domain.Tag;
import org.jclouds.cloudsigma2.domain.TagResource;
+import org.jclouds.cloudsigma2.domain.Transaction;
import org.jclouds.cloudsigma2.domain.VLANInfo;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -77,7 +79,7 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
@Test
public void testGetDriveInfo() throws Exception {
- for(Drive driveInfo : api.listDrives()){
+ for(Drive driveInfo : api.listDrives().concat()){
Assert.assertNotNull(api.getDriveInfo(driveInfo.getUuid()));
}
}
@@ -146,7 +148,7 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
@Test
public void testGetLibraryDrive() throws Exception {
- for(LibraryDrive libraryDrive : api.listLibraryDrives()){
+ for(LibraryDrive libraryDrive : api.listLibraryDrives().concat()){
Assert.assertNotNull(libraryDrive.getUuid());
}
}
@@ -168,7 +170,7 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
.memory(new BigInteger("5368709120"))
.cpu(3000)
.vncPassword("new_password")
- .drives(ImmutableList.of(api.listDrives().get(0).toServerDrive(1, "0:1", DeviceEmulationType.IDE)))
+ .drives(ImmutableList.of(api.listDrives().concat().get(0).toServerDrive(1, "0:1", DeviceEmulationType.IDE)))
.build();
createdServer = api.createServer(serverInfo);
@@ -213,7 +215,7 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
@Test
public void testGetServerInfo() throws Exception {
- for(Server server : api.listServers()){
+ for(Server server : api.listServers().concat()){
Assert.assertNotNull(server.getUuid());
}
}
@@ -389,7 +391,7 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
@Test
public void testGetVLANInfo() throws Exception {
- for(VLANInfo vlanInfo : api.listVLANs()){
+ for(VLANInfo vlanInfo : api.listVLANs().concat()){
Assert.assertNotNull(vlanInfo.getUuid());
}
}
@@ -404,7 +406,7 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
.build();
if(api.listVLANs().size() > 0){
- checkVlAN(vlanInfo, api.editVLAN(api.listVLANs().get(0).getUuid(), vlanInfo));
+ checkVlAN(vlanInfo, api.editVLAN(api.listVLANs().concat().get(0).getUuid(), vlanInfo));
}
}
@@ -420,7 +422,7 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
@Test
public void testGetIPInfo() throws Exception {
- for(IP ip : api.listIPs()){
+ for(IP ip : api.listIPs().concat()){
Assert.assertNotNull(api.getIPInfo(ip.getUuid()));
}
}
@@ -435,7 +437,7 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
.build();
if(api.listIPs().size() > 0){
- checkIP(ip, api.editIP(api.listIPs().get(0).getUuid(), ip));
+ checkIP(ip, api.editIP(api.listIPs().concat().get(0).getUuid(), ip));
}
}
@@ -451,7 +453,7 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
@Test
public void testGetTagInfo() throws Exception {
- for(Tag tag : api.listTags()){
+ for(Tag tag : api.listTags().concat()){
Assert.assertNotNull(api.getTagInfo(tag.getUuid()));
}
}
@@ -564,19 +566,23 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
@Test
public void testListSubscriptions() throws Exception {
- Assert.assertNotNull(api.listSubscriptions());
+ for(Subscription subscription : api.listSubscriptions().concat()){
+ Assert.assertNotNull(subscription);
+ }
}
@Test
public void testGetSubscription() throws Exception {
- for(Subscription subscription : api.listSubscriptions()){
+ for(Subscription subscription : api.listSubscriptions().concat()){
Assert.assertNotNull(api.getSubscription(subscription.getId()));
}
}
@Test
public void testListSubscriptionsCalculator() throws Exception {
- Assert.assertNotNull(api.listSubscriptionsCalculator());
+ for(Subscription subscription : api.listSubscriptionsCalculator().concat()){
+ Assert.assertNotNull(subscription);
+ }
}
@Test
@@ -586,18 +592,23 @@ public class CloudSigma2ApiLiveTest extends BaseApiLiveTest<CloudSigma2Api> {
@Test
public void testListDiscounts() throws Exception {
- Assert.assertNotNull(api.listDiscounts());
+ for(Discount discount : api.listDiscounts().concat()){
+ Assert.assertNotNull(discount);
+ }
}
@Test
public void testListTransactions() throws Exception {
- Assert.assertNotNull(api.listTransactions());
+ for(Transaction transaction : api.listTransactions().concat()){
+ Assert.assertNotNull(transaction);
+ }
}
@Test
public void testListLicenses() throws Exception {
- List<License> licenses = api.listLicenses();
- Assert.assertNotNull(licenses);
+ for(License license : api.listLicenses().concat()){
+ Assert.assertNotNull(license);
+ }
}
private void checkDrive(DriveInfo newDrive, DriveInfo createdDrive){
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/discount-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/discount-last-page.json b/cloudsigma2/src/test/resources/discount-last-page.json
new file mode 100644
index 0000000..fcbe550
--- /dev/null
+++ b/cloudsigma2/src/test/resources/discount-last-page.json
@@ -0,0 +1,17 @@
+{
+ "meta": {
+ "limit": 2,
+ "offset": 3,
+ "total_count": 5
+ },
+ "objects": [
+ {
+ "period": "2 years",
+ "value": "0.3500000000"
+ },
+ {
+ "period": "3 years",
+ "value": "0.4500000000"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/discount.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/discount.json b/cloudsigma2/src/test/resources/discount.json
index 4282cef..8539b82 100644
--- a/cloudsigma2/src/test/resources/discount.json
+++ b/cloudsigma2/src/test/resources/discount.json
@@ -1,6 +1,6 @@
{
"meta": {
- "limit": 0,
+ "limit": 3,
"offset": 0,
"total_count": 5
},
@@ -16,14 +16,6 @@
{
"period": "1 year",
"value": "0.2500000000"
- },
- {
- "period": "2 years",
- "value": "0.3500000000"
- },
- {
- "period": "3 years",
- "value": "0.4500000000"
}
]
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/drives-detail-first-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/drives-detail-first-page.json b/cloudsigma2/src/test/resources/drives-detail-first-page.json
new file mode 100644
index 0000000..56b90d7
--- /dev/null
+++ b/cloudsigma2/src/test/resources/drives-detail-first-page.json
@@ -0,0 +1,88 @@
+{
+ "meta": {
+ "limit": 2,
+ "offset": 0,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "affinities": [
+ "ssd",
+ "sample"
+ ],
+ "allow_multimount": true,
+ "jobs": [],
+ "licenses": [
+ {
+ "amount" : 1,
+ "license" : {
+ "burstable" : true,
+ "long_name" : "sample_longname",
+ "name" : "sample_name",
+ "resource_uri" : "/api/2.0/samples/",
+ "type" : "sample_type",
+ "user_metric" : sample
+ },
+ "user" : {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ }
+ }
+ ],
+ "media": "disk",
+ "meta": {
+ "description": "",
+ "install_notes": ""
+ },
+ "mounted_on": [
+ {
+ "uuid" : "81f911f9-5152-4328-8671-02543bafbd0e",
+ "resource_uri" : "/api/2.0/servers/81f911f9-5152-4328-8671-02543bafbd0e/"
+ },
+ {
+ "uuid" : "19163e1a-a6d6-4e73-8087-157dd302c373",
+ "resource_uri" : "/api/2.0/servers/19163e1a-a6d6-4e73-8087-157dd302c373/"
+ }
+ ],
+ "name": "atom-sol3",
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/drives/92ca1450-417e-4cc1-983b-1015777e2591/",
+ "size": 12348030976,
+ "status": "unmounted",
+ "tags": [
+ "tag_uuid_1",
+ "tag_uuid_2"
+ ],
+ "uuid": "92ca1450-417e-4cc1-983b-1015777e2591"
+ },
+ {
+ "affinities": [
+ "ssd"
+ ],
+ "allow_multimount": false,
+ "jobs": [],
+ "licenses": [],
+ "media": "disk",
+ "meta": {},
+ "mounted_on": [
+ {
+ "uuid" : "81f911f9-5152-4328-8671-02543bafbd0e",
+ "resource_uri" : "/api/2.0/servers/81f911f9-5152-4328-8671-02543bafbd0e/"
+ }
+ ],
+ "name": "test_drive_3",
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/drives/414ad24b-ba41-47c0-9751-ef5060b6c391/",
+ "size": 1024000000,
+ "status": "unmounted",
+ "tags": [],
+ "uuid": "414ad24b-ba41-47c0-9751-ef5060b6c391"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/drives-detail-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/drives-detail-last-page.json b/cloudsigma2/src/test/resources/drives-detail-last-page.json
new file mode 100644
index 0000000..3068a71
--- /dev/null
+++ b/cloudsigma2/src/test/resources/drives-detail-last-page.json
@@ -0,0 +1,31 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 2,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "affinities": [],
+ "allow_multimount": false,
+ "jobs": [],
+ "licenses": [],
+ "media": "disk",
+ "meta": {
+ "description": "",
+ "install_notes": ""
+ },
+ "mounted_on": [],
+ "name": "otom",
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/drives/7bc04bc5-bd09-4269-b45d-16b58d6f71b4/",
+ "size": 11811160064,
+ "status": "unmounted",
+ "tags": [],
+ "uuid": "7bc04bc5-bd09-4269-b45d-16b58d6f71b4"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/drives-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/drives-last-page.json b/cloudsigma2/src/test/resources/drives-last-page.json
new file mode 100644
index 0000000..b7389f3
--- /dev/null
+++ b/cloudsigma2/src/test/resources/drives-last-page.json
@@ -0,0 +1,18 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 2,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/drives/7bc04bc5-bd09-4269-b45d-16b58d6f71b4/",
+ "status": "mounted",
+ "uuid": "7bc04bc5-bd09-4269-b45d-16b58d6f71b4"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/drives.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/drives.json b/cloudsigma2/src/test/resources/drives.json
index a842121..8a24942 100644
--- a/cloudsigma2/src/test/resources/drives.json
+++ b/cloudsigma2/src/test/resources/drives.json
@@ -1,6 +1,6 @@
{
"meta": {
- "limit": 0,
+ "limit": 2,
"offset": 0,
"total_count": 3
},
@@ -22,15 +22,6 @@
"resource_uri": "/api/2.0/drives/414ad24b-ba41-47c0-9751-ef5060b6c391/",
"status": "unmounted",
"uuid": "414ad24b-ba41-47c0-9751-ef5060b6c391"
- },
- {
- "owner": {
- "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
- "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
- },
- "resource_uri": "/api/2.0/drives/7bc04bc5-bd09-4269-b45d-16b58d6f71b4/",
- "status": "mounted",
- "uuid": "7bc04bc5-bd09-4269-b45d-16b58d6f71b4"
}
]
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/fwpolicies-detail-first-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/fwpolicies-detail-first-page.json b/cloudsigma2/src/test/resources/fwpolicies-detail-first-page.json
new file mode 100644
index 0000000..b39a6a8
--- /dev/null
+++ b/cloudsigma2/src/test/resources/fwpolicies-detail-first-page.json
@@ -0,0 +1,32 @@
+{
+ "meta" : {
+ "limit": 1,
+ "offset": 0,
+ "total_count": 2
+ },
+ "objects": [
+ {
+ "meta": {},
+ "name": "New policy",
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/fwpolicies/b68dd907-69fc-4b3c-b954-c39d0046525b/",
+ "rules": [
+ {
+ "action": "accept",
+ "comment": "Test comment",
+ "direction": "in",
+ "dst_ip": "192.168.1.132/32",
+ "dst_port": "1233",
+ "ip_proto": "tcp",
+ "src_ip": "255.255.255.12/32",
+ "src_port": "321"
+ }
+ ],
+ "servers": [],
+ "uuid": "b68dd907-69fc-4b3c-b954-c39d0046525b"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/fwpolicies-detail-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/fwpolicies-detail-last-page.json b/cloudsigma2/src/test/resources/fwpolicies-detail-last-page.json
new file mode 100644
index 0000000..ffc324a
--- /dev/null
+++ b/cloudsigma2/src/test/resources/fwpolicies-detail-last-page.json
@@ -0,0 +1,79 @@
+{
+ "meta" : {
+ "limit": 1,
+ "offset": 1,
+ "total_count": 2
+ },
+ "objects": [
+ {
+ "meta": {
+ "description" : "test firewall policy"
+ },
+ "name": "My awesome policy",
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/fwpolicies/cf8479b4-c98b-46c8-ab9c-108bb00c8218/",
+ "rules": [
+ {
+ "action": "drop",
+ "comment": "Drop traffic from the VM to IP address 23.0.0.0/32",
+ "direction": "out",
+ "dst_ip": "23.0.0.0/32",
+ "dst_port": null,
+ "ip_proto": null,
+ "src_ip": null,
+ "src_port": null
+ },
+ {
+ "action": "accept",
+ "comment": "Allow SSH traffic to the VM from our office in Dubai",
+ "direction": "in",
+ "dst_ip": null,
+ "dst_port": "22",
+ "ip_proto": "tcp",
+ "src_ip": "172.66.32.0/24",
+ "src_port": null
+ },
+ {
+ "action": "drop",
+ "comment": "Drop all other SSH traffic to the VM",
+ "direction": "in",
+ "dst_ip": null,
+ "dst_port": "22",
+ "ip_proto": "tcp",
+ "src_ip": null,
+ "src_port": null
+ },
+ {
+ "action": "drop",
+ "comment": "Drop all UDP traffic to the VM, not originating from 172.66.32.55",
+ "direction": "in",
+ "dst_ip": null,
+ "dst_port": null,
+ "ip_proto": "udp",
+ "src_ip": "!172.66.32.55/32",
+ "src_port": null
+ },
+ {
+ "action": "drop",
+ "comment": "Drop any traffic, to the VM with destination port not between 1-1024",
+ "direction": "in",
+ "dst_ip": null,
+ "dst_port": "!1:1024",
+ "ip_proto": "tcp",
+ "src_ip": null,
+ "src_port": null
+ }
+ ],
+ "servers": [
+ {
+ "uuid" : "81f911f9-5152-4328-8671-02543bafbd0e",
+ "resource_uri" : "/api/2.0/servers/81f911f9-5152-4328-8671-02543bafbd0e/"
+ }
+ ],
+ "uuid": "cf8479b4-c98b-46c8-ab9c-108bb00c8218"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/ips-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/ips-last-page.json b/cloudsigma2/src/test/resources/ips-last-page.json
new file mode 100644
index 0000000..593fa47
--- /dev/null
+++ b/cloudsigma2/src/test/resources/ips-last-page.json
@@ -0,0 +1,28 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 1,
+ "total_count": 2
+ },
+ "objects": [
+ {
+ "gateway": "185.12.5.1",
+ "meta": {},
+ "nameservers": [
+ "178.22.66.167",
+ "178.22.71.56",
+ "8.8.8.8"
+ ],
+ "netmask": 24,
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/ips/185.12.5.233/",
+ "server": null,
+ "subscription": null,
+ "tags": [],
+ "uuid": "185.12.5.233"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/ips.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/ips.json b/cloudsigma2/src/test/resources/ips.json
index 44004a0..df1e6d9 100644
--- a/cloudsigma2/src/test/resources/ips.json
+++ b/cloudsigma2/src/test/resources/ips.json
@@ -1,6 +1,6 @@
{
"meta": {
- "limit": 0,
+ "limit": 1,
"offset": 0,
"total_count": 2
},
@@ -28,25 +28,6 @@
},
"tags": [],
"uuid": "185.12.6.183"
- },
- {
- "gateway": "185.12.5.1",
- "meta": {},
- "nameservers": [
- "178.22.66.167",
- "178.22.71.56",
- "8.8.8.8"
- ],
- "netmask": 24,
- "owner": {
- "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
- "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
- },
- "resource_uri": "/api/2.0/ips/185.12.5.233/",
- "server": null,
- "subscription": null,
- "tags": [],
- "uuid": "185.12.5.233"
}
]
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/ledger-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/ledger-last-page.json b/cloudsigma2/src/test/resources/ledger-last-page.json
new file mode 100644
index 0000000..208d592
--- /dev/null
+++ b/cloudsigma2/src/test/resources/ledger-last-page.json
@@ -0,0 +1,27 @@
+{
+ "meta": {
+ "limit": 2,
+ "offset": 2,
+ "total_count": 4
+ },
+ "objects": [
+ {
+ "amount": "0.00173818150273075810",
+ "billing_cycle": 68843,
+ "end": "128.20524192865676349824",
+ "id": "11042661",
+ "initial": "128.20698011015949425634",
+ "reason": "Burst: 57783091200 of dssd for 299 seconds at 2013-07-09 07:39:06+00:00",
+ "time": "2013-07-09T07:40:05+00:00"
+ },
+ {
+ "amount": "0.00174399481879340278",
+ "billing_cycle": 68843,
+ "end": "128.20698011015949425634",
+ "id": "11042660",
+ "initial": "128.20872410497828765912",
+ "reason": "Burst: 57783091200 of dssd for 300 seconds at 2013-07-09 07:34:06+00:00",
+ "time": "2013-07-09T07:40:04+00:00"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/ledger.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/ledger.json b/cloudsigma2/src/test/resources/ledger.json
index efe75eb..8eb236e 100644
--- a/cloudsigma2/src/test/resources/ledger.json
+++ b/cloudsigma2/src/test/resources/ledger.json
@@ -1,10 +1,8 @@
{
"meta": {
- "limit": 20,
- "next": "/api/2.0/ledger/?limit=20&offset=20",
+ "limit": 2,
"offset": 0,
- "previous": null,
- "total_count": 9921
+ "total_count": 4
},
"objects": [
{
@@ -24,24 +22,6 @@
"initial": "128.20524192865676349824",
"reason": "Burst: 57783091200 of dssd for 300 seconds at 2013-07-09 07:44:06+00:00",
"time": "2013-07-09T07:49:54+00:00"
- },
- {
- "amount": "0.00173818150273075810",
- "billing_cycle": 68843,
- "end": "128.20524192865676349824",
- "id": "11042661",
- "initial": "128.20698011015949425634",
- "reason": "Burst: 57783091200 of dssd for 299 seconds at 2013-07-09 07:39:06+00:00",
- "time": "2013-07-09T07:40:05+00:00"
- },
- {
- "amount": "0.00174399481879340278",
- "billing_cycle": 68843,
- "end": "128.20698011015949425634",
- "id": "11042660",
- "initial": "128.20872410497828765912",
- "reason": "Burst: 57783091200 of dssd for 300 seconds at 2013-07-09 07:34:06+00:00",
- "time": "2013-07-09T07:40:04+00:00"
}
]
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/libdrives-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/libdrives-last-page.json b/cloudsigma2/src/test/resources/libdrives-last-page.json
new file mode 100644
index 0000000..11f1c04
--- /dev/null
+++ b/cloudsigma2/src/test/resources/libdrives-last-page.json
@@ -0,0 +1,36 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 2,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "affinities": [],
+ "allow_multimount": false,
+ "arch": "64",
+ "category": [
+ "general"
+ ],
+ "description": "",
+ "favourite": true,
+ "image_type": "install",
+ "install_notes": "",
+ "jobs": [],
+ "licenses": [],
+ "media": "cdrom",
+ "meta": {},
+ "mounted_on": [],
+ "name": "Windows_Server_2003_r2_standard_x64_with_sp2_cd1.iso pub",
+ "os": "windows",
+ "owner": null,
+ "paid": false,
+ "resource_uri": "/api/2.0/libdrives/dd9da460-b1ab-419a-9fa1-804540eee4c3/",
+ "size": 1000000000,
+ "status": "unmounted",
+ "tags": [],
+ "url": "test_url",
+ "uuid": "dd9da460-b1ab-419a-9fa1-804540eee4c3"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/libdrives.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/libdrives.json b/cloudsigma2/src/test/resources/libdrives.json
index 78bcccf..79782ed 100644
--- a/cloudsigma2/src/test/resources/libdrives.json
+++ b/cloudsigma2/src/test/resources/libdrives.json
@@ -1,10 +1,8 @@
{
"meta": {
- "limit": 3,
- "next": "/api/2.0/libdrives/?limit=5&offset=5",
+ "limit": 2,
"offset": 0,
- "previous": null,
- "total_count": 97
+ "total_count": 3
},
"objects": [
{
@@ -63,33 +61,6 @@
"tags": [],
"url": "test_url",
"uuid": "d1ec9f26-ba44-4002-bbdf-82a31a84b611"
- },
- {
- "affinities": [],
- "allow_multimount": false,
- "arch": "64",
- "category": [
- "general"
- ],
- "description": "",
- "favourite": true,
- "image_type": "install",
- "install_notes": "",
- "jobs": [],
- "licenses": [],
- "media": "cdrom",
- "meta": {},
- "mounted_on": [],
- "name": "Windows_Server_2003_r2_standard_x64_with_sp2_cd1.iso pub",
- "os": "windows",
- "owner": null,
- "paid": false,
- "resource_uri": "/api/2.0/libdrives/dd9da460-b1ab-419a-9fa1-804540eee4c3/",
- "size": 1000000000,
- "status": "unmounted",
- "tags": [],
- "url": "test_url",
- "uuid": "dd9da460-b1ab-419a-9fa1-804540eee4c3"
}
]
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/licences-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/licences-last-page.json b/cloudsigma2/src/test/resources/licences-last-page.json
new file mode 100644
index 0000000..189ed41
--- /dev/null
+++ b/cloudsigma2/src/test/resources/licences-last-page.json
@@ -0,0 +1,17 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 2,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "burstable": false,
+ "long_name": "SQL Server Standard 2008",
+ "name": "msft_tfa_00009",
+ "resource_uri": "/api/2.0/licenses/11/",
+ "type": "instance",
+ "user_metric": ""
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/licences.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/licences.json b/cloudsigma2/src/test/resources/licences.json
index 2b210a7..b18af11 100644
--- a/cloudsigma2/src/test/resources/licences.json
+++ b/cloudsigma2/src/test/resources/licences.json
@@ -1,9 +1,7 @@
{
"meta": {
- "limit": 20,
- "next": null,
+ "limit": 2,
"offset": 0,
- "previous": null,
"total_count": 3
},
"objects": [
@@ -22,14 +20,6 @@
"resource_uri": "/api/2.0/licenses/10/",
"type": "instance",
"user_metric": ""
- },
- {
- "burstable": false,
- "long_name": "SQL Server Standard 2008",
- "name": "msft_tfa_00009",
- "resource_uri": "/api/2.0/licenses/11/",
- "type": "instance",
- "user_metric": ""
}
]
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/server-detail-first-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/server-detail-first-page.json b/cloudsigma2/src/test/resources/server-detail-first-page.json
new file mode 100644
index 0000000..275a9a2
--- /dev/null
+++ b/cloudsigma2/src/test/resources/server-detail-first-page.json
@@ -0,0 +1,96 @@
+{
+ "meta": {
+ "limit": 2,
+ "offset": 0,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "cpu": 1000,
+ "cpus_instead_of_cores": false,
+ "drives": [
+ {
+ "boot_order": null,
+ "dev_channel": "0:0",
+ "device": "ide",
+ "drive": {
+ "resource_uri": "/api/2.0/drives/ae78e68c-9daa-4471-8878-0bb87fa80260/",
+ "uuid": "ae78e68c-9daa-4471-8878-0bb87fa80260"
+ }
+ },
+ {
+ "boot_order": 1,
+ "dev_channel": "0:0",
+ "device": "virtio",
+ "drive": {
+ "resource_uri": "/api/2.0/drives/22826af4-d6c8-4d39-bd41-9cea86df2976/",
+ "uuid": "22826af4-d6c8-4d39-bd41-9cea86df2976"
+ }
+ }
+ ],
+ "enable_numa": false,
+ "hv_relaxed": false,
+ "hv_tsc": false,
+ "mem": 268435456,
+ "meta": {
+ "description": "A full server with description"
+ },
+ "name": "test_acc_full_server",
+ "nics": [
+ {
+ "boot_order": null,
+ "firewall_policy": null,
+ "ip_v4_conf": {
+ "conf": "dhcp",
+ "ip": null
+ },
+ "ip_v6_conf": null,
+ "mac": "22:a7:a0:0d:43:48",
+ "model": "virtio",
+ "runtime": null,
+ "vlan": null
+ }
+ ],
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "requirements": [],
+ "resource_uri": "/api/2.0/servers/a19a425f-9e92-42f6-89fb-6361203071bb/",
+ "runtime": null,
+ "smp": 1,
+ "status": "stopped",
+ "tags": [
+ "tag_uuid_1",
+ "tag_uuid_2"
+ ],
+ "uuid": "a19a425f-9e92-42f6-89fb-6361203071bb",
+ "vnc_password": "tester"
+ },
+ {
+ "cpu": 1000,
+ "cpus_instead_of_cores": false,
+ "drives": [],
+ "enable_numa": false,
+ "hv_relaxed": false,
+ "hv_tsc": false,
+ "mem": 536870912,
+ "meta": {},
+ "name": "test_server_3",
+ "nics": [],
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "requirements": [],
+ "resource_uri": "/api/2.0/servers/61d61337-884b-4c87-b4de-f7f48f9cfc84/",
+ "runtime": null,
+ "smp": 1,
+ "status": "stopped",
+ "tags": [],
+ "uuid": "61d61337-884b-4c87-b4de-f7f48f9cfc84",
+ "vnc_password": "testserver"
+ }
+ ]
+}
+
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/server-detail-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/server-detail-last-page.json b/cloudsigma2/src/test/resources/server-detail-last-page.json
new file mode 100644
index 0000000..9c450ff
--- /dev/null
+++ b/cloudsigma2/src/test/resources/server-detail-last-page.json
@@ -0,0 +1,34 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 2,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "cpu": 1000,
+ "cpus_instead_of_cores": false,
+ "drives": [],
+ "enable_numa": false,
+ "hv_relaxed": false,
+ "hv_tsc": false,
+ "mem": 536870912,
+ "meta": {},
+ "name": "test_server_1",
+ "nics": [],
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "requirements": [],
+ "resource_uri": "/api/2.0/servers/33e71c37-0d0a-4a3a-a1ea-dc7265c9a154/",
+ "runtime": null,
+ "smp": 1,
+ "status": "stopped",
+ "tags": [],
+ "uuid": "33e71c37-0d0a-4a3a-a1ea-dc7265c9a154",
+ "vnc_password": "testserver"
+ }
+ ]
+}
+
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/servers-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/servers-last-page.json b/cloudsigma2/src/test/resources/servers-last-page.json
new file mode 100644
index 0000000..e3d25e7
--- /dev/null
+++ b/cloudsigma2/src/test/resources/servers-last-page.json
@@ -0,0 +1,20 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 2,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "name": "test_server_2",
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/servers/05c16b9a-f2f5-4da6-a1cb-b90722c32212/",
+ "runtime": null,
+ "status": "stopped",
+ "uuid": "05c16b9a-f2f5-4da6-a1cb-b90722c32212"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/servers.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/servers.json b/cloudsigma2/src/test/resources/servers.json
index 8b42aee..0595423 100644
--- a/cloudsigma2/src/test/resources/servers.json
+++ b/cloudsigma2/src/test/resources/servers.json
@@ -1,6 +1,6 @@
{
"meta": {
- "limit": 0,
+ "limit": 2,
"offset": 0,
"total_count": 3
},
@@ -26,17 +26,6 @@
"runtime": null,
"status": "stopped",
"uuid": "33e71c37-0d0a-4a3a-a1ea-dc7265c9a154"
- },
- {
- "name": "test_server_2",
- "owner": {
- "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
- "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
- },
- "resource_uri": "/api/2.0/servers/05c16b9a-f2f5-4da6-a1cb-b90722c32212/",
- "runtime": null,
- "status": "stopped",
- "uuid": "05c16b9a-f2f5-4da6-a1cb-b90722c32212"
}
]
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/subscriptions-first-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/subscriptions-first-page.json b/cloudsigma2/src/test/resources/subscriptions-first-page.json
new file mode 100644
index 0000000..46091fa
--- /dev/null
+++ b/cloudsigma2/src/test/resources/subscriptions-first-page.json
@@ -0,0 +1,47 @@
+{
+ "meta": {
+ "limit": 2,
+ "offset": 0,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "amount": "1",
+ "auto_renew": true,
+ "descendants": [],
+ "discount_amount": "10",
+ "discount_percent": "10",
+ "end_time": "2014-02-20T11:12:34+00:00",
+ "id": "7272",
+ "last_notification": null,
+ "period": "345 days, 0:00:00",
+ "price": "0E-20",
+ "remaining": "1",
+ "resource": "vlan",
+ "resource_uri": "/api/2.0/subscriptions/7272/",
+ "start_time": "2013-03-12T11:12:34+00:00",
+ "status": "active",
+ "subscribed_object": "96537817-f4b6-496b-a861-e74192d3ccb0",
+ "uuid": "509f8e27-1e64-49bb-aa5a-baec074b0210"
+ },
+ {
+ "amount": "1",
+ "auto_renew": true,
+ "descendants": [],
+ "discount_amount": null,
+ "discount_percent": null,
+ "end_time": "2014-02-20T11:12:41+00:00",
+ "id": "7273",
+ "last_notification": null,
+ "period": "345 days, 0:00:00",
+ "price": "0E-20",
+ "remaining": "1",
+ "resource": "ip",
+ "resource_uri": "/api/2.0/subscriptions/7273/",
+ "start_time": "2013-03-12T11:12:41+00:00",
+ "status": "active",
+ "subscribed_object": "185.12.6.183",
+ "uuid": "c2423c1a-8768-462c-bdc3-4ca09c1e650b"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/subscriptions-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/subscriptions-last-page.json b/cloudsigma2/src/test/resources/subscriptions-last-page.json
new file mode 100644
index 0000000..265051e
--- /dev/null
+++ b/cloudsigma2/src/test/resources/subscriptions-last-page.json
@@ -0,0 +1,28 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 2,
+ "total_count": 3
+ },
+ "objects": [
+ {
+ "amount": "17179869184",
+ "auto_renew": true,
+ "descendants": [],
+ "discount_amount": null,
+ "discount_percent": null,
+ "end_time": "2014-02-20T14:04:14+00:00",
+ "id": "3985",
+ "last_notification": null,
+ "period": "365 days, 0:00:00",
+ "price": "0E-20",
+ "remaining": "17179869184",
+ "resource": "mem",
+ "resource_uri": "/api/2.0/subscriptions/3985/",
+ "start_time": "2013-02-20T14:04:14+00:00",
+ "status": "active",
+ "subscribed_object": null,
+ "uuid": "9bb117d3-4bc5-4e2d-a907-b20abd48eaf9"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/tags-detail-first-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/tags-detail-first-page.json b/cloudsigma2/src/test/resources/tags-detail-first-page.json
new file mode 100644
index 0000000..0411e7d
--- /dev/null
+++ b/cloudsigma2/src/test/resources/tags-detail-first-page.json
@@ -0,0 +1,20 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 0,
+ "total_count": 2
+ },
+ "objects": [
+ {
+ "meta": {},
+ "name": "new tag",
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/tags/956e2ca0-dee3-4b3f-a1be-a6e86f90946f/",
+ "resources": [],
+ "uuid": "956e2ca0-dee3-4b3f-a1be-a6e86f90946f"
+ },
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/tags-detail-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/tags-detail-last-page.json b/cloudsigma2/src/test/resources/tags-detail-last-page.json
new file mode 100644
index 0000000..b1c53cb
--- /dev/null
+++ b/cloudsigma2/src/test/resources/tags-detail-last-page.json
@@ -0,0 +1,59 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 1,
+ "total_count": 2
+ },
+ "objects": [
+ {
+ "meta": {
+ "description": "test tag"
+ },
+ "name": "TagCreatedWithResource",
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/tags/68bb0cfc-0c76-4f37-847d-7bb705c5ae46/",
+ "resources": [
+ {
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "res_type": "vlans",
+ "resource_uri": "/api/2.0/vlans/96537817-f4b6-496b-a861-e74192d3ccb0/",
+ "uuid": "96537817-f4b6-496b-a861-e74192d3ccb0"
+ },
+ {
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "res_type": "servers",
+ "resource_uri": "/api/2.0/servers/61bcc398-c034-42f1-81c9-f6d7f62c4ea0/",
+ "uuid": "61bcc398-c034-42f1-81c9-f6d7f62c4ea0"
+ },
+ {
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "res_type": "drives",
+ "resource_uri": "/api/2.0/drives/3610d935-514a-4552-acf3-a40dd0a5f961/",
+ "uuid": "3610d935-514a-4552-acf3-a40dd0a5f961"
+ },
+ {
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "res_type": "ips",
+ "resource_uri": "/api/2.0/ips/185.12.6.183/",
+ "uuid": "185.12.6.183"
+ }
+ ],
+ "uuid": "68bb0cfc-0c76-4f37-847d-7bb705c5ae46"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/vlans-last-page.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/vlans-last-page.json b/cloudsigma2/src/test/resources/vlans-last-page.json
new file mode 100644
index 0000000..899290d
--- /dev/null
+++ b/cloudsigma2/src/test/resources/vlans-last-page.json
@@ -0,0 +1,21 @@
+{
+ "meta": {
+ "limit": 1,
+ "offset": 1,
+ "total_count": 2
+ },
+ "objects": [
+ {
+ "meta": {},
+ "owner": {
+ "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
+ "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
+ },
+ "resource_uri": "/api/2.0/vlans/00b445a9-3936-47e5-ba8a-38adcf43db20/",
+ "servers": [],
+ "subscription": null,
+ "tags": [],
+ "uuid": "00b445a9-3936-47e5-ba8a-38adcf43db20"
+ }
+ ]
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0bebb584/cloudsigma2/src/test/resources/vlans.json
----------------------------------------------------------------------
diff --git a/cloudsigma2/src/test/resources/vlans.json b/cloudsigma2/src/test/resources/vlans.json
index 3b0feab..b067e10 100644
--- a/cloudsigma2/src/test/resources/vlans.json
+++ b/cloudsigma2/src/test/resources/vlans.json
@@ -1,6 +1,6 @@
{
"meta": {
- "limit": 0,
+ "limit": 1,
"offset": 0,
"total_count": 2
},
@@ -30,18 +30,6 @@
},
"tags": [],
"uuid": "96537817-f4b6-496b-a861-e74192d3ccb0"
- },
- {
- "meta": {},
- "owner": {
- "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
- "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
- },
- "resource_uri": "/api/2.0/vlans/00b445a9-3936-47e5-ba8a-38adcf43db20/",
- "servers": [],
- "subscription": null,
- "tags": [],
- "uuid": "00b445a9-3936-47e5-ba8a-38adcf43db20"
}
]
}
\ No newline at end of file