public void testCreateInstance() { URI endpoint = URI.create("http://172.16.0.1:8776/v1/3456/instances"); InstanceApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, authenticatedGET() .endpoint( endpoint) // bad naming convention, you should not be able to change the // method to POST .method("POST") .payload( payloadFromResourceWithContentType( "/instance_create_request.json", MediaType.APPLICATION_JSON)) .build(), HttpResponse.builder() .statusCode(200) .payload(payloadFromResource("/instance_create.json")) .build() // response ) .getInstanceApi("RegionOne"); Instance instance = api.create("1", 2, "json_rack_instance"); assertEquals(instance.getSize(), 2); assertEquals(instance.getName(), "json_rack_instance"); }
/** @return Instance The Instance created in the CreateInstance example. */ private Instance getInstance() { for (Instance instance : instanceApi.list()) { if (instance.getName().startsWith(NAME)) { return instance; } } throw new RuntimeException(NAME + " not found. Run the CreateInstance example first."); }
public void testGetInstance() { URI endpoint = URI.create("http://172.16.0.1:8776/v1/3456/instances/44b277eb-39be-4921-be31-3d61b43651d7"); InstanceApi api = requestsSendResponses( keystoneAuthWithUsernameAndPasswordAndTenantName, responseWithKeystoneAccess, authenticatedGET().endpoint(endpoint).build(), HttpResponse.builder() .statusCode(200) .payload(payloadFromResource("/instance_get.json")) .build()) .getInstanceApi("RegionOne"); Instance instance = api.get("44b277eb-39be-4921-be31-3d61b43651d7"); assertEquals(instance.getName(), "json_rack_instance"); assertEquals(instance.getId(), "44b277eb-39be-4921-be31-3d61b43651d7"); assertEquals(instance.getLinks().size(), 2); assertEquals( instance.getHostname(), "e09ad9a3f73309469cf1f43d11e79549caf9acf2.rackspaceclouddb.com"); }
/* * The instance needs to be comparable for this test to work * */ @Override @Consumes(MediaType.APPLICATION_JSON) @SelectJson("instances") public Set<Instance> expected() { return ImmutableSet.of( Instance.builder() .id("098653ba-218b-47ce-936a-e0b749101f81") .name("xml_rack_instance") .size(2) .flavor( Flavor.builder() .id(1) .links( ImmutableList.of( Link.create( Relation.SELF, Uris.uriBuilder( "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1") .build()), Link.create( Relation.BOOKMARK, Uris.uriBuilder( "https://ord.databases.api.rackspacecloud.com/flavors/1") .build()))) .build()) .status(Instance.Status.ACTIVE) .links( ImmutableList.of( Link.create( Relation.SELF, Uris.uriBuilder( "https://ord.databases.api.rackspacecloud.com/v1.0/1234/instances/098653ba-218b-47ce-936a-e0b749101f81") .build()), Link.create( Relation.BOOKMARK, Uris.uriBuilder( "https://ord.databases.api.rackspacecloud.com/instances/098653ba-218b-47ce-936a-e0b749101f81") .build()))) .build(), Instance.builder() .id("44b277eb-39be-4921-be31-3d61b43651d7") .name("json_rack_instance") .size(2) .flavor( Flavor.builder() .id(1) .links( ImmutableList.of( Link.create( Relation.SELF, Uris.uriBuilder( "https://ord.databases.api.rackspacecloud.com/v1.0/1234/flavors/1") .build()), Link.create( Relation.BOOKMARK, Uris.uriBuilder( "https://ord.databases.api.rackspacecloud.com/flavors/1") .build()))) .build()) .status(Instance.Status.ACTIVE) .links( ImmutableList.of( Link.create( Relation.SELF, Uris.uriBuilder( "https://ord.databases.api.rackspacecloud.com/v1.0/1234/instances/44b277eb-39be-4921-be31-3d61b43651d7") .build()), Link.create( Relation.BOOKMARK, Uris.uriBuilder( "https://ord.databases.api.rackspacecloud.com/instances/44b277eb-39be-4921-be31-3d61b43651d7") .build()))) .build()); }