@BeforeClass(groups = { "integration", "live" }) @Override public void setup() { super.setup(); userAdminOption = api.getUserAdminApi(); if (!userAdminOption.isPresent()) { throw new SkipException("The tests are skipped since OS-KSADM extension is not exposed through the Keystone API"); } userApi = api.getUserApi(); }
public void createUser() 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("/user_create_response.json")))); try { KeystoneApi keystoneApi = api(server.getUrl("/").toString(), "openstack-keystone"); UserAdminApi userAdminApi = keystoneApi.getUserAdminApi().get(); CreateUserOptions createUserOptions = CreateUserOptions.Builder.email("john.smith@example.org").enabled(true) .tenant("12345"); User testUser = userAdminApi.create("jqsmith", "jclouds-password", createUserOptions); assertNotNull(testUser); assertEquals(testUser.getId(), "u1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest createUserRequest = server.takeRequest(); assertEquals(createUserRequest.getRequestLine(), "POST /users HTTP/1.1"); assertEquals( new String(createUserRequest.getBody()), "{\"user\":{\"name\":\"jqsmith\",\"tenantId\":\"12345\",\"password\":\"jclouds-password\",\"email\":\"john.smith@example.org\",\"enabled\":true}}"); } finally { server.shutdown(); } }
public void updateUser() 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("/user_update_response.json")))); try { KeystoneApi keystoneApi = api(server.getUrl("/").toString(), "openstack-keystone"); UserAdminApi userAdminApi = keystoneApi.getUserAdminApi().get(); UpdateUserOptions updateUserOptions = UpdateUserOptions.Builder.email("john.smith.renamed@example.org") .enabled(false).name("jqsmith-renamed").password("jclouds-password"); User updatedUser = userAdminApi.update("u1000", updateUserOptions); assertNotNull(updatedUser); assertEquals(updatedUser.getId(), "u1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest updateUserRequest = server.takeRequest(); assertEquals(updateUserRequest.getRequestLine(), "PUT /users/u1000 HTTP/1.1"); assertEquals( new String(updateUserRequest.getBody()), "{\"user\":{\"name\":\"jqsmith-renamed\",\"email\":\"john.smith.renamed@example.org\",\"password\":\"jclouds-password\",\"enabled\":false}}"); } finally { server.shutdown(); } }
public void deleteUser() 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"); UserAdminApi userAdminApi = keystoneApi.getUserAdminApi().get(); userAdminApi.delete("u1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest updateUserRequest = server.takeRequest(); assertEquals(updateUserRequest.getRequestLine(), "DELETE /users/u1000 HTTP/1.1"); } finally { server.shutdown(); } }