public void testGetSecurityGroupRule() 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("/security_group_rule_get_response.json"))));
try {
NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides);
SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne");
Rule rule = api.get("12345");
assertEquals(server.getRequestCount(), 2);
assertAuthentication(server);
assertRequest(server.takeRequest(), "GET", uriApiVersion + "/security-group-rules/12345");
assertNotNull(rule);
assertEquals(rule.getDirection(), RuleDirection.EGRESS);
assertEquals(rule.getEthertype(), RuleEthertype.IPV6);
assertEquals(rule.getId(), "3c0e45ff-adaf-4124-b083-bf390e5482ff");
assertEquals(rule.getTenantId(), "e4f50856753b4dc6afee5fa6b9b6c550");
assertEquals(rule.getSecurityGroupId(), "85cc3048-abc3-43cc-89b3-377341426ac5");
} finally {
server.shutdown();
}
}