diff --git a/gradle.properties b/gradle.properties index aeeae20d263..e03290e1376 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -version=3.2.0 +version=3.2.1 diff --git a/server/src/main/resources/templates/web/access_confirmation.html b/server/src/main/resources/templates/web/access_confirmation.html index c22886da21c..faf2b82c80c 100644 --- a/server/src/main/resources/templates/web/access_confirmation.html +++ b/server/src/main/resources/templates/web/access_confirmation.html @@ -28,7 +28,7 @@

Cloudbees

  • - +
  • @@ -36,7 +36,7 @@

    Cloudbees

  • - +
  • @@ -44,7 +44,7 @@

    Cloudbees

  • - +
  • diff --git a/server/src/main/resources/templates/web/approvals.html b/server/src/main/resources/templates/web/approvals.html index 3c54eceb715..b90a8874de2 100644 --- a/server/src/main/resources/templates/web/approvals.html +++ b/server/src/main/resources/templates/web/approvals.html @@ -66,7 +66,7 @@

    th:checked="${approval.status.toString() == 'APPROVED'}" /> + th:text="${#messages.msgOrNull(code) ?: approval.description}">Something new. diff --git a/uaa/src/test/java/org/cloudfoundry/identity/uaa/integration/feature/AppApprovalIT.java b/uaa/src/test/java/org/cloudfoundry/identity/uaa/integration/feature/AppApprovalIT.java index 0e9c969960d..760406dab5e 100644 --- a/uaa/src/test/java/org/cloudfoundry/identity/uaa/integration/feature/AppApprovalIT.java +++ b/uaa/src/test/java/org/cloudfoundry/identity/uaa/integration/feature/AppApprovalIT.java @@ -165,6 +165,38 @@ public void testApprovingAnApp() throws Exception { Assert.assertThat(webDriver.findElements(By.xpath("//input[@value='app-password.write']")), Matchers.empty()); } + @Test + public void testScopeDescriptions() throws Exception { + ResponseEntity> getGroups = restTemplate.exchange(baseUrl + "/Groups?filter=displayName eq '{displayName}'", + HttpMethod.GET, + null, + new ParameterizedTypeReference>() { + }, + "cloud_controller.read"); + ScimGroup group = getGroups.getBody().getResources().stream().findFirst().get(); + + group.setDescription("Read about your clouds."); + HttpHeaders headers = new HttpHeaders(); + headers.add("If-Match", Integer.toString(group.getVersion())); + HttpEntity request = new HttpEntity(group, headers); + restTemplate.exchange(baseUrl + "/Groups/{group-id}", HttpMethod.PUT, request, Object.class, group.getId()); + + ScimUser user = createUnapprovedUser(); + + // Visit app + webDriver.get(appUrl); + + // Sign in to login server + webDriver.findElement(By.name("username")).sendKeys(user.getUserName()); + webDriver.findElement(By.name("password")).sendKeys(user.getPassword()); + webDriver.findElement(By.xpath("//input[@value='Sign in']")).click(); + + // Authorize the app for some scopes + Assert.assertEquals("Application Authorization", webDriver.findElement(By.cssSelector("h1")).getText()); + + webDriver.findElement(By.xpath("//label[text()='Read about your clouds.']/preceding-sibling::input")); + } + @Test public void testInvalidAppRedirectDisplaysError() throws Exception { ScimUser user = createUnapprovedUser();