@BeforeClass(groups = { "integration", "live" }) @Override public void setup() { super.setup(); tenantAdminOption = api.getTenantAdminApi(); if (!tenantAdminOption.isPresent()) { throw new SkipException( "The tests are skipped since OS-KSADM extension is not exposed through the Keystone API"); } tenantApi = api.getTenantApi(); }
public void createTenant() 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("/tenant_create_response.json")))); try { KeystoneApi keystoneApi = api(server.getUrl("/").toString(), "openstack-keystone"); TenantAdminApi tenantAdminApi = keystoneApi.getTenantAdminApi().get(); CreateTenantOptions createTenantOptions = CreateTenantOptions.Builder.description("jclouds-description") .enabled(true); Tenant testTenant = tenantAdminApi.create("jclouds-tenant", createTenantOptions); assertNotNull(testTenant); assertEquals(testTenant.getId(), "t1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest createTenantRequest = server.takeRequest(); assertEquals(createTenantRequest.getRequestLine(), "POST /tenants HTTP/1.1"); assertEquals(new String(createTenantRequest.getBody()), "{\"tenant\":{\"name\":\"jclouds-tenant\",\"description\":\"jclouds-description\",\"enabled\":true}}"); } finally { server.shutdown(); } }
public void updateTenant() 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("/tenant_update_response.json")))); try { KeystoneApi keystoneApi = api(server.getUrl("/").toString(), "openstack-keystone"); TenantAdminApi tenantAdminApi = keystoneApi.getTenantAdminApi().get(); UpdateTenantOptions updateTenantOptions = UpdateTenantOptions.Builder .description("jclouds-description-modified").enabled(false).name("jclouds-tenant-modified"); Tenant updatedTenant = tenantAdminApi.update("t1000", updateTenantOptions); assertNotNull(updatedTenant); assertEquals(updatedTenant.getId(), "t1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest updateTenantRequest = server.takeRequest(); assertEquals(updateTenantRequest.getRequestLine(), "PUT /tenants/t1000 HTTP/1.1"); assertEquals( new String(updateTenantRequest.getBody()), "{\"tenant\":{\"name\":\"jclouds-tenant-modified\",\"description\":\"jclouds-description-modified\",\"enabled\":false}}"); } finally { server.shutdown(); } }
public void deleteRoleOnTenant() 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"); TenantAdminApi tenantAdminApi = keystoneApi.getTenantAdminApi().get(); tenantAdminApi.deleteRoleOnTenant("t1000", "u1000", "r1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest updateTenantRequest = server.takeRequest(); assertEquals(updateTenantRequest.getRequestLine(), "DELETE /tenants/t1000/users/u1000/roles/OS-KSADM/r1000 HTTP/1.1"); } finally { server.shutdown(); } }
public void addRoleOnTenant() 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))); try { KeystoneApi keystoneApi = api(server.getUrl("/").toString(), "openstack-keystone"); TenantAdminApi tenantAdminApi = keystoneApi.getTenantAdminApi().get(); tenantAdminApi.addRoleOnTenant("u1000", "t1000", "r1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest updateTenantRequest = server.takeRequest(); assertEquals(updateTenantRequest.getRequestLine(), "PUT /tenants/u1000/users/t1000/roles/OS-KSADM/r1000 HTTP/1.1"); } finally { server.shutdown(); } }
public void deleteTenant() 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"); TenantAdminApi tenantAdminApi = keystoneApi.getTenantAdminApi().get(); tenantAdminApi.delete("t1000"); assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertExtensions(server); RecordedRequest updateTenantRequest = server.takeRequest(); assertEquals(updateTenantRequest.getRequestLine(), "DELETE /tenants/t1000 HTTP/1.1"); } finally { server.shutdown(); } }