Skip to content

Commit

Permalink
refactor: SAML sp metadata test
Browse files Browse the repository at this point in the history
- Replaced the code that was depending on the platform where the test was being executed.

[#186986697]

Co-authored-by: Danny Faught <danny.faught@broadcom.com>
  • Loading branch information
hsinn0 and swalchemist committed Mar 27, 2024
1 parent 88ecdd8 commit a21ccfb
Showing 1 changed file with 16 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
*******************************************************************************/
package org.cloudfoundry.identity.uaa.integration.feature;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
Expand All @@ -29,6 +27,7 @@
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.oauth2.client.test.TestAccounts;
import org.springframework.security.oauth2.common.util.RandomValueStringGenerator;
Expand Down Expand Up @@ -204,31 +203,28 @@ public void clearWebDriverOfCookies() {
}

@Test
public void testSamlSPMetadata() throws IOException {
String command = "curl -k http://localhost:8080/uaa/saml/metadata";
Process process = Runtime.getRuntime().exec(command);
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(process.getInputStream()));

StringBuilder samlSpMetadata = new StringBuilder();
String line;
while ((line = stdInput.readLine()) != null) {
samlSpMetadata.append(line);
}
public void testSamlSPMetadata() {
RestTemplate request = new RestTemplate();
ResponseEntity response = request.getForEntity(
baseUrl + "/saml/metadata", String.class);
assertEquals(HttpStatus.OK, response.getStatusCode());
String metadataXml = (String)response.getBody();

// The SAML SP metadata should match the following UAA configs:
// login.entityID
assertThat(samlSpMetadata.toString(), containsString("entityID=\"cloudfoundry-saml-login\""));
assertThat(metadataXml, containsString(
"entityID=\"cloudfoundry-saml-login\""));
// login.saml.signatureAlgorithm
assertThat(samlSpMetadata.toString(), containsString("<ds:DigestMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#sha256\"/>"));
assertThat(metadataXml, containsString(
"<ds:DigestMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#sha256\"/>"));
// login.saml.signRequest
assertThat(samlSpMetadata.toString(), containsString("AuthnRequestsSigned=\"true\""));
assertThat(metadataXml, containsString("AuthnRequestsSigned=\"true\""));
// login.saml.wantAssertionSigned
assertThat(samlSpMetadata.toString(), containsString("WantAssertionsSigned=\"true\""));
assertThat(metadataXml, containsString(
"WantAssertionsSigned=\"true\""));
// login.saml.nameID
assertThat(samlSpMetadata.toString(), containsString("<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>"));

process.destroy();
assertThat(metadataXml, containsString(
"<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>"));
}

@Test
Expand Down

0 comments on commit a21ccfb

Please sign in to comment.