public void testCreateVolumeType() { if (volumeTypeOption.isPresent()) { testVolumeType = volumeTypeOption.get().create( "jclouds-test-1", CreateVolumeTypeOptions.Builder.specs(ImmutableMap.of("test", "value1"))); assertTrue(retry(new Predicate<VolumeTypeApi>() { public boolean apply(VolumeTypeApi volumeTypeApi) { return volumeTypeApi.get(testVolumeType.getId()) != null; } }, 180 * 1000L).apply(volumeTypeOption.get())); assertEquals(volumeTypeOption.get().get(testVolumeType.getId()).getName(), "jclouds-test-1"); assertEquals(volumeTypeOption.get().get(testVolumeType.getId()).getExtraSpecs(), ImmutableMap.of("test", "value1")); } }
@AfterClass(groups = { "integration", "live" }) @Override protected void tearDown() { if (volumeTypeOption.isPresent()) { if (testVolumeType != null) { final String id = testVolumeType.getId(); assertTrue(volumeTypeOption.get().delete(id)); assertTrue(retry(new Predicate<VolumeTypeApi>() { public boolean apply(VolumeTypeApi volumeApi) { return volumeApi.get(id) == null; } }, 5 * 1000L).apply(volumeTypeOption.get())); } } super.tearDown(); }
@Test(dependsOnMethods = "testCreateVolumeType") public void testExtraSpecs() { if (volumeTypeOption.isPresent()) { assertEquals(volumeTypeOption.get().getExtraSpecs(testVolumeType.getId()), ImmutableMap.of("test", "value1")); assertEquals(volumeTypeOption.get().getExtraSpec(testVolumeType.getId(), "test"), "value1"); assertTrue(volumeTypeOption.get().updateExtraSpecs(testVolumeType.getId(), ImmutableMap.of("test1", "wibble"))); } }
@Test(dependsOnMethods = "testCreateVolumeType") public void testUpdateIndividualSpec() { if (volumeTypeOption.isPresent()) { assertTrue(volumeTypeOption.get().updateExtraSpec(testVolumeType.getId(), "test1", "freddy")); assertEquals(volumeTypeOption.get().getExtraSpec(testVolumeType.getId(), "test1"), "freddy"); } } }
@Test(dependsOnMethods = "testCreateVolumeType") public void testListVolumeTypes() { if (volumeTypeOption.isPresent()) { Set<? extends VolumeType> volumeTypes = volumeTypeOption.get().list().toSet(); assertNotNull(volumeTypes); boolean foundIt = false; for (VolumeType vt : volumeTypes) { VolumeType details = volumeTypeOption.get().get(vt.getId()); assertNotNull(details); if (Objects.equal(details.getId(), testVolumeType.getId())) { foundIt = true; } } assertTrue(foundIt, "Failed to find the volume type we created in list() response"); } }
public boolean apply(VolumeTypeApi volumeApi) { return volumeApi.get(id) == null; } }, 5 * 1000L).apply(volumeTypeOption.get()));
public void testCreateVolumeTypeWithOptsSet() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).method("POST") .payload(payloadFromStringWithContentType("{\"volume_type\":{\"name\":\"jclouds-test-1\",\"extra_specs\":{\"x\": \"y\"}}}", MediaType.APPLICATION_JSON)) .build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/volume_type.json")).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); VolumeType type = api.create("jclouds-test-1", CreateVolumeTypeOptions.Builder.specs(ImmutableMap.of("x", "y"))); assertEquals(type, testVolumeType()); }
public void testDeleteExtraSpec() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types/5/extra_specs/test1"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).method("DELETE").build(), HttpResponse.builder().statusCode(200).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); assertTrue(api.deleteExtraSpec("5", "test1")); }
public void testGetAllExtraSpecsFailNotFound() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types/9/extra_specs"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(404).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); assertTrue(api.getExtraSpecs("9").isEmpty()); }
public void testGetExtraSpecFailNotFound() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types/5/extra_specs/test1"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(404).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); assertNull(api.getExtraSpec("5", "test1")); }
public void testSetExtraSpec() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types/5/extra_specs/test1"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint) .method("PUT") .payload(payloadFromStringWithContentType("{\"test1\":\"somevalue\"}", MediaType.APPLICATION_JSON)).build(), HttpResponse.builder().statusCode(200).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); assertTrue(api.updateExtraSpec("5", "test1", "somevalue")); }
public void testSetAllExtraSpecs() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types/9/extra_specs"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint) .method("POST") .payload(payloadFromStringWithContentType("{\"extra_specs\":{\"test1\":\"somevalue\"}}", MediaType.APPLICATION_JSON)).build(), HttpResponse.builder().statusCode(200).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); assertTrue(api.updateExtraSpecs("9", ImmutableMap.of("test1", "somevalue"))); }
public void testListVolumeTypes() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/volume_type_list.json")).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); Set<? extends VolumeType> types = api.list().toSet(); assertEquals(types, ImmutableSet.of(testVolumeType())); }
@Test(dependsOnMethods = "testCreateVolumeType") public void testUpdateIndividualSpec() { if (volumeTypeOption.isPresent()) { volumeTypeOption.get().updateExtraSpec(testVolumeType.getId(), "test1", "freddy"); assertEquals(volumeTypeOption.get().getExtraSpec(testVolumeType.getId(), "test1"), "freddy"); } } }
@Test(dependsOnMethods = "testCreateVolumeType") public void testListVolumeTypes() { if (volumeTypeOption.isPresent()) { Set<? extends VolumeType> volumeTypes = volumeTypeOption.get().list().toSet(); assertNotNull(volumeTypes); boolean foundIt = false; for (VolumeType vt : volumeTypes) { VolumeType details = volumeTypeOption.get().get(vt.getId()); assertNotNull(details); if (Objects.equal(details.getId(), testVolumeType.getId())) { foundIt = true; } } assertTrue(foundIt, "Failed to find the volume type we created in list() response"); } }
public boolean apply(VolumeTypeApi volumeApi) { return volumeApi.get(id) == null; } }, 5 * 1000L).apply(volumeTypeOption.get()));
public void testCreateVolumeType() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).method("POST") .payload(payloadFromStringWithContentType("{\"volume_type\":{\"name\":\"jclouds-test-1\"}}", MediaType.APPLICATION_JSON)) .build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/volume_type.json")).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); VolumeType type = api.create("jclouds-test-1"); assertEquals(type, testVolumeType()); }
public void testDeleteExtraSpecFailNotFound() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types/5/extra_specs/test1"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).method("DELETE").build(), HttpResponse.builder().statusCode(404).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); assertFalse(api.deleteExtraSpec("5", "test1")); }
public void testGetAllExtraSpecs() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types/9/extra_specs"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/volume_type_extra_specs.json")).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); assertEquals(api.getExtraSpecs("9"), ImmutableMap.of("test", "value1")); }
public void testGetExtraSpec() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volume-types/5/extra_specs/test1"); VolumeTypeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromStringWithContentType("{\"test1\":\"another value\"}", MediaType.APPLICATION_JSON)).build() ).getVolumeTypeExtensionForZone("az-1.region-a.geo-1").get(); assertEquals(api.getExtraSpec("5", "test1"), "another value"); }