diff options
| author | Thomas <> | 2022-04-06 14:44:01 +0200 | 
|---|---|---|
| committer | Thomas <> | 2022-04-06 14:44:01 +0200 | 
| commit | 21de9b34ee9f8e57ea4102f52b733d64951898fb (patch) | |
| tree | c2a65b9054488335a0e1926f06701f4e9234c0a1 /connector/src/test/java | |
| parent | 9d1e1294c2825c6f9a422c9f9c51f9965258d19e (diff) | |
| download | National_eIDAS_Gateway-21de9b34ee9f8e57ea4102f52b733d64951898fb.tar.gz National_eIDAS_Gateway-21de9b34ee9f8e57ea4102f52b733d64951898fb.tar.bz2 National_eIDAS_Gateway-21de9b34ee9f8e57ea4102f52b733d64951898fb.zip | |
test(gui): add BM.I version of country-selection template to test there custom extensions
Diffstat (limited to 'connector/src/test/java')
| -rw-r--r-- | connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/GenerateCountrySelectionFrameBmiTemplateTest.java | 110 | 
1 files changed, 110 insertions, 0 deletions
| diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/GenerateCountrySelectionFrameBmiTemplateTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/GenerateCountrySelectionFrameBmiTemplateTest.java new file mode 100644 index 00000000..491dfa81 --- /dev/null +++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/GenerateCountrySelectionFrameBmiTemplateTest.java @@ -0,0 +1,110 @@ +package at.asitplus.eidas.specific.connector.test.task; + +import java.io.UnsupportedEncodingException; +import java.util.Locale; + +import org.apache.commons.lang3.RandomStringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.i18n.LocaleContextHolder; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import at.asitplus.eidas.specific.connector.processes.tasks.GenerateCountrySelectionFrameTask; +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; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration({ +    "/applicationContext.xml", +    "/spring/SpringTest_connector.beans.xml", +    "/eaaf_core.beans.xml", +    "/eaaf_pvp.beans.xml", +    "/eaaf_pvp_idp.beans.xml", +    "/spring/SpringTest-context_simple_storage.xml" }) +@ActiveProfiles(profiles = {"deprecatedConfig"}) +@WebAppConfiguration +public class GenerateCountrySelectionFrameBmiTemplateTest { + +  @Autowired private GenerateCountrySelectionFrameTask task; +   +  private ExecutionContextImpl executionContext = new ExecutionContextImpl(); +  private TestRequestImpl pendingReq; +  private MockHttpServletRequest httpReq; +  private MockHttpServletResponse httpResp; +   +  /** +   * jUnit class initializer. +   *  +   */ +  @BeforeClass +  public static void classInitializer() { +    final String current = new java.io.File(".").toURI().toString(); +    System.setProperty("eidas.ms.configuration", current + "src/test/resources/config/junit_config_1_bmi.properties");     +    Locale.setDefault(Locale.ENGLISH); +     +  } +   +  /** +   * jUnit test set-up. +   *  +   */ +  @Before +  public void initialize() { +    httpReq = new MockHttpServletRequest("POST", "https://localhost/ms_connector"); +    httpResp = new MockHttpServletResponse(); +    RequestContextHolder.resetRequestAttributes(); +    RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(httpReq, httpResp)); +     +    pendingReq = new TestRequestImpl(); +    pendingReq.setAuthUrl("https://localhost/ms_connector"); +    pendingReq.setPendingReqId(RandomStringUtils.randomAlphanumeric(10)); +     +    Locale.setDefault(Locale.ENGLISH); +    LocaleContextHolder.resetLocaleContext(); +    LocaleContextHolder.setDefaultLocale(Locale.ENGLISH); +     +  } +   +  @Test +  public void validHtmlResponseWithDE() throws TaskExecutionException, UnsupportedEncodingException {     +    LocaleContextHolder.setLocale(Locale.GERMAN); +    httpReq.addHeader("Accept-Language", "de"); +     +    task.execute(pendingReq, executionContext); +     +    //result validation +    String html = doBasicValidation(); +     +    Assert.assertTrue("No english text",  +        html.contains("Information zur Anmeldung über Europäische eIDs")); +     +  } +     +  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()); +     +    String html = httpResp.getContentAsString(); +    Assert.assertNotNull("html result is null", html); +    Assert.assertFalse("html result is empty", html.isEmpty());     +    Assert.assertTrue("No language selector with pendingRequestId",  +        html.contains("/myHomeCountry?pendingid=" + pendingReq.getPendingRequestId())); +    Assert.assertTrue("No country-selection form",  +        html.contains("<form class=\"block\" method=\"post\" action=\"/myHomeCountry\">")); +         +    return html; +     +  } +} | 
