@Inject BaseStorageResponseHandler(DateCodecFactory dateCodec) { this.dateCodec = dateCodec.iso8601(); this.builder = Storage.builder(); this.serverIds = Lists.newArrayList(); }
@Test public void testParseResponseFromGetDataCenter() { ParseSax<DataCenter> parser = createParser(); DataCenter actual = parser.parse(payloadFromResource("/datacenter/datacenter.xml")); assertNotNull(actual, "Parsed content returned null"); DateService dateParser = createDateParser(); DataCenter expected = DataCenter.builder() .id("12345678-abcd-efgh-ijkl-987654321000") .version(10) .name("JClouds-DC") .state(ProvisioningState.AVAILABLE) .location(Location.US_LAS) .servers( ImmutableList.<Server>of( Server.builder() .dataCenter( DataCenter.builder() .id("12345678-abcd-efgh-ijkl-987654321000") .version(10) .build()) .id("qqqqqqqq-wwww-eeee-rrrr-tttttttttttt") .name("jnode1") .cores(4) .ram(4096) .hasInternetAccess(true) .state(ProvisioningState.AVAILABLE) .status(Server.Status.RUNNING) .creationTime( dateParser.iso8601DateOrSecondsDateParse("2014-12-04T07:09:23.138Z")) .lastModificationTime( dateParser.iso8601DateOrSecondsDateParse("2014-12-12T03:08:35.629Z")) .osType(OsType.LINUX) .availabilityZone(AvailabilityZone.AUTO) .isCpuHotPlug(true) .isRamHotPlug(true) .isNicHotPlug(true) .isNicHotUnPlug(true) .isDiscVirtioHotPlug(true) .isDiscVirtioHotUnPlug(true) .storages( ImmutableList.<Storage>of( Storage.builder() .bootDevice(Boolean.TRUE) .id("ssssssss-aaaa-ffff-gggg-hhhhhhhhhhhh") .busType(Storage.BusType.VIRTIO) .deviceNumber(1) .size(40f) .name("jnode1-disk1") .build())) .nics( ImmutableList.<Nic>of( Nic.builder() .dataCenterId("12345678-abcd-efgh-ijkl-987654321000") .id("zzzzzzzz-xxxx-cccc-vvvv-bbbbbbbbbbbb") .lanId(1) .internetAccess(true) .serverId("qqqqqqqq-wwww-eeee-rrrr-tttttttttttt") .ips(ImmutableList.of("202.94.38.12")) .macAddress("02:01:09:cd:f0:b0") .firewall( Firewall.builder() .active(false) .id("llllllll-kkkk-jjjj-hhhh-gggggggggggg") .nicId("zzzzzzzz-xxxx-cccc-vvvv-bbbbbbbbbbbb") .state(ProvisioningState.AVAILABLE) .build()) .dhcpActive(true) .gatewayIp("202.94.38.1") .state(ProvisioningState.AVAILABLE) .build())) .build())) .storages( ImmutableList.<Storage>of( Storage.builder() .id("ssssssss-aaaa-ffff-gggg-hhhhhhhhhhhh") .size(40) .name("jnode1-disk1") .state(ProvisioningState.AVAILABLE) .creationTime( dateParser.iso8601DateOrSecondsDateParse("2014-12-04T07:09:23.138Z")) .lastModificationTime( dateParser.iso8601DateOrSecondsDateParse("2014-12-12T03:14:48.316Z")) .serverIds(ImmutableList.of("qqqqqqqq-wwww-eeee-rrrr-tttttttttttt")) .build())) .build(); assertEquals(actual, expected); }