diff options
| author | Thomas <> | 2022-02-08 17:16:42 +0100 | 
|---|---|---|
| committer | Thomas <> | 2022-02-08 17:16:42 +0100 | 
| commit | 71d94fdd4435187c13321322893cd9b1bf273402 (patch) | |
| tree | ec527ea16cc1b3d9c66f3d68232e36cf277ec7b7 /eidas_modules/authmodule-eIDAS-v2/src/test/java | |
| parent | 6936c9a9350ad5d83f6c84d649df63d5de1c188a (diff) | |
| download | National_eIDAS_Gateway-71d94fdd4435187c13321322893cd9b1bf273402.tar.gz National_eIDAS_Gateway-71d94fdd4435187c13321322893cd9b1bf273402.tar.bz2 National_eIDAS_Gateway-71d94fdd4435187c13321322893cd9b1bf273402.zip | |
chore(matching): update 'other-login-method' GUI steps to use it as common starting-point for any other alternative matching method
Diffstat (limited to 'eidas_modules/authmodule-eIDAS-v2/src/test/java')
| -rw-r--r-- | eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/GenerateOtherLoginMethodGuiTaskTest.java | 76 | 
1 files changed, 54 insertions, 22 deletions
| diff --git a/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/GenerateOtherLoginMethodGuiTaskTest.java b/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/GenerateOtherLoginMethodGuiTaskTest.java index f17f69c3..ff994061 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/GenerateOtherLoginMethodGuiTaskTest.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/GenerateOtherLoginMethodGuiTaskTest.java @@ -1,15 +1,13 @@  package at.asitplus.eidas.specific.modules.auth.eidas.v2.test.tasks; -import at.asitplus.eidas.specific.modules.auth.eidas.v2.Constants; -import at.asitplus.eidas.specific.modules.auth.eidas.v2.dao.SelectedLoginMethod; -import at.asitplus.eidas.specific.modules.auth.eidas.v2.tasks.GenerateOtherLoginMethodGuiTask; -import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException; -import at.gv.egiz.eaaf.core.impl.idp.module.test.TestRequestImpl; -import at.gv.egiz.eaaf.core.impl.idp.process.ExecutionContextImpl; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.json.JsonMapper; -import lombok.SneakyThrows; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.io.UnsupportedEncodingException; +import java.text.MessageFormat; +import java.util.Locale; +  import org.apache.commons.lang3.RandomStringUtils;  import org.junit.Assert;  import org.junit.Before; @@ -26,12 +24,17 @@ import org.springframework.test.context.web.WebAppConfiguration;  import org.springframework.web.context.request.RequestContextHolder;  import org.springframework.web.context.request.ServletRequestAttributes; -import java.io.UnsupportedEncodingException; -import java.text.MessageFormat; -import java.util.Locale; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.json.JsonMapper; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; +import at.asitplus.eidas.specific.modules.auth.eidas.v2.Constants; +import at.asitplus.eidas.specific.modules.auth.eidas.v2.dao.SelectedLoginMethod; +import at.asitplus.eidas.specific.modules.auth.eidas.v2.tasks.GenerateOtherLoginMethodGuiTask; +import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException; +import at.gv.egiz.eaaf.core.impl.idp.module.test.TestRequestImpl; +import at.gv.egiz.eaaf.core.impl.idp.process.ExecutionContextImpl; +import lombok.SneakyThrows;  @RunWith(SpringJUnit4ClassRunner.class)  @ContextConfiguration(locations = { @@ -82,8 +85,9 @@ public class GenerateOtherLoginMethodGuiTaskTest {    @Test    @SneakyThrows    public void jsonResponse() throws TaskExecutionException, UnsupportedEncodingException { - +    String reason = RandomStringUtils.randomAlphabetic(5);      executionContext.put(Constants.CONTEXT_FLAG_ADVANCED_MATCHING_FAILED, true); +    executionContext.put(Constants.CONTEXT_FLAG_ADVANCED_MATCHING_FAILED_REASON, reason);      httpReq.addHeader("Accept", "application/json");      task.execute(pendingReq, executionContext); @@ -98,20 +102,44 @@ public class GenerateOtherLoginMethodGuiTaskTest {      assertNotNull("response body is null", json);      assertNotNull("advancedMatchFailed", json.get(Constants.HTML_FORM_ADVANCED_MATCHING_FAILED));      assertTrue("advancedMatchFailed", json.get(Constants.HTML_FORM_ADVANCED_MATCHING_FAILED).asBoolean()); - +    assertNotNull("advancedMatchingFailedReason", json.get(Constants.HTML_FORM_ADVANCED_MATCHING_FAILED_REASON)); +    assertEquals("advancedMatchingFailedReason", reason,  +        json.get(Constants.HTML_FORM_ADVANCED_MATCHING_FAILED_REASON).asText()); +        }    @Test    public void advancedMatchingFailedMsg() throws TaskExecutionException, UnsupportedEncodingException { -      executionContext.put(Constants.CONTEXT_FLAG_ADVANCED_MATCHING_FAILED, true);      task.execute(pendingReq, executionContext); +         +    String html = doBasicValidation(); +    Assert.assertTrue("Missing eIDAS infos", +        html.contains(MessageFormat.format(TEST_PATTER_REQ_PARAM, SelectedLoginMethod.ADD_ME_AS_NEW))); +    Assert.assertTrue("missing errorfield", +        html.contains("<div id=\"matchingError\"")); +     +  } -    doBasicValidation(); +  @Test +  public void advancedMatchingFailedMsgWithDetails() throws TaskExecutionException, UnsupportedEncodingException { +    String reason = RandomStringUtils.randomAlphabetic(5); +    executionContext.put(Constants.CONTEXT_FLAG_ADVANCED_MATCHING_FAILED, true); +    executionContext.put(Constants.CONTEXT_FLAG_ADVANCED_MATCHING_FAILED_REASON, reason); +     +    task.execute(pendingReq, executionContext); +    String html = doBasicValidation(); +    Assert.assertTrue("Missing eIDAS infos", +        html.contains(MessageFormat.format(TEST_PATTER_REQ_PARAM, SelectedLoginMethod.ADD_ME_AS_NEW))); +    Assert.assertTrue("missing errorfield", +        html.contains("<div id=\"matchingError\"")); +    Assert.assertTrue("missing errorfield", +        html.contains(reason)); +        } - +      @Test    public void validHtmlResponseWithOutLocale() throws TaskExecutionException, UnsupportedEncodingException { @@ -153,7 +181,7 @@ public class GenerateOtherLoginMethodGuiTaskTest {    } -  private void doBasicValidation() throws UnsupportedEncodingException { +  private String doBasicValidation() throws UnsupportedEncodingException {      Assert.assertEquals("Wrong http StatusCode", 200, httpResp.getStatus());      Assert.assertEquals("Wrong http ContentType", "text/html;charset=UTF-8", httpResp.getContentType()); @@ -165,11 +193,15 @@ public class GenerateOtherLoginMethodGuiTaskTest {          html.contains(MessageFormat.format(TEST_PATTER_REQ_PARAM, SelectedLoginMethod.MOBILE_PHONE_SIGNATURE_LOGIN)));      Assert.assertTrue("Missing residence infos",          html.contains(MessageFormat.format(TEST_PATTER_REQ_PARAM, SelectedLoginMethod.NO_OTHER_LOGIN))); - +    Assert.assertTrue("Missing eIDAS infos", +        html.contains(MessageFormat.format(TEST_PATTER_REQ_PARAM, SelectedLoginMethod.EIDAS_LOGIN))); +              Assert.assertTrue("No language selector with pendingRequestId",          html.contains("/otherLoginMethod?pendingid=" + pendingReq.getPendingRequestId()));      Assert.assertTrue("No country-selection form",          html.contains("<form method=\"post\" action=\"/otherLoginMethod\">")); +     +    return html;    }  } | 
