@Test public void testProjectAdminRestrictionsToRegistries() throws Throwable { RegistryState registry = new RegistryState(); registry.name = "test"; registry.address = UUID.randomUUID().toString(); registry.tenantLinks = Collections.singletonList(createdProject.documentSelfLink); host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); RegistryState createdState = doPost(registry, RegistryFactoryService.SELF_LINK); assertNotNull(createdState); assertNotNull(createdState.documentSelfLink); host.assumeIdentity(buildUserServicePath(USER_EMAIL_GLORIA)); // GET getDocument(RegistryState.class, createdState.documentSelfLink); // POST registry.address = UUID.randomUUID().toString(); doPost(registry, RegistryFactoryService.SELF_LINK); // PUT createdState.name = "updated-name"; doPut(createdState); // DELETE doDelete(UriUtils.buildUri(host, createdState.documentSelfLink), false); }
@Test public void testProjectAdminHasAccessToTheResourcesOfTheProjectHeBelongsToAsAdmin() throws Throwable { host.assumeIdentity(buildUserServicePath(USER_EMAIL_GLORIA)); ContainerDescription cd = new ContainerDescription(); cd.image = "test"; cd.tenantLinks = new ArrayList<String>(); cd.tenantLinks.add(createdProject.documentSelfLink); // POST ContainerDescription createdContainerDesc = doPost(cd, ContainerDescriptionService.FACTORY_LINK); // GET ContainerDescription retrievedState = getDocument(ContainerDescription.class, createdContainerDesc.documentSelfLink); assertNotNull(retrievedState); assertEquals(retrievedState.tenantLinks, createdContainerDesc.tenantLinks); // PUT retrievedState.name = "updated_name"; ContainerDescription updatedState = doPut(retrievedState); assertNotNull(updatedState); assertEquals(retrievedState.name, updatedState.name); // DELETE doDelete(UriUtils.buildUri(host, createdContainerDesc.documentSelfLink), false); }
@Test public void testCloudAdminHasAccessToRegistries() throws Throwable { host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); RegistryState registry = new RegistryState(); registry.name = "test"; registry.address = UUID.randomUUID().toString(); // POST RegistryState createdState = doPost(registry, RegistryFactoryService.SELF_LINK); assertNotNull(createdState); assertNotNull(createdState.documentSelfLink); // GET RegistryState retrievedState = getDocument(RegistryState.class, createdState.documentSelfLink); assertNotNull(retrievedState); // PUT createdState.name = "updated-name"; RegistryState updatedState = doPut(createdState); assertNotNull(updatedState); assertTrue(createdState.name.equals(updatedState.name)); // DELETE doDelete(UriUtils.buildUri(host, createdState.documentSelfLink), false); retrievedState = getDocumentNoWait(RegistryState.class, createdState.documentSelfLink); assertNull(retrievedState); }
@Test public void testCloudAdminHasAccessToCertificates() throws Throwable { host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); SslTrustCertificateState cert = new SslTrustCertificateState(); cert.certificate = CommonTestStateFactory.getFileContent(FIRST_CERTIFICATE_PATH).trim(); // POST SslTrustCertificateState createdState = doPost(cert, SslTrustCertificateService.FACTORY_LINK); assertNotNull(createdState); assertNotNull(createdState.documentSelfLink); // GET SslTrustCertificateState retrievedState = getDocument(SslTrustCertificateState.class, createdState.documentSelfLink); assertNotNull(retrievedState); // PUT createdState.certificate = CommonTestStateFactory.getFileContent(SECOND_CERTIFICATE_PATH).trim(); SslTrustCertificateState updatedState = doPut(createdState); assertNotNull(updatedState); assertTrue(createdState.certificate.equals(updatedState.certificate)); // DELETE doDelete(UriUtils.buildUri(host, createdState.documentSelfLink), false); retrievedState = getDocumentNoWait(SslTrustCertificateState.class, createdState.documentSelfLink); assertNull(retrievedState); }
@Test public void testProjectAdminRestrictionsToCertificates() throws Throwable { SslTrustCertificateState cert = new SslTrustCertificateState(); cert.certificate = CommonTestStateFactory.getFileContent("test_ssl_trust.PEM").trim(); host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); SslTrustCertificateState createdState = doPost(cert, SslTrustCertificateService.FACTORY_LINK); assertNotNull(createdState); assertNotNull(createdState.documentSelfLink); host.assumeIdentity(buildUserServicePath(USER_EMAIL_GLORIA)); // GET getDocument(SslTrustCertificateState.class, createdState.documentSelfLink); // POST doPost(cert, SslTrustCertificateService.FACTORY_LINK); // PUT createdState.commonName = "updated-name"; doPut(createdState); // DELETE doDelete(UriUtils.buildUri(host, createdState.documentSelfLink), false); }
@Test public void testCloudAdminHasAccessToCredentials() throws Throwable { host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); AuthCredentialsServiceState cred = new AuthCredentialsServiceState(); cred.userEmail = "test"; // POST AuthCredentialsServiceState createdState = doPost(cred, AuthCredentialsService.FACTORY_LINK); assertNotNull(createdState); assertNotNull(createdState.documentSelfLink); // GET AuthCredentialsServiceState retrievedState = getDocument(AuthCredentialsServiceState.class, createdState.documentSelfLink); assertNotNull(retrievedState); // PUT createdState.userEmail = "updated-name"; AuthCredentialsServiceState updatedState = doPut(createdState); assertNotNull(updatedState); assertTrue(createdState.userEmail.equals(updatedState.userEmail)); // DELETE doDelete(UriUtils.buildUri(host, createdState.documentSelfLink), false); retrievedState = getDocumentNoWait(AuthCredentialsServiceState.class, createdState.documentSelfLink); assertNull(retrievedState); }
@Test public void testCloudAdminHasAccessToProjects() throws Throwable { host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); ProjectState project = new ProjectState(); project.name = "test-name"; // POST ProjectState createdState = doPost(project, ProjectFactoryService.SELF_LINK); assertNotNull(createdState); assertNotNull(createdState.documentSelfLink); // GET ProjectState retrievedState = getDocument(ProjectState.class, createdState.documentSelfLink); assertNotNull(retrievedState); // PUT createdState.name = "updated-name"; ProjectState updatedState = doPut(createdState); assertNotNull(updatedState); assertTrue(createdState.name.equals(updatedState.name)); // DELETE doDelete(UriUtils.buildUri(host, createdState.documentSelfLink), false); retrievedState = getDocumentNoWait(ProjectState.class, createdState.documentSelfLink); assertNull(retrievedState); }
@Test public void testProjectAdminRestrictionsToCredentials() throws Throwable { AuthCredentialsServiceState cred = new AuthCredentialsServiceState(); cred.userEmail = "test"; host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); AuthCredentialsServiceState createdState = doPost(cred, AuthCredentialsService.FACTORY_LINK); assertNotNull(createdState); assertNotNull(createdState.documentSelfLink); host.assumeIdentity(buildUserServicePath(USER_EMAIL_GLORIA)); // GET getDocumentNoWait(AuthCredentialsServiceState.class, createdState.documentSelfLink); // POST doPost(cred, AuthCredentialsService.FACTORY_LINK); // PUT createdState.userEmail = "updated-name"; doPut(createdState); // DELETE doDelete(UriUtils.buildUri(host, createdState.documentSelfLink), false); }
@Test public void testCloudAdminHasAccessToConfiguration() throws Throwable { host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); ConfigurationState config = new ConfigurationState(); config.key = "key"; config.value = "value"; // POST ConfigurationState createdState = doPost(config, ConfigurationFactoryService.SELF_LINK); assertNotNull(createdState); assertNotNull(createdState.documentSelfLink); assertEquals(config.key, createdState.key); assertEquals(config.value, createdState.value); // GET ConfigurationState retrievedState = getDocument(ConfigurationState.class, createdState.documentSelfLink); assertNotNull(retrievedState); // PUT createdState.value = "updated-value"; ConfigurationState updatedState = doPut(createdState); assertNotNull(updatedState); assertTrue(createdState.value.equals(updatedState.value)); // DELETE doDelete(UriUtils.buildUri(host, createdState.documentSelfLink), false); retrievedState = getDocumentNoWait(ConfigurationState.class, createdState.documentSelfLink); assertNull(retrievedState); }
@Test public void testProjectAdminHasAccessToTheProjectsHeBelongsToAsAdmin() throws Throwable { ProjectState project = new ProjectState(); project.name = "test"; host.assumeIdentity(buildUserServicePath(USER_EMAIL_GLORIA)); // GET ProjectState retrievedState = getDocument(ProjectState.class, createdProject.documentSelfLink); assertNotNull(retrievedState); // PUT this.createdProject.name = "updated-name"; ProjectState updatedState = doPut(createdProject); assertNotNull(updatedState); assertEquals(createdProject.name, updatedState.name); // PATCH ProjectState state = new ProjectState(); state.name = "patched-name"; ProjectState patchedState = doPatch(state, createdProject.documentSelfLink); assertNotNull(patchedState); assertEquals(state.name, patchedState.name); // DELETE doDeleteWithRestrictionVerification(retrievedState, ProjectFactoryService.SELF_LINK); }
@Test public void testCloudAdminHasAccessToLogs() throws Throwable { host.assumeIdentity(buildUserServicePath(USER_EMAIL_ADMIN)); LogServiceState log = new LogServiceState(); log.logs = new byte[] { 1 }; // POST LogServiceState createdState = doPost(log, LogService.FACTORY_LINK); assertNotNull(createdState); assertNotNull(createdState.documentSelfLink); assertEquals(log.logs[0], createdState.logs[0]); // GET LogServiceState retrievedState = getDocument(LogServiceState.class, createdState.documentSelfLink); assertNotNull(retrievedState); // PUT createdState.logs = new byte[] { 1 }; LogServiceState updatedState = doPut(createdState); assertNotNull(updatedState); assertEquals(createdState.logs[0], updatedState.logs[0]); // DELETE doDelete(UriUtils.buildUri(host, createdState.documentSelfLink), false); retrievedState = getDocumentNoWait(LogServiceState.class, createdState.documentSelfLink); assertNull(retrievedState); }