Explorar o código

Polish SAML2 tests

Marcus Da Coregio %!s(int64=2) %!d(string=hai) anos
pai
achega
9f6b38bf33

+ 17 - 1
servlet/java-configuration/saml2/login/src/integTest/java/example/Saml2JavaConfigurationITests.java

@@ -16,6 +16,9 @@
 
 package example;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import com.gargoylesoftware.htmlunit.ElementNotFoundException;
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
@@ -78,7 +81,20 @@ public class Saml2JavaConfigurationITests {
 		HtmlPage home = (HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage();
 		HtmlElement rpLogoutButton = home.getHtmlElementById("rp_logout_button");
 		HtmlPage loginPage = rpLogoutButton.click();
-		assertThat(loginPage.getUrl().getFile()).isEqualTo("/login?logout");
+		this.webClient.waitForBackgroundJavaScript(10000);
+		List<String> urls = new ArrayList<>();
+		urls.add(loginPage.getUrl().getFile());
+		urls.add(((HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage()).getUrl().getFile());
+		assertThat(urls).withFailMessage(() -> {
+			// @formatter:off
+			String builder = loginPage.asXml()
+					+ "\n\n\n"
+					+ "Enclosing Page"
+					+ "\n\n\n"
+					+ ((HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage()).asXml();
+			// @formatter:on
+			return builder;
+		}).contains("/login?logout");
 	}
 
 	private void performLogin() throws Exception {

+ 17 - 1
servlet/spring-boot/java/saml2/login-single-tenant/src/integTest/java/example/Saml2LoginApplicationITests.java

@@ -16,6 +16,9 @@
 
 package example;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import com.gargoylesoftware.htmlunit.ElementNotFoundException;
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
@@ -62,7 +65,20 @@ public class Saml2LoginApplicationITests {
 		HtmlPage home = (HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage();
 		HtmlElement rpLogoutButton = home.getHtmlElementById("rp_logout_button");
 		HtmlPage loginPage = rpLogoutButton.click();
-		assertThat(loginPage.getUrl().getFile()).isEqualTo("/login?logout");
+		this.webClient.waitForBackgroundJavaScript(10000);
+		List<String> urls = new ArrayList<>();
+		urls.add(loginPage.getUrl().getFile());
+		urls.add(((HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage()).getUrl().getFile());
+		assertThat(urls).withFailMessage(() -> {
+			// @formatter:off
+			String builder = loginPage.asXml()
+					+ "\n\n\n"
+					+ "Enclosing Page"
+					+ "\n\n\n"
+					+ ((HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage()).asXml();
+			// @formatter:on
+			return builder;
+		}).contains("/login?logout");
 	}
 
 	private void performLogin() throws Exception {

+ 17 - 1
servlet/spring-boot/java/saml2/login/src/integTest/java/example/Saml2LoginApplicationITests.java

@@ -16,6 +16,9 @@
 
 package example;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import com.gargoylesoftware.htmlunit.ElementNotFoundException;
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
@@ -62,7 +65,20 @@ public class Saml2LoginApplicationITests {
 		HtmlPage home = (HtmlPage) Saml2LoginApplicationITests.this.webClient.getCurrentWindow().getEnclosedPage();
 		HtmlElement rpLogoutButton = home.getHtmlElementById("rp_logout_button");
 		HtmlPage loginPage = rpLogoutButton.click();
-		assertThat(loginPage.getUrl().getFile()).isEqualTo("/login?logout");
+		this.webClient.waitForBackgroundJavaScript(10000);
+		List<String> urls = new ArrayList<>();
+		urls.add(loginPage.getUrl().getFile());
+		urls.add(((HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage()).getUrl().getFile());
+		assertThat(urls).withFailMessage(() -> {
+			// @formatter:off
+			String builder = loginPage.asXml()
+					+ "\n\n\n"
+					+ "Enclosing Page"
+					+ "\n\n\n"
+					+ ((HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage()).asXml();
+			// @formatter:on
+			return builder;
+		}).contains("/login?logout");
 	}
 
 	private void performLogin() throws Exception {

+ 17 - 1
servlet/xml/java/saml2/login-logout/src/integTest/java/example/Saml2XmlITests.java

@@ -16,6 +16,9 @@
 
 package example;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import com.gargoylesoftware.htmlunit.ElementNotFoundException;
 import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
@@ -79,7 +82,20 @@ public class Saml2XmlITests {
 		HtmlPage home = (HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage();
 		HtmlElement rpLogoutButton = home.getHtmlElementById("rp_logout_button");
 		HtmlPage loginPage = rpLogoutButton.click();
-		assertThat(loginPage.getUrl().getFile()).isEqualTo("/login?logout");
+		this.webClient.waitForBackgroundJavaScript(10000);
+		List<String> urls = new ArrayList<>();
+		urls.add(loginPage.getUrl().getFile());
+		urls.add(((HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage()).getUrl().getFile());
+		assertThat(urls).withFailMessage(() -> {
+			// @formatter:off
+			String builder = loginPage.asXml()
+					+ "\n\n\n"
+					+ "Enclosing Page"
+					+ "\n\n\n"
+					+ ((HtmlPage) this.webClient.getCurrentWindow().getEnclosedPage()).asXml();
+			// @formatter:on
+			return builder;
+		}).contains("/login?logout");
 	}
 
 	private void performLogin() throws Exception {