aboutsummaryrefslogtreecommitdiff
path: root/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth
diff options
context:
space:
mode:
authorThomas <>2022-10-11 14:09:07 +0200
committerThomas <>2022-10-11 14:09:07 +0200
commit1edc816481ac7ee2cbdecbd64f44f367d25fc3bd (patch)
tree8ac310c17a3d885bc2567c54dc653b44b9eb3b5d /modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth
parent8a3bdc447d4f95daae9e742c3b7920af243f678c (diff)
downloadNational_eIDAS_Gateway-1edc816481ac7ee2cbdecbd64f44f367d25fc3bd.tar.gz
National_eIDAS_Gateway-1edc816481ac7ee2cbdecbd64f44f367d25fc3bd.tar.bz2
National_eIDAS_Gateway-1edc816481ac7ee2cbdecbd64f44f367d25fc3bd.zip
feat(matching): clearing in case of ZMR and ERnP result contains the same person
In case of KITT between ERnP and ZMR entries it's possible to get the same entity in both results. Remove ERnP result if ZMR results contains a person with same bPK.
Diffstat (limited to 'modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth')
-rw-r--r--modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskTest.java28
1 files changed, 25 insertions, 3 deletions
diff --git a/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskTest.java b/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskTest.java
index eef31a02..c9b7b1ac 100644
--- a/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskTest.java
+++ b/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/tasks/InitialSearchTaskTest.java
@@ -97,6 +97,7 @@ import eu.eidas.auth.commons.attribute.ImmutableAttributeMap;
import eu.eidas.auth.commons.attribute.PersonType;
import eu.eidas.auth.commons.light.impl.LightRequest;
import eu.eidas.auth.commons.protocol.impl.AuthenticationResponse;
+import lombok.SneakyThrows;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
@@ -339,7 +340,7 @@ public class InitialSearchTaskTest {
Mockito.when(zmrClient.searchWithPersonIdentifier(null, randomPseudonym, DE))
.thenReturn(zmrRegisterResult(randomRegisterResult()));
Mockito.when(ernpClient.searchWithPersonIdentifier(randomPseudonym, DE))
- .thenReturn(ernpRegisterResult(randomRegisterResult()));
+ .thenReturn(ernpRegisterResult(randomRegisterResult(RandomStringUtils.randomAlphanumeric(10))));
// execute task
TaskExecutionException exception = assertThrows(TaskExecutionException.class,
@@ -353,6 +354,27 @@ public class InitialSearchTaskTest {
}
/**
+ * Find to matches by PersonalId but they are the same person.
+ */
+ @Test
+ @DirtiesContext
+ @SneakyThrows
+ public void samePersonFromZmrAndErnp() {
+ RegisterResult registerResult = randomRegisterResult();
+ Mockito.when(zmrClient.searchWithPersonIdentifier(null, randomPseudonym, DE))
+ .thenReturn(zmrRegisterResult(registerResult));
+ Mockito.when(ernpClient.searchWithPersonIdentifier(randomPseudonym, DE))
+ .thenReturn(ernpRegisterResult(registerResult));
+
+ // execute test
+ task.execute(pendingReq, executionContext);
+
+ // validate state
+ checkMatchingSuccessState(pendingReq, randomBpk, randomFamilyName, randomGivenName, randomBirthDate, DE);
+
+ }
+
+ /**
* One match by PersonalId, no register update needed
*/
@Test
@@ -545,7 +567,7 @@ public class InitialSearchTaskTest {
Mockito.when(ernpClient.searchWithPersonIdentifier(randomPseudonym, DE))
.thenReturn(emptyErnpRegisterResult());
Mockito.when(ernpClient.searchCountrySpecific(any(), eq(DE)))
- .thenReturn(ernpRegisterResult(randomRegisterResult()));
+ .thenReturn(ernpRegisterResult(randomRegisterResult(RandomStringUtils.randomAlphanumeric(10))));
Mockito.when(ernpClient.update(any(), any()))
.thenThrow(new IllegalStateException("ERnP update should not be neccessary"));
@@ -722,7 +744,7 @@ public class InitialSearchTaskTest {
Mockito.when(ernpClient.searchWithPersonIdentifier(randomPseudonym, DE)).thenReturn(
emptyErnpRegisterResult());
Mockito.when(ernpClient.searchWithMds(randomGivenName, randomFamilyName, randomBirthDate, DE))
- .thenReturn(ernpRegisterResult(randomRegisterResult()));
+ .thenReturn(ernpRegisterResult(randomRegisterResult(RandomStringUtils.randomAlphanumeric(10))));
Mockito.when(ernpClient.update(any(), any()))
.thenThrow(new IllegalStateException("ERnP update should not be neccessary"));