@Override public Date iso8601DateOrSecondsDateParse(String toParse) throws IllegalArgumentException { try { return iso8601DateParse(toParse); } catch (IllegalArgumentException orig) { try { return iso8601SecondsDateParse(toParse); } catch (IllegalArgumentException ignored) { throw orig; } } }
@Override public Date iso8601DateOrSecondsDateParse(String toParse) throws IllegalArgumentException { try { return iso8601DateParse(toParse); } catch (IllegalArgumentException orig) { try { return iso8601SecondsDateParse(toParse); } catch (IllegalArgumentException ignored) { throw orig; } } }
@Override @SuppressWarnings("UnusedException") public Date iso8601DateOrSecondsDateParse(String toParse) throws IllegalArgumentException { try { return iso8601DateParse(toParse); } catch (IllegalArgumentException orig) { try { return iso8601SecondsDateParse(toParse); } catch (IllegalArgumentException ignored) { throw orig; } } }
public IterableWithMarker<AlarmHistoryItem> expected() { Set<AlarmHistoryItem> alarmHistoryItems = Sets.newLinkedHashSet(); for (int i = 1; i <= 2; i++) { alarmHistoryItems.add(new AlarmHistoryItem( "TestAlarmName" + i, "{\"reason\": \"" + i + "\"}", i == 1 ? HistoryItemType.ACTION : HistoryItemType.CONFIGURATION_UPDATE, "This is test " + i + ".", new SimpleDateFormatDateService() .iso8601SecondsDateParse("2013-01-0" + i + "T00:00:00Z") )); } return IterableWithMarkers.from(alarmHistoryItems); }
/** * Verifies that the parser doesn't barf if the timestamp in the copy object * xml has time zone designators. */ public void testApplyInputStreamWithSecondsDate() { InputStream is = Strings2.toInputStream(copyObjectResultWithSecondsDate); ObjectMetadata expected = new CopyObjectResult( new SimpleDateFormatDateService() .iso8601SecondsDateParse("2014-07-23T20:53:17+0000"), "\"92836a3ea45a6984d1b4d23a747d46bb\""); ObjectMetadata result = factory.create( injector.getInstance(CopyObjectHandler.class)).parse(is); assertEquals(result, expected); } }
public void testChangesHttpsToHttp() { assertEquals(fn.apply(Extension.builder().alias("security_groups").name("SecurityGroups").namespace( URI.create("https://docs.openstack.org/ext/securitygroups/api/v1.1")).updated( new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-07-21T00:00:00+00:00")).description( "Security group support").build()), URI.create("http://docs.openstack.org/ext/securitygroups/api/v1.1")); } }
public void testReturnsNamespace() { URI ns = URI.create("http://docs.openstack.org/ext/keypairs/api/v1.1"); assertEquals(fn.apply(Extension.builder().alias("os-keypairs").name("Keypairs").namespace(ns).updated( new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-08-08T00:00:00+00:00")).description( "Keypair Support").build()), ns); }
@Override public LoadBalancer expected() { return LoadBalancer.builder().region("LON").id(4865).name("adriancole-LON").status(Status.DELETED).nodeCount(0) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-12-05T18:03:23Z")) .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-12-05T18:04:04Z")) .uri(URI.create("https://lon.loadbalancers.api.rackspacecloud.com/v1.0/123123/loadbalancers/4865")).build(); }
@Override @SelectJson("version") @Consumes(MediaType.APPLICATION_JSON) public ApiMetadata expected() { return ApiMetadata.builder().id("v2.0") .links(ImmutableSet.of(Link.builder().relation(Link.Relation.SELF).href(URI.create("http://172.16.89.167:5000/v2.0/")).build(), Link.builder().relation(Link.Relation.DESCRIBEDBY).type("text/html").href(URI.create("http://docs.openstack.org/api/openstack-identity-service/2.0/content/")).build(), Link.builder().relation(Link.Relation.DESCRIBEDBY).type("application/pdf").href(URI.create("http://docs.openstack.org/api/openstack-identity-service/2.0/identity-dev-guide-2.0.pdf")).build() )) .status("beta") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-11-19T00:00:00+00:00")) .mediaTypes(ImmutableSet.of( org.jclouds.openstack.keystone.v2_0.domain.MediaType.builder().base("application/json").type("application/vnd.openstack.identity-v2.0+json").build(), org.jclouds.openstack.keystone.v2_0.domain.MediaType.builder().base("application/xml").type("application/vnd.openstack.identity-v2.0+xml").build() )) .build(); }
@Override @SelectJson("access") @Consumes(MediaType.APPLICATION_JSON) public Access expected() { return Access.builder() .token(Token.builder() .expires(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-12-02T01:44:54Z")) .id("5afc3adea6654e758b4a9cf01bafe507").build()) .user(User.builder() .id("bf45fd7586c2410c980c651b918aa850") .name("nova") // .username("nova") TODO: add optional username field! .build()).build(); }
@Override @SelectJson("version") @Consumes(MediaType.APPLICATION_JSON) public ApiMetadata expected() { return ApiMetadata.builder().id("v2.0") .links(ImmutableSet.of(Link.builder().relation(Link.Relation.SELF).href(URI.create("https://identity.api.rackspacecloud.com/v2.0")).build(), Link.builder().relation(Link.Relation.DESCRIBEDBY).type("application/pdf").href(URI.create("http://docs.rackspacecloud.com/auth/api/v2.0/auth-client-devguide-latest.pdf")).build(), Link.builder().relation(Link.Relation.DESCRIBEDBY).type("application/vnd.sun.wadl+xml").href(URI.create("http://docs.rackspacecloud.com/auth/api/v2.0/auth.wadl")).build() )) .status("BETA") .updated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-01-21T11:33:21-06:00")) .mediaTypes(ImmutableSet.of( org.jclouds.openstack.keystone.v2_0.domain.MediaType.builder().base("application/xml").type("application/vnd.openstack.identity+xml;version=2.0").build(), org.jclouds.openstack.keystone.v2_0.domain.MediaType.builder().base("application/json").type("application/vnd.openstack.identity+json;version=2.0").build() )) .build(); }
@Override @SelectJson("access") @Consumes(MediaType.APPLICATION_JSON) public Access expected() { return Access.builder() .token(Token.builder() .expires(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-12-02T01:44:54Z")) .id("5afc3adea6654e758b4a9cf01bafe507").build()) .user(User.builder() .id("bf45fd7586c2410c980c651b918aa850") .name("nova") // .username("nova") TODO: add optional username field! .build()).build(); }
@Override @SelectJson("diskoffering") public Set<DiskOffering> expected() { return ImmutableSet.<DiskOffering> of( DiskOffering.builder().id("3").domainId("1").domain("ROOT").name("Small").displayText("Small Disk, 5 GB") .diskSize(5) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-02-11T15:22:32-0800")) .customized(false).build(), DiskOffering.builder().id("4").domainId("1").domain("ROOT").name("Medium").displayText("Medium Disk, 20 GB") .diskSize(20) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-02-11T15:22:32-0800")) .customized(false).build(), DiskOffering.builder().id("5").domainId("1").domain("ROOT").name("Large").displayText("Large Disk, 100 GB") .diskSize(100) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-02-11T15:22:32-0800")) .customized(false).build()); } }
@Override @SelectJson("serviceoffering") public Set<ServiceOffering> expected() { return ImmutableSet.<ServiceOffering> of( ServiceOffering.builder().id("1").name("Small Instance") .displayText("Small Instance - 500 MhZ CPU, 512 MB RAM - $0.05 per hour").cpuNumber(1).cpuSpeed(500) .memory(512) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-02-11T15:22:32-0800")) .storageType(StorageType.SHARED).supportsHA(false).build(), ServiceOffering.builder().id("2").name("Medium Instance") .displayText("Medium Instance, 1 GhZ CPU, 1 GB RAM - $0.10 per hour").cpuNumber(1).cpuSpeed(1000) .memory(1024) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-02-11T15:22:32-0800")) .storageType(StorageType.SHARED).supportsHA(false).build()); }
@Override @SelectJson("publicipaddress") public Set<PublicIPAddress> expected() { return ImmutableSet.of(PublicIPAddress.builder().id("30").IPAddress("72.52.126.59") .allocated(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-02-19T21:15:01-0800")).zoneId("1") .zoneName("San Jose 1").isSourceNAT(false).account("adrian").domainId("1").domain("ROOT") .usesVirtualNetwork(true).isStaticNAT(false).associatedNetworkId("204").networkId("200") .state(PublicIPAddress.State.ALLOCATED).build()); }
@Override @SelectJson("serviceoffering") public Set<ServiceOffering> expected() { return ImmutableSet.<ServiceOffering> of( ServiceOffering.builder().id("1").name("Small Instance") .displayText("Small Instance - 500 MhZ CPU, 512 MB RAM - $0.05 per hour").cpuNumber(1).cpuSpeed(500) .memory(512) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-02-11T15:22:32-0800")) .storageType(StorageType.SHARED).supportsHA(false).build(), ServiceOffering.builder().id("2").name("Medium Instance") .displayText("Medium Instance, 1 GhZ CPU, 1 GB RAM - $0.10 per hour").cpuNumber(1).cpuSpeed(1000) .memory(1024) .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-02-11T15:22:32-0800")) .storageType(StorageType.SHARED).supportsHA(false).build()); }
@Override @Consumes(MediaType.APPLICATION_JSON) public VirtualGuest expected() { return VirtualGuest .builder() .id(413348).accountId(93750).billingItemId(-1) .createDate(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-09-28T01:52:45-08:00")) .domain("jclouds.org").fullyQualifiedDomainName("foo-ef4.jclouds.org") .hostname("foo-ef4").maxCpu(0).maxCpuUnits("CORE").maxMemory(256) .statusId(1001).startCpus(0) //TODO: maybe powerState can be flattened like billingItemId .powerState(new PowerState(VirtualGuest.State.HALTED)).build(); }
@Override @Consumes(MediaType.APPLICATION_JSON) public VirtualGuest expected() { return VirtualGuest .builder() .id(416788).accountId(93750).billingItemId(7185261) .createDate(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-10-02T03:24:43-08:00")) .dedicatedAccountHostOnly(true).domain("me.org").fullyQualifiedDomainName("node1000360500.me.org") .hostname("node1000360500").maxCpu(1).maxCpuUnits("CORE").maxMemory(1024) .modifyDate(new SimpleDateFormatDateService().iso8601SecondsDateParse("2011-10-02T03:25:33-08:00")) .primaryBackendIpAddress("10.37.102.194").primaryIpAddress("173.192.29.186").startCpus(1).statusId(1001) .uuid("96fe22ad-8182-924d-ce51-a037e477dd83") .operatingSystem(OperatingSystem.builder().id(913960).build()) .datacenter(Datacenter.builder().id(3).name("dal01").longName("Dallas").build()) //TODO: maybe powerState can be flattened like billingItemId .powerState(new PowerState(VirtualGuest.State.HALTED)).build(); }
@Test public void testRegisterISOsWhenResponseIs2xx() { ISOClient client = requestSendsResponse( registerIso, HttpResponse.builder() .statusCode(200) .payload(payloadFromResource("/registerisoresponse.json")) .build()); assertEquals(client.registerISO("ubuntu10.10", "ubuntu 10.10 (32 bit)", "http://ubuntu/ubuntu-10.10.iso", "1e0335d9-b6cc-4805-bddf-0828e66a0d01", registerISOOptions), ISO.builder().id("b52c509d-c6e2-452c-b6ec-aa00720ed6cd").name("ubuntu10.10").displayText("ubuntu 10.10 (32 bit)").isPublic(true) .isReady(false).bootable(true).isFeatured(false).crossZones(false).osTypeId("0e0335d9-b6cc-4808-bddf-0828e66a0d03") .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-08-21T15:45:01+0530")) .osTypeName("Ubuntu 10.10 (32-bit)").account("root").domain("ROOT").domainid("99f4159b-c698-4bd9-b8c5-5ac462f101eb").status("") .account("admin").zoneId("6f9a2921-b22a-4149-8b71-6ffc275a2177").zoneName("Basic1") .isExtractable(false).build()); }
@Test public void testRegisterISOsWhenResponseIs2xx() { ISOApi client = requestSendsResponse( registerIso, HttpResponse.builder() .statusCode(200) .payload(payloadFromResource("/registerisoresponse.json")) .build()); assertEquals(client.registerISO("ubuntu10.10", "ubuntu 10.10 (32 bit)", "http://ubuntu/ubuntu-10.10.iso", "1e0335d9-b6cc-4805-bddf-0828e66a0d01", registerISOOptions), ISO.builder().id("b52c509d-c6e2-452c-b6ec-aa00720ed6cd").name("ubuntu10.10").displayText("ubuntu 10.10 (32 bit)").isPublic(true) .isReady(false).bootable(true).isFeatured(false).crossZones(false).osTypeId("0e0335d9-b6cc-4808-bddf-0828e66a0d03") .created(new SimpleDateFormatDateService().iso8601SecondsDateParse("2012-08-21T15:45:01+0530")) .osTypeName("Ubuntu 10.10 (32-bit)").account("root").domain("ROOT").domainid("99f4159b-c698-4bd9-b8c5-5ac462f101eb").status("") .account("admin").zoneId("6f9a2921-b22a-4149-8b71-6ffc275a2177").zoneName("Basic1") .isExtractable(false).build()); }