public void testCreateSubnet() throws IOException, InterruptedException, URISyntaxException {
MockWebServer server = mockOpenStackServer();
server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(201).setBody(stringFromResource("/subnet_create_response.json"))));
try {
NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
SubnetApi api = neutronApi.getSubnetApi("RegionOne");
Subnet.CreateSubnet createSubnet = Subnet.createBuilder("1234567890", "10.0.3.0/24")
.name("jclouds-wibble")
.ipVersion(4)
.build();
Subnet subnet = api.create(createSubnet);
assertAuthentication(server);
assertRequest(server.takeRequest(), "POST", uriApiVersion + "/subnets", "/subnet_create_request.json");
assertNotNull(subnet);
assertEquals(subnet.getName(), "jclouds-wibble");
assertEquals(subnet.getIpVersion().intValue(), 4);
assertEquals(subnet.getCidr(), "10.0.3.0/24");
assertEquals(subnet.getTenantId(), "1234567890");
assertEquals(subnet.getId(), "624312ff-d14b-4ba3-9834-1c78d23d574d");
} finally {
server.shutdown();
}
}