diff --git a/FrejaEidClient/pom.xml b/FrejaEidClient/pom.xml
index 11a7103..5f820e2 100644
--- a/FrejaEidClient/pom.xml
+++ b/FrejaEidClient/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.verisec.frejaeid
FrejaEidClient
- 2.31.0-SNAPSHOT
+ 2.32.0-SNAPSHOT
jar
FrejaEidClient
diff --git a/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/general/DocumentInfoWithPdf.java b/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/general/DocumentInfoWithPdf.java
index 9269973..210a678 100644
--- a/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/general/DocumentInfoWithPdf.java
+++ b/FrejaEidClient/src/main/java/com/verisec/frejaeid/client/beans/general/DocumentInfoWithPdf.java
@@ -7,49 +7,109 @@
import java.util.Objects;
-public class DocumentInfoWithPdf extends DocumentInfo {
- /**
- * PDF file as a Base64-encoded String
- */
+public class DocumentInfoWithPdf {
+ private final SsnUserInfo ssn;
+ private final BasicUserInfo basicUserInfo;
+ private final String dateOfBirth;
+ private final String gender;
+ private final DocumentType type;
+ private final Country country;
+ private final String serialNumber;
+ private final String expirationDate;
private final String pdf;
+ private final String documentPhoto;
+ private final String nfcIdPhoto;
@JsonCreator
- public DocumentInfoWithPdf(@JsonProperty("type") DocumentType type,
- @JsonProperty("serialNumber") String serialNumber,
- @JsonProperty("country") Country country,
- @JsonProperty("expirationDate") String expirationDate,
- @JsonProperty("pdf") String pdf) {
- super(type, serialNumber, country, expirationDate);
+ public DocumentInfoWithPdf(
+ @JsonProperty("ssn") SsnUserInfo ssn,
+ @JsonProperty("basicUserInfo") BasicUserInfo basicUserInfo,
+ @JsonProperty("dateOfBirth") String dateOfBirth,
+ @JsonProperty("gender") String gender,
+ @JsonProperty("type") DocumentType type,
+ @JsonProperty("serialNumber") String serialNumber,
+ @JsonProperty("country") Country country,
+ @JsonProperty("expirationDate") String expirationDate,
+ @JsonProperty("pdf") String pdf,
+ @JsonProperty("documentPhoto") String documentPhoto,
+ @JsonProperty("nfcIdPhoto") String nfcIdPhoto) {
+ this.ssn = ssn;
+ this.basicUserInfo = basicUserInfo;
+ this.dateOfBirth = dateOfBirth;
+ this.gender = gender;
+ this.type = type;
+ this.serialNumber = serialNumber;
+ this.country = country;
+ this.expirationDate = expirationDate;
this.pdf = pdf;
+ this.documentPhoto = documentPhoto;
+ this.nfcIdPhoto = nfcIdPhoto;
+ }
+
+ public SsnUserInfo getSsn() {
+ return ssn;
+ }
+
+ public BasicUserInfo getBasicUserInfo() {
+ return basicUserInfo;
+ }
+
+ public String getDateOfBirth() {
+ return dateOfBirth;
+ }
+
+ public String getGender() {
+ return gender;
+ }
+
+ public DocumentType getType() {
+ return type;
+ }
+
+ public Country getCountry() {
+ return country;
+ }
+
+ public String getSerialNumber() {
+ return serialNumber;
+ }
+
+ public String getExpirationDate() {
+ return expirationDate;
}
public String getPdf() {
return pdf;
}
+ public String getDocumentPhoto() {
+ return documentPhoto;
+ }
+
+ public String getNfcIdPhoto() {
+ return nfcIdPhoto;
+ }
+
@Override
public boolean equals(Object o) {
- if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- if (!super.equals(o)) return false;
DocumentInfoWithPdf that = (DocumentInfoWithPdf) o;
- return Objects.equals(pdf, that.pdf);
+ return Objects.equals(ssn, that.ssn) &&
+ Objects.equals(basicUserInfo, that.basicUserInfo) &&
+ Objects.equals(dateOfBirth, that.dateOfBirth) &&
+ Objects.equals(gender, that.gender) &&
+ type == that.type &&
+ country == that.country &&
+ Objects.equals(serialNumber, that.serialNumber) &&
+ Objects.equals(expirationDate, that.expirationDate) &&
+ Objects.equals(pdf, that.pdf) &&
+ Objects.equals(documentPhoto, that.documentPhoto) &&
+ Objects.equals(nfcIdPhoto, that.nfcIdPhoto);
}
@Override
public int hashCode() {
- return Objects.hash(super.hashCode(), pdf);
- }
-
- @Override
- public String toString() {
- return "DocumentInfo{" +
- "documentType=" + super.getType() +
- ", serialNumber='" + super.getSerialNumber() + '\'' +
- ", country=" + super.getCountry() +
- ", expirationDate='" + super.getExpirationDate() + '\'' +
- ", pdf=" + pdf +
- '}';
+ return Objects.hash(ssn, basicUserInfo, dateOfBirth, gender,
+ type, country, serialNumber, expirationDate, pdf, documentPhoto, nfcIdPhoto);
}
-
}
diff --git a/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/client/impl/AuthenticationClientGetResultTest.java b/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/client/impl/AuthenticationClientGetResultTest.java
index 1af236b..921ec22 100644
--- a/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/client/impl/AuthenticationClientGetResultTest.java
+++ b/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/client/impl/AuthenticationClientGetResultTest.java
@@ -63,10 +63,6 @@ public class AuthenticationClientGetResultTest {
private static final String PHOTO = "https://image-hashId/test";
private static final DocumentInfo DOCUMENT_INFO =
new DocumentInfo(DocumentType.PASSPORT, "123456789", Country.SWEDEN, "2050-01-01");
- private static final DocumentInfoWithPdf DOCUMENT_WITH_PDF =
- new DocumentInfoWithPdf(DocumentType.PASSPORT, "123456789", Country.SWEDEN, "2050-01-01", "Base64Pdf");
- private static final DocumentInfoWithPdf CHILDREN_DOCUMENT_WITH_PDF =
- new DocumentInfoWithPdf(DocumentType.PASSPORT, "987654321", Country.SWEDEN, "20240-01-01", "Base64Pdf");
private static final String DOCUMENT_PHOTO = "Base64EncodedDocPhoto";
private static final CovidCertificates COVID_CERTIFICATES =
new CovidCertificates(new Vaccines("covidCertificate"), null, null, true);
@@ -76,6 +72,13 @@ public class AuthenticationClientGetResultTest {
private AuthenticationClientApi authenticationClient;
private static final String GENDER = "MALE";
private static final String NFC_ID_PHOTO = "Base64EncodedNfcIdPhoto";
+ private static final String PDF = "Base64Pdf";
+ private static final DocumentInfoWithPdf DOCUMENT_WITH_PDF =
+ new DocumentInfoWithPdf(SSN, BASIC_USER_INFO, DATE_OF_BIRTH, GENDER, DocumentType.PASSPORT, "123456789",
+ Country.SWEDEN, "2050-01-01", PDF, DOCUMENT_PHOTO, NFC_ID_PHOTO);
+ private static final DocumentInfoWithPdf CHILDREN_DOCUMENT_WITH_PDF =
+ new DocumentInfoWithPdf(SSN, BASIC_USER_INFO, DATE_OF_BIRTH, GENDER, DocumentType.PASSPORT, "987654321",
+ Country.SWEDEN, "2024-01-01", PDF, DOCUMENT_PHOTO, NFC_ID_PHOTO);
@BeforeClass
public static void initTestData() {
diff --git a/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/client/impl/SignClientGetResultTest.java b/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/client/impl/SignClientGetResultTest.java
index aebba84..2b5b382 100644
--- a/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/client/impl/SignClientGetResultTest.java
+++ b/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/client/impl/SignClientGetResultTest.java
@@ -44,6 +44,8 @@ public class SignClientGetResultTest {
private static final String SIGN_REFERENCE = "123456789123456789";
private static final String SIGN_DETAILS = "This is sign transaction";
private static final String RELYING_PARTY_USER_ID = "relyingPartyUserId";
+ private static final SsnUserInfo SSN = SsnUserInfo.create(Country.SWEDEN, "199207295578");
+ private static final BasicUserInfo BASIC_USER_INFO = new BasicUserInfo("John", "Fante");
private static final String EMAIL_ADDRESS = "test@frejaeid.com";
private static final String PHONE_NUMBER = "+46123456789";
private static final String ORGANISATION_ID = "orgId";
@@ -54,14 +56,11 @@ public class SignClientGetResultTest {
AddressType.RESIDENTIAL, AddressSourceType.GOVERNMENT_REGISTRY));
private static final List ALL_EMAIL_ADDRESSES = Arrays.asList(new Email(EMAIL_ADDRESS));
private static final List ALL_PHONE_NUMBERS = Arrays.asList(new PhoneNumberInfo(PHONE_NUMBER));
+ private static final String DATE_OF_BIRTH = "1987-10-18";
private static final Integer AGE = 35;
private static final String PHOTO = "Base64EncodedAvatarPhoto";
private static final DocumentInfo DOCUMENT_INFO =
new DocumentInfo(DocumentType.PASSPORT, "123456789", Country.SWEDEN, "2050-01-01");
- private static final DocumentInfoWithPdf DOCUMENT_WITH_PDF =
- new DocumentInfoWithPdf(DocumentType.PASSPORT, "123456789", Country.SWEDEN, "2050-01-01", "Base64Pdf");
- private static final DocumentInfoWithPdf CHILDREN_DOCUMENT_WITH_PDF =
- new DocumentInfoWithPdf(DocumentType.PASSPORT, "987654321", Country.SWEDEN, "20240-01-01", "Base64Pdf");
private static final String DOCUMENT_PHOTO = "Base64EncodedDocPhoto";
protected static final CovidCertificates COVID_CERTIFICATES =
new CovidCertificates(new Vaccines("covidCertificate"), null, null, true);
@@ -69,6 +68,14 @@ public class SignClientGetResultTest {
private static final String FREJA_COOKIE = "frejaCookie";
private static final String GENDER = "MALE";
private static final String NFC_ID_PHOTO = "Base64EncodedNfcIdPhoto";
+ private static final String PDF = "Base64Pdf";
+ private static final DocumentInfoWithPdf DOCUMENT_WITH_PDF =
+ new DocumentInfoWithPdf(SSN, BASIC_USER_INFO, DATE_OF_BIRTH, GENDER, DocumentType.PASSPORT, "123456789",
+ Country.SWEDEN, "2050-01-01", PDF, DOCUMENT_PHOTO, NFC_ID_PHOTO);
+ private static final DocumentInfoWithPdf CHILDREN_DOCUMENT_WITH_PDF =
+ new DocumentInfoWithPdf(SSN, BASIC_USER_INFO, DATE_OF_BIRTH, GENDER, DocumentType.PASSPORT, "987654321",
+ Country.SWEDEN, "2024-01-01", PDF, DOCUMENT_PHOTO, NFC_ID_PHOTO);
+
private static RequestedAttributes REQUESTED_ATTRIBUTES;
private SignClientApi signClient;
diff --git a/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/http/CommonHttpTest.java b/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/http/CommonHttpTest.java
index 4453c16..219eac8 100644
--- a/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/http/CommonHttpTest.java
+++ b/FrejaEidClient/src/test/java/com/verisec/frejaeid/client/http/CommonHttpTest.java
@@ -56,10 +56,6 @@ public abstract class CommonHttpTest {
private static final String PHOTO = "Base64EncodedAvatarPhoto";
private static final DocumentInfo DOCUMENT_INFO =
new DocumentInfo(DocumentType.PASSPORT, "123456789", Country.SWEDEN, "2050-01-01");
- private static final DocumentInfoWithPdf DOCUMENT_WITH_PDF =
- new DocumentInfoWithPdf(DocumentType.PASSPORT, "123456789", Country.SWEDEN, "2050-01-01", "Base64Pdf");
- private static final DocumentInfoWithPdf CHILDREN_DOCUMENT_WITH_PDF =
- new DocumentInfoWithPdf(DocumentType.PASSPORT, "987654321", Country.SWEDEN, "20240-01-01", "Base64Pdf");
private static final CovidCertificates COVID_CERTIFICATES =
new CovidCertificates(new Vaccines("covidCertificate"), null, null, true);
private static final String DOCUMENT_PHOTO = "Base64EncodedDocPhoto";
@@ -69,6 +65,13 @@ public abstract class CommonHttpTest {
private static final String UNIQUE_IDENTIFIER = "1234-567890-1234";
private static final String GENDER = "MALE";
private static final String NFC_ID_PHOTO = "Base64EncodedNfcIdPhoto";
+ private static final String PDF = "Base64Pdf";
+ private static final DocumentInfoWithPdf DOCUMENT_WITH_PDF =
+ new DocumentInfoWithPdf(SSN_USER_INFO, BASIC_USER_INFO, DATE_OF_BIRTH, GENDER, DocumentType.PASSPORT, "123456789",
+ Country.SWEDEN, "2050-01-01", PDF, DOCUMENT_PHOTO, NFC_ID_PHOTO);
+ private static final DocumentInfoWithPdf CHILDREN_DOCUMENT_WITH_PDF =
+ new DocumentInfoWithPdf(SSN_USER_INFO, BASIC_USER_INFO, DATE_OF_BIRTH, GENDER, DocumentType.PASSPORT, "987654321",
+ Country.SWEDEN, "2024-01-01", PDF, DOCUMENT_PHOTO, NFC_ID_PHOTO);
protected static final RequestedAttributes REQUESTED_ATTRIBUTES =
new RequestedAttributes(BASIC_USER_INFO, CUSTOM_IDENTIFIER, SSN_USER_INFO, null, DATE_OF_BIRTH,
RELYING_PARTY_USER_ID, EMAIL_ADDRESS, ORGANISATION_ID, ADDRESSES,