public void testListInstances() { URI endpoint = URI.create("http://172.16.0.1:8776/v1/3456/instances"); InstanceApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/instance_list.json")).build() ).getInstanceApi("RegionOne"); Set<? extends Instance> instances = api.list().toSet(); assertEquals(instances.size(), 2); assertEquals(instances.iterator().next().getSize(), 2); }
public void testDetachVolume() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/servers/instance-1/os-volume_attachments/1"); VolumeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).method("DELETE").build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/attachment_details.json")).build() ).getVolumeExtensionForZone("az-1.region-a.geo-1").get(); assertTrue(api.detachVolumeFromServer("1", "instance-1")); }
public void testListNodesInEnvironmentReturnsValidSet() { ChefApi api = requestSendsResponse( signed(getHttpRequestBuilder("GET", "/environments/dev/nodes").build()), HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/nodes_list.json", MediaType.APPLICATION_JSON)) // .build()); Set<String> nodes = api.listNodesInEnvironment("dev"); assertEquals(nodes.size(), 3); assertTrue(nodes.contains("blah"), String.format("Expected nodes to contain 'blah' but was: %s", nodes)); }
public void testStartupHost() { HostAdministrationApi api = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, HttpRequest.builder().method("GET") .endpoint("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-hosts/ubuntu/startup") .addHeader("Accept", "application/json") .addHeader("X-Auth-Token", authToken).build(), HttpResponse.builder().statusCode(200) .payload(payloadFromStringWithContentType("{\"host\":\"ubuntu\",\"power_action\":\"startup\"}", MediaType.APPLICATION_JSON)) .build()).getHostAdministrationExtensionForZone("az-1.region-a.geo-1").get(); assertTrue(api.startup("ubuntu")); }
public void testListDatabagsReturnsValidSet() { ChefApi api = requestSendsResponse( signed(getHttpRequestBuilder("GET", "/data").build()), HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/data_list.json", MediaType.APPLICATION_JSON)) // .build()); Set<String> databags = api.listDatabags(); assertEquals(databags.size(), 2); assertTrue(databags.contains("applications"), String.format("Expected databags to contain 'applications' but was: %s", databags)); }
public void testDeleteDomainRecordsWhenResponseIs2xx() throws Exception { DomainApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/domain/deleterecord/format/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("recordid", "256151").build(), HttpResponse.builder().statusCode(200) .payload(payloadFromResourceWithContentType("/domain_record.json", MediaType.APPLICATION_JSON)).build()) .getDomainApi(); api.deleteRecord("256151"); }
public void testListSnapshots() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-snapshots"); VolumeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/snapshot_list.json")).build() ).getVolumeExtensionForZone("az-1.region-a.geo-1").get(); Set<? extends VolumeSnapshot> snapshots = api.listSnapshots().toSet(); assertEquals(snapshots, ImmutableSet.of(testSnapshot())); }
public void testGetServerLimitsWhenResponseIs2xx() throws Exception { ServerApi api = requestSendsResponse( HttpRequest.builder().method("POST").endpoint("https://api.glesys.com/server/limits/format/json") .addHeader("Accept", "application/json") .addHeader("Authorization", "Basic aWRlbnRpdHk6Y3JlZGVudGlhbA==") .addFormParam("serverid", "server321").build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/server_limits.json")).build()) .getServerApi(); api.getLimits("server321"); }
public void testListVolumesInDetail() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volumes/detail"); VolumeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/volume_list_detail.json")).build() ).getVolumeExtensionForZone("az-1.region-a.geo-1").get(); Set<? extends Volume> volumes = api.listInDetail().toSet(); assertEquals(volumes, ImmutableSet.of(testVolume())); }
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())); }
public void testListVolumes() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-volumes"); VolumeApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/volume_list.json")).build() ).getVolumeExtensionForZone("az-1.region-a.geo-1").get(); Set<? extends Volume> volumes = api.list().toSet(); assertEquals(volumes, ImmutableSet.of(testVolume())); }
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")); }
@Test public void testJAXBResponseParserAnnotationWithCustomValue() throws SecurityException, NoSuchMethodException { TestJAXBApi api = requestSendsResponse( // HttpRequest.builder().method("GET").endpoint("http://mock/jaxb/custom").build(), // HttpResponse.builder().statusCode(200).payload("<test><elem>Hello World</elem></test>").build()); Object result = api.jaxbGetWithAnnotationAndCustomClass(); assertTrue(result instanceof TestJAXBDomain); assertEquals(TestJAXBDomain.class.cast(result).getElem(), "Hello World"); }
public void testGetAllExtraSpecs() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/flavors/9/os-extra_specs"); FlavorExtraSpecsApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/volume_type_extra_specs.json")).build() ).getFlavorExtraSpecsExtensionForZone("az-1.region-a.geo-1").get(); assertEquals(api.getMetadata("9"), ImmutableMap.of("test", "value1")); }
public void testListVolumeTypes() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/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() ).getVolumeTypeApi("az-1.region-a.geo-1").get(); Set<? extends VolumeType> types = api.list().toSet(); assertEquals(types, ImmutableSet.of(testVolumeType())); }
public void testGetServerWithSecurityGroups() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-create-server-ext/8d0a6ca5-8849-4b3d-b86e-f24c92490ebb"); ServerWithSecurityGroupsApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/server_with_security_groups.json")).build() ).getServerWithSecurityGroupsExtensionForZone("az-1.region-a.geo-1").get(); ServerWithSecurityGroups server = api.get("8d0a6ca5-8849-4b3d-b86e-f24c92490ebb"); assertEquals(server.getId(), "8d0a6ca5-8849-4b3d-b86e-f24c92490ebb"); assertEquals(server.getSecurityGroupNames(), ImmutableSet.of("default", "group1")); }
public void testListVirtualInterfaces() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/servers/1/os-virtual-interfaces"); VirtualInterfaceApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/virtual_interfaces_list.json")).build() ).getVirtualInterfaceExtensionForZone("az-1.region-a.geo-1").get(); VirtualInterface vif = Iterables.getOnlyElement(api.listOnServer("1")); assertEquals(vif.getId(), "02315827-b05c-4668-9c05-75c68838074a"); assertEquals(vif.getMacAddress(), "fa:16:3e:09:71:34"); }
public void testGetAllExtraSpecs() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v2/3456/flavors/9/os-extra_specs"); FlavorExtraSpecsApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/volume_type_extra_specs.json")).build() ).getFlavorExtraSpecsApi("az-1.region-a.geo-1").get(); assertEquals(api.getMetadata("9"), ImmutableMap.of("test", "value1")); }
public void testList() { URI endpoint = URI.create("https://az-1.region-a.geo-1.compute.hpcloudsvc.com/v1.1/3456/os-aggregates"); HostAggregateApi api = requestsSendResponses(keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, extensionsOfNovaRequest, extensionsOfNovaResponse, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/host_aggregate_list.json")).build()) .getHostAggregateExtensionForZone("az-1.region-a.geo-1").get(); HostAggregate result = Iterables.getOnlyElement(api.list()); assertEquals(result, exampleHostAggregate()); }
public void testListTenantsPage() { TenantApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, authenticatedGET().endpoint(endpoint + "/v2.0/tenants").build(), HttpResponse.builder().statusCode(200).payload( payloadFromResourceWithContentType("/tenant_list.json", APPLICATION_JSON)).build()) .getTenantApi().get(); Set<? extends Tenant> tenants = api.list(new PaginationOptions()).toSet(); assertNotNull(tenants); assertFalse(tenants.isEmpty()); assertEquals(tenants, expectedTenants); }