@BeforeClass(groups = { "integration", "live" }) @Override public void setup() { super.setup(); roleAdminOption = api.getRoleAdminApi(); if (!roleAdminOption.isPresent()) { throw new SkipException("The tests are skipped since OS-KSADM extension is not exposed through the Keystone API"); } }
public void listRoles() throws Exception { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access_version_uids.json")))); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/admin_extensions.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody( stringFromResource("/role_list_response.json")))); try { KeystoneApi keystoneApi = api(server.getUrl("/").toString(), "openstack-keystone"); RoleAdminApi roleAdminApi = keystoneApi.getRoleAdminApi().get(); FluentIterable<? extends Role> roles = roleAdminApi.list(); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest updateRoleRequest = server.takeRequest(); assertEquals(updateRoleRequest.getRequestLine(), "GET /OS-KSADM/roles HTTP/1.1"); assertEquals(roles.size(), 2); assertEquals(roles.toSet(), expectedRoles); } finally { server.shutdown(); } }
public void createRole() throws Exception { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access_version_uids.json")))); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/admin_extensions.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(201).setBody( stringFromResource("/role_create_response.json")))); try { KeystoneApi keystoneApi = api(server.getUrl("/").toString(), "openstack-keystone"); RoleAdminApi roleAdminApi = keystoneApi.getRoleAdminApi().get(); Role testRole = roleAdminApi.create("jclouds-role"); assertNotNull(testRole); assertEquals(testRole.getId(), "r1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest createRoleRequest = server.takeRequest(); assertEquals(createRoleRequest.getRequestLine(), "POST /OS-KSADM/roles HTTP/1.1"); assertEquals(new String(createRoleRequest.getBody()), "{\"role\":{\"name\":\"jclouds-role\"}}"); } finally { server.shutdown(); } }
public void deleteRole() throws Exception { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access_version_uids.json")))); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/admin_extensions.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(204))); try { KeystoneApi keystoneApi = api(server.getUrl("/").toString(), "openstack-keystone"); RoleAdminApi roleAdminApi = keystoneApi.getRoleAdminApi().get(); boolean success = roleAdminApi.delete("r1000"); assertTrue(success); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest updateRoleRequest = server.takeRequest(); assertEquals(updateRoleRequest.getRequestLine(), "DELETE /OS-KSADM/roles/r1000 HTTP/1.1"); } finally { server.shutdown(); } }
public void getRole() throws Exception { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access_version_uids.json")))); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/admin_extensions.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody( stringFromResource("/role_create_response.json")))); try { KeystoneApi keystoneApi = api(server.getUrl("/").toString(), "openstack-keystone"); RoleAdminApi roleAdminApi = keystoneApi.getRoleAdminApi().get(); Role role = roleAdminApi.get("r1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest updateRoleRequest = server.takeRequest(); assertEquals(updateRoleRequest.getRequestLine(), "GET /OS-KSADM/roles/r1000 HTTP/1.1"); /* * Check response */ assertEquals(role.getId(), "r1000"); assertEquals(role.getName(), "jclouds-role"); } finally { server.shutdown(); } }