Fix missing variables test
This commit is contained in:
parent
7f875e37a5
commit
fffffd49e2
8 changed files with 29 additions and 23 deletions
|
@ -32,7 +32,7 @@ Run the appropriate module installation script.
|
||||||
For the OIDC module, enter the following command:
|
For the OIDC module, enter the following command:
|
||||||
|
|
||||||
----
|
----
|
||||||
$ {EAP_HOME}/bin/jboss-cli.sh -c --file=${EAP_HOME}/bin/adapter-install.cli
|
$ $EAP_HOME/bin/jboss-cli.sh -c --file=$EAP_HOME/bin/adapter-install.cli
|
||||||
----
|
----
|
||||||
|
|
||||||
Your installation is complete.
|
Your installation is complete.
|
||||||
|
@ -69,7 +69,7 @@ Run the appropriate module installation script.
|
||||||
For the OIDC module, enter the following command:
|
For the OIDC module, enter the following command:
|
||||||
|
|
||||||
----
|
----
|
||||||
$ {EAP_HOME}/bin/jboss-cli.sh -c --file=${EAP_HOME}/bin/adapter-install.cli
|
$ $EAP_HOME/bin/jboss-cli.sh -c --file=$EAP_HOME/bin/adapter-install.cli
|
||||||
----
|
----
|
||||||
|
|
||||||
Your installation is complete.
|
Your installation is complete.
|
|
@ -8,7 +8,7 @@ You then have to provide some extra configuration via normal Spring Boot configu
|
||||||
===== Adapter Installation
|
===== Adapter Installation
|
||||||
|
|
||||||
The Keycloak Spring Boot adapter takes advantage of Spring Boot's autoconfiguration so all you need to do is add the Keycloak Spring Boot starter to your project.
|
The Keycloak Spring Boot adapter takes advantage of Spring Boot's autoconfiguration so all you need to do is add the Keycloak Spring Boot starter to your project.
|
||||||
They Keycloak Spring Boot Starter is also directly available from the http://start.spring.io/[Spring Start Page].
|
They Keycloak Spring Boot Starter is also directly available from the https://start.spring.io/[Spring Start Page].
|
||||||
To add it manually using Maven, add the following to your dependencies:
|
To add it manually using Maven, add the following to your dependencies:
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ Run the appropriate module installation script.
|
||||||
For the SAML module, enter the following command:
|
For the SAML module, enter the following command:
|
||||||
|
|
||||||
----
|
----
|
||||||
$ {EAP_HOME}/bin/jboss-cli.sh -c --file=${EAP_HOME}/bin/adapter-install-saml.cli
|
$ $EAP_HOME/bin/jboss-cli.sh -c --file=$EAP_HOME/bin/adapter-install-saml.cli
|
||||||
----
|
----
|
||||||
|
|
||||||
Your installation is complete.
|
Your installation is complete.
|
||||||
|
@ -69,7 +69,7 @@ Run the appropriate module installation script.
|
||||||
For the SAML module, enter the following command:
|
For the SAML module, enter the following command:
|
||||||
|
|
||||||
----
|
----
|
||||||
$ {EAP_HOME}/bin/jboss-cli.sh -c --file=${EAP_HOME}/bin/adapter-install-saml.cli
|
$ $EAP_HOME/bin/jboss-cli.sh -c --file=$EAP_HOME/bin/adapter-install-saml.cli
|
||||||
----
|
----
|
||||||
|
|
||||||
Your installation is complete.
|
Your installation is complete.
|
||||||
|
|
|
@ -9,9 +9,11 @@ import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public abstract class AbstractDocsTest {
|
public abstract class AbstractDocsTest {
|
||||||
|
|
||||||
|
@ -61,25 +63,25 @@ public abstract class AbstractDocsTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkVariables() {
|
public void checkVariables() {
|
||||||
List<String> missingVariables = utils.findMissingVariables(body, config.getIgnoredVariables());
|
Set<String> missingVariables = utils.findMissingVariables(body, config.getIgnoredVariables());
|
||||||
checkFailures("Variables not found", missingVariables);
|
checkFailures("Variables not found", missingVariables);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkIncludes() {
|
public void checkIncludes() {
|
||||||
List<String> missingIncludes = utils.findMissingIncludes(body);
|
Set<String> missingIncludes = utils.findMissingIncludes(body);
|
||||||
checkFailures("Includes not found", missingIncludes);
|
checkFailures("Includes not found", missingIncludes);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkImages() {
|
public void checkImages() {
|
||||||
List<String> failures = linkUtils.findInvalidImages(body, guideDir, guideUrl);
|
Set<String> failures = linkUtils.findInvalidImages(body, guideDir, guideUrl);
|
||||||
checkFailures("Images not found", failures);
|
checkFailures("Images not found", failures);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void checkInternalAnchors() {
|
public void checkInternalAnchors() {
|
||||||
List<String> invalidInternalAnchors = linkUtils.findInvalidInternalAnchors(body);
|
Set<String> invalidInternalAnchors = linkUtils.findInvalidInternalAnchors(body);
|
||||||
checkFailures("Internal anchors not found", invalidInternalAnchors);
|
checkFailures("Internal anchors not found", invalidInternalAnchors);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +89,7 @@ public abstract class AbstractDocsTest {
|
||||||
public void checkExternalLinks() throws IOException {
|
public void checkExternalLinks() throws IOException {
|
||||||
List<LinkUtils.InvalidLink> invalidLinks = linkUtils.findInvalidLinks(body, config.getIgnoredLinks(), config.getIgnoredLinkRedirects());
|
List<LinkUtils.InvalidLink> invalidLinks = linkUtils.findInvalidLinks(body, config.getIgnoredLinks(), config.getIgnoredLinkRedirects());
|
||||||
if (!invalidLinks.isEmpty()) {
|
if (!invalidLinks.isEmpty()) {
|
||||||
List<String> failures = new LinkedList<>();
|
Set<String> failures = new HashSet<>();
|
||||||
for (LinkUtils.InvalidLink l : invalidLinks) {
|
for (LinkUtils.InvalidLink l : invalidLinks) {
|
||||||
failures.add(l.getLink() + " (" + l.getError() + ")");
|
failures.add(l.getLink() + " (" + l.getError() + ")");
|
||||||
}
|
}
|
||||||
|
@ -95,7 +97,7 @@ public abstract class AbstractDocsTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkFailures(String message, List<String> failures) {
|
private void checkFailures(String message, Set<String> failures) {
|
||||||
if (!failures.isEmpty()) {
|
if (!failures.isEmpty()) {
|
||||||
throw new Failures(message, failures);
|
throw new Failures(message, failures);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,12 +3,13 @@ package org.keycloak.documentation.test;
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class Failures extends AssertionError {
|
public class Failures extends AssertionError {
|
||||||
|
|
||||||
private List<String> failures;
|
private Set<String> failures;
|
||||||
|
|
||||||
public Failures(String error, List<String> failures) {
|
public Failures(String error, Set<String> failures) {
|
||||||
super(error);
|
super(error);
|
||||||
this.failures = failures;
|
this.failures = failures;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,10 @@ import java.io.IOException;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
@ -59,9 +61,9 @@ public class DocUtils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> findMissingVariables(String body, List<String> ignoredVariables) {
|
public Set<String> findMissingVariables(String body, List<String> ignoredVariables) {
|
||||||
List<String> missingVariables = new LinkedList<>();
|
Set<String> missingVariables = new HashSet<>();
|
||||||
Pattern p = Pattern.compile("[^$/=\\s]\\{([^ }\"]*)}");
|
Pattern p = Pattern.compile("[^$/=\n]\\{([^ }\"]*)}");
|
||||||
Matcher m = p.matcher(body);
|
Matcher m = p.matcher(body);
|
||||||
while (m.find()) {
|
while (m.find()) {
|
||||||
String key = m.group(1);
|
String key = m.group(1);
|
||||||
|
@ -72,8 +74,8 @@ public class DocUtils {
|
||||||
return missingVariables;
|
return missingVariables;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> findMissingIncludes(String body) {
|
public Set<String> findMissingIncludes(String body) {
|
||||||
List<String> missingIncludes = new LinkedList<>();
|
Set<String> missingIncludes = new HashSet<>();
|
||||||
Pattern p = Pattern.compile("Unresolved directive.*");
|
Pattern p = Pattern.compile("Unresolved directive.*");
|
||||||
Matcher m = p.matcher(body);
|
Matcher m = p.matcher(body);
|
||||||
if (m.find()) {
|
if (m.find()) {
|
||||||
|
|
|
@ -34,8 +34,8 @@ public class LinkUtils {
|
||||||
saveCheckedLinksCache();
|
saveCheckedLinksCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> findInvalidInternalAnchors(String body) {
|
public Set<String> findInvalidInternalAnchors(String body) {
|
||||||
List<String> invalidInternalAnchors = new LinkedList<>();
|
Set<String> invalidInternalAnchors = new HashSet<>();
|
||||||
Pattern p = Pattern.compile("<a href=\"([^ \"]*)[^>]*\">");
|
Pattern p = Pattern.compile("<a href=\"([^ \"]*)[^>]*\">");
|
||||||
Matcher m = p.matcher(body);
|
Matcher m = p.matcher(body);
|
||||||
while (m.find()) {
|
while (m.find()) {
|
||||||
|
@ -109,8 +109,8 @@ public class LinkUtils {
|
||||||
return invalidLinks;
|
return invalidLinks;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> findInvalidImages(String body, File guideDir, String guideUrl) {
|
public Set<String> findInvalidImages(String body, File guideDir, String guideUrl) {
|
||||||
List<String> missingImages = new LinkedList<>();
|
Set<String> missingImages = new HashSet<>();
|
||||||
Pattern p = Pattern.compile("<img src=\"([^ \"]*)[^>]*\"");
|
Pattern p = Pattern.compile("<img src=\"([^ \"]*)[^>]*\"");
|
||||||
Matcher m = p.matcher(body);
|
Matcher m = p.matcher(body);
|
||||||
while (m.find()) {
|
while (m.find()) {
|
||||||
|
|
|
@ -18,4 +18,5 @@ keycloak.access_token
|
||||||
keycloak.access_token['/sub']
|
keycloak.access_token['/sub']
|
||||||
keycloak.access_token['/preferred_username']
|
keycloak.access_token['/preferred_username']
|
||||||
keycloak.access_token['/custom_claim']
|
keycloak.access_token['/custom_claim']
|
||||||
resource_id
|
resource_id
|
||||||
|
$evaluation.grant()
|
Loading…
Reference in a new issue