From 111dd0f0a90a31488d1d9820cb877aeddade4bf7 Mon Sep 17 00:00:00 2001
From: Christian Kollmann <christian.kollmann@a-sit.at>
Date: Tue, 12 Jan 2021 15:13:47 +0100
Subject: Use random values in tests

---
 .../v2/test/tasks/InitialSearchTaskFirstTest.java  | 111 +++++++++------------
 1 file changed, 47 insertions(+), 64 deletions(-)

(limited to 'eidas_modules/authmodule-eIDAS-v2/src')

diff --git a/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskFirstTest.java b/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskFirstTest.java
index 1f512354..c18dabb9 100644
--- a/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskFirstTest.java
+++ b/eidas_modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskFirstTest.java
@@ -87,10 +87,10 @@ public class InitialSearchTaskFirstTest {
   final ExecutionContext executionContext = new ExecutionContextImpl();
   private TestRequestImpl pendingReq;
   private final String randomIdentifier = RandomStringUtils.randomNumeric(10);
-  private final String randomFamilyName = RandomStringUtils.randomNumeric(11);
-  private final String randomGivenName = RandomStringUtils.randomNumeric(12);
-  private final String randomPlaceOfBirth = RandomStringUtils.randomNumeric(12);
-  private final String randomBirthName = RandomStringUtils.randomNumeric(12);
+  private final String randomFamilyName = RandomStringUtils.randomAlphabetic(10);
+  private final String randomGivenName = RandomStringUtils.randomAlphabetic(10);
+  private final String randomPlaceOfBirth = RandomStringUtils.randomAlphabetic(10);
+  private final String randomBirthName = RandomStringUtils.randomAlphabetic(10);
   private final String randomDate = "2011-01-"+ (10 + new Random().nextInt(18));
   private final String DE_ST = "de/st/";
   private final String IT_ST = "it/st/";
@@ -154,7 +154,8 @@ public class InitialSearchTaskFirstTest {
     Mockito.when(zmrClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
     ArrayList<RegisterResult> ernpResult = new ArrayList<>();
     String randomBpk = RandomStringUtils.randomNumeric(6);
-    ernpResult.add(new RegisterResult(randomBpk, DE_ST+randomIdentifier, "Max_new", randomFamilyName, randomDate));
+    String newRandomGivenName = RandomStringUtils.randomAlphabetic(10);
+    ernpResult.add(new RegisterResult(randomBpk, DE_ST+randomIdentifier, newRandomGivenName, randomFamilyName, randomDate));
     Mockito.when(ernpClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(ernpResult);
 
     task.execute(pendingReq, executionContext);
@@ -172,7 +173,8 @@ public class InitialSearchTaskFirstTest {
   public void testNode101_ManualFixNecessary_a() {
     ArrayList<RegisterResult> zmrResult = new ArrayList<>();
     zmrResult.add(new RegisterResult("bpkMax", DE_ST+randomIdentifier, randomGivenName, randomFamilyName, randomDate));
-    zmrResult.add(new RegisterResult("bpkMax", DE_ST+randomIdentifier, "Maximilian", randomFamilyName, randomDate));
+    String newRandomGivenName = randomGivenName + RandomStringUtils.randomAlphabetic(2);
+    zmrResult.add(new RegisterResult("bpkMax", DE_ST+randomIdentifier, newRandomGivenName, randomFamilyName, randomDate));
     Mockito.when(zmrClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(zmrResult);
     Mockito.when(ernpClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
 
@@ -189,13 +191,12 @@ public class InitialSearchTaskFirstTest {
   @Test
   @DirtiesContext
   public void testNode101_ManualFixNecessary_b() {
-    String randombpk = RandomStringUtils.random(5);
+    String randombpk = RandomStringUtils.randomNumeric(5);
     Mockito.when(zmrClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
     ArrayList<RegisterResult> ernpResult = new ArrayList<>();
     ernpResult.add(new RegisterResult(randombpk, DE_ST+randomIdentifier, randomGivenName, randomFamilyName, randomDate));
-    ernpResult.add(new RegisterResult(randombpk, DE_ST+randomIdentifier, randomGivenName+RandomStringUtils.random(2),
-        randomFamilyName,
-        randomDate));
+    String newRandomGivenName = randomGivenName + RandomStringUtils.randomAlphabetic(2);
+    ernpResult.add(new RegisterResult(randombpk, DE_ST+randomIdentifier, newRandomGivenName, randomFamilyName, randomDate));
     Mockito.when(ernpClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(ernpResult);
 
     TaskExecutionException exception = assertThrows(TaskExecutionException.class,
@@ -258,10 +259,9 @@ public class InitialSearchTaskFirstTest {
     Mockito.when(zmrClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
     ArrayList<RegisterResult> zmrResultSpecific = new ArrayList<>();
 
-    zmrResultSpecific.add(new RegisterResult(bpkRegister, IT_ST+randomIdentifier+RandomStringUtils.random(2),
-        randomGivenName,
-        randomFamilyName,
-        randomDate, null, null, taxNumber, null));
+    String newRandomPseudonym = IT_ST + randomIdentifier + RandomStringUtils.randomNumeric(2);
+    zmrResultSpecific.add(new RegisterResult(bpkRegister, newRandomPseudonym, randomGivenName, randomFamilyName,
+            randomDate, null, null, taxNumber, null));
 
     Mockito.when(zmrClient.searchItSpecific(taxNumber)).thenReturn(zmrResultSpecific);
 
@@ -285,15 +285,10 @@ public class InitialSearchTaskFirstTest {
   @Test
   @DirtiesContext
   public void testNode103_UserIdentified_DE() throws Exception {
-    String givenName = randomGivenName;
-    String familyName = randomFamilyName;
-    String pseudonym = DE_ST + RandomStringUtils.random(5);
-    String bpk = RandomStringUtils.random(5);
-    String dateOfBirth = randomDate;
-    String placeOfBirth = randomPlaceOfBirth;
-    String birthName = randomBirthName;
-    final AuthenticationResponse response = buildDummyAuthResponseDE(givenName, familyName, pseudonym,
-        dateOfBirth, placeOfBirth, birthName);
+    String randomPseudonym = DE_ST + RandomStringUtils.randomNumeric(5);
+    String randomBpk = RandomStringUtils.randomNumeric(5);
+    final AuthenticationResponse response = buildDummyAuthResponseDE(randomGivenName, randomFamilyName, randomPseudonym,
+            randomDate, randomPlaceOfBirth, randomBirthName);
     TestRequestImpl pendingReq1 = new TestRequestImpl();
     pendingReq1.getSessionData(AuthProcessDataWrapper.class)
         .setGenericDataToSession(Constants.DATA_FULL_EIDAS_RESPONSE, response);
@@ -301,11 +296,11 @@ public class InitialSearchTaskFirstTest {
     Mockito.when(zmrClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
     ArrayList<RegisterResult> zmrResultSpecific = new ArrayList<>();
 
-    zmrResultSpecific.add(new RegisterResult(bpk, pseudonym, givenName, familyName, dateOfBirth, placeOfBirth,
-        birthName,
-        null, null));
+    zmrResultSpecific.add(new RegisterResult(randomBpk, randomPseudonym, randomGivenName, randomFamilyName, randomDate,
+            randomPlaceOfBirth, randomBirthName,null, null));
 
-    Mockito.when(zmrClient.searchDeSpecific(givenName, familyName, dateOfBirth, placeOfBirth, birthName)).thenReturn(zmrResultSpecific);
+    Mockito.when(zmrClient.searchDeSpecific(randomGivenName, randomFamilyName, randomDate, randomPlaceOfBirth,
+            randomBirthName)).thenReturn(zmrResultSpecific);
 
     Mockito.when(ernpClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
 
@@ -316,9 +311,9 @@ public class InitialSearchTaskFirstTest {
 
     task.execute(pendingReq1, executionContext);
 
-    String bPk = (String)
+    String resultBpk = (String)
         pendingReq1.getSessionData(AuthProcessDataWrapper.class).getGenericDataFromSession(Constants.DATA_RESULT_MATCHING_BPK);
-    Assert.assertEquals("Wrong bpk", bPk, bpk);
+    Assert.assertEquals("Wrong bpk", resultBpk, randomBpk);
   }
 
   /**
@@ -327,17 +322,12 @@ public class InitialSearchTaskFirstTest {
   @Test
   @DirtiesContext
   public void testNode104_ManualFixNecessary_DE() throws Exception {
-    String givenName = randomGivenName;
-    String familyName = randomFamilyName;
-    String pseudonym1 = DE_ST + RandomStringUtils.random(5);
-    String pseudonym2 = pseudonym1 + RandomStringUtils.random(2);
-    String bpk1 = RandomStringUtils.random(5);
-    String bpk2 = bpk1 + RandomStringUtils.random(2);
-    String dateOfBirth = randomDate;
-    String placeOfBirth = randomPlaceOfBirth;
-    String birthName = randomBirthName;
-    final AuthenticationResponse response = buildDummyAuthResponseDE(givenName, familyName, pseudonym1,
-        dateOfBirth, placeOfBirth, birthName);
+    String pseudonym1 = DE_ST + RandomStringUtils.randomNumeric(5);
+    String pseudonym2 = pseudonym1 + RandomStringUtils.randomNumeric(2);
+    String bpk1 = RandomStringUtils.randomNumeric(5);
+    String bpk2 = bpk1 + RandomStringUtils.randomNumeric(2);
+    final AuthenticationResponse response = buildDummyAuthResponseDE(randomGivenName, randomFamilyName, pseudonym1,
+            randomDate, randomPlaceOfBirth, randomBirthName);
     TestRequestImpl pendingReq1 = new TestRequestImpl();
     pendingReq1.getSessionData(AuthProcessDataWrapper.class)
         .setGenericDataToSession(Constants.DATA_FULL_EIDAS_RESPONSE, response);
@@ -345,13 +335,12 @@ public class InitialSearchTaskFirstTest {
     Mockito.when(zmrClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
     ArrayList<RegisterResult> zmrResultSpecific = new ArrayList<>();
 
-    zmrResultSpecific.add(new RegisterResult(bpk1, pseudonym1, givenName, familyName, dateOfBirth, placeOfBirth,
-        birthName,
-        null, null));
-    zmrResultSpecific.add(new RegisterResult(bpk2, pseudonym2, givenName, familyName, dateOfBirth, placeOfBirth,
-        birthName,
-        null, null));
-    Mockito.when(zmrClient.searchDeSpecific(givenName, familyName, dateOfBirth, placeOfBirth, birthName)).thenReturn(zmrResultSpecific);
+    zmrResultSpecific.add(new RegisterResult(bpk1, pseudonym1, randomGivenName, randomFamilyName, randomDate,
+            randomPlaceOfBirth, randomBirthName,null, null));
+    zmrResultSpecific.add(new RegisterResult(bpk2, pseudonym2, randomGivenName, randomFamilyName, randomDate,
+            randomPlaceOfBirth, randomBirthName,null, null));
+    Mockito.when(zmrClient.searchDeSpecific(randomGivenName, randomFamilyName, randomDate, randomPlaceOfBirth,
+            randomBirthName)).thenReturn(zmrResultSpecific);
 
     Mockito.when(ernpClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
 
@@ -360,13 +349,10 @@ public class InitialSearchTaskFirstTest {
     handlers.add(de);
     task = new InitialSearchTask(handlers, ernpClient, zmrClient);
 
-    try {
-      task.execute(pendingReq1, executionContext);
-      Assert.fail("Wrong workflow, should not reach this point/ get a bpk");
-    } catch (final TaskExecutionException e) {
-      Throwable origE = e.getOriginalException();
-      Assert.assertTrue("Wrong exception", (origE.getCause() instanceof ManualFixNecessaryException));
-    }
+    TaskExecutionException exception = assertThrows(TaskExecutionException.class,
+            () -> task.execute(pendingReq1, executionContext));
+    Throwable origE = exception.getOriginalException();
+    Assert.assertTrue("Wrong exception", (origE.getCause() instanceof ManualFixNecessaryException));
   }
 
   /**
@@ -384,12 +370,10 @@ public class InitialSearchTaskFirstTest {
     Mockito.when(zmrClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
     ArrayList<RegisterResult> zmrResultSpecific = new ArrayList<>();
 
-    zmrResultSpecific.add(new RegisterResult("bpkMax", IT_ST+randomIdentifier+"4", randomGivenName, randomFamilyName,
-        randomDate, null, null,
-        fakeTaxNumber, null));
-    zmrResultSpecific.add(new RegisterResult("bpkMax1", IT_ST+randomIdentifier+"5", randomGivenName, randomFamilyName,
-        randomDate, null, null,
-        fakeTaxNumber, null));
+    zmrResultSpecific.add(new RegisterResult("bpkMax", IT_ST+randomIdentifier+"4", randomGivenName,
+            randomFamilyName, randomDate, null, null, fakeTaxNumber, null));
+    zmrResultSpecific.add(new RegisterResult("bpkMax1", IT_ST+randomIdentifier+"5", randomGivenName,
+            randomFamilyName, randomDate, null, null, fakeTaxNumber, null));
     Mockito.when(zmrClient.searchItSpecific(fakeTaxNumber)).thenReturn(zmrResultSpecific);
 
     Mockito.when(ernpClient.searchWithPersonIdentifier(randomIdentifier)).thenReturn(Collections.emptyList());
@@ -424,13 +408,12 @@ public class InitialSearchTaskFirstTest {
 
   @NotNull
   private AuthenticationResponse buildDummyAuthResponseRandomPerson() throws URISyntaxException {
-    return buildDummyAuthResponse(randomGivenName, randomFamilyName,
-        DE_ST+randomIdentifier, randomDate);
+    return buildDummyAuthResponse(randomGivenName, randomFamilyName, DE_ST+randomIdentifier, randomDate);
   }
 
   private AuthenticationResponse buildDummyAuthResponseRandomPersonIT_Tax(String taxNumber) throws URISyntaxException {
-    return buildDummyAuthResponse(randomGivenName, randomFamilyName,
-        IT_ST+randomIdentifier, randomDate, taxNumber, null, null);
+    return buildDummyAuthResponse(randomGivenName, randomFamilyName, IT_ST+randomIdentifier, randomDate,
+            taxNumber, null, null);
   }
 
   @NotNull
-- 
cgit v1.2.3