Skip to content
Snippets Groups Projects
Commit 0e61c309 authored by Denis Sukhoroslov's avatar Denis Sukhoroslov
Browse files

dependencies version increase, test improvements

parent a56c6c82
No related branches found
No related tags found
1 merge request!94dependencies version increase, test improvements
Pipeline #40656 passed
......@@ -6,7 +6,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.2</version>
<version>3.2.3</version>
<relativePath/>
</parent>
......@@ -53,14 +53,14 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- dependencies -->
<spring-boot.version>3.2.2</spring-boot.version>
<spring-boot.version>3.2.3</spring-boot.version>
<springdoc.version>2.2.0</springdoc.version>
<lombok.version>1.18.30</lombok.version>
<vc.version>1.7.0</vc.version>
<key-format.version>1.12.0</key-format.version>
<vc.version>1.9.0</vc.version>
<key-format.version>1.15.0</key-format.version>
<did.version>1.11.0</did.version>
<ld-signatures.version>1.6.0</ld-signatures.version>
<uni-resolver.version>0.16.0</uni-resolver.version>
<ld-signatures.version>1.9.0</ld-signatures.version>
<uni-resolver.version>0.17.0</uni-resolver.version>
<titanium.version>1.3.2</titanium.version>
<caffeine.version>3.1.8</caffeine.version>
<jose4j.version>0.9.3</jose4j.version>
......
......@@ -63,7 +63,7 @@ public class ResolutionControllerTest {
"serviceEndpoint":"https://ec.europa.eu/tools/lotl/eu-lotl.xml"}],"authentication":["did:web:essif.iao.fraunhofer.de#owner"],"assertionMethod":["did:web:essif.iao.fraunhofer.de#owner"]}""";
@Test
public void postResolveRequestShouldReturnEmptyVCResponse() throws Exception {
public void postResolveRequestShouldReturnErrorVCResponse() throws Exception {
String did1 = "did:web:essif.trust-scheme.de";
ResolveRepresentationResult rrr = ResolveRepresentationResult.build(null, testDoc.getBytes(), null);
......@@ -94,7 +94,11 @@ public class ResolutionControllerTest {
assertNotNull(result.getResolvedResults());
assertEquals(1, result.getResolvedResults().size());
assertEquals(did1, result.getResolvedResults().get(0).getDid());
assertNotNull(result.getResolvedResults().get(0).getResolvedDoc());
assertNotNull(result.getResolvedResults().get(0).getResolvedDoc().getDocument());
assertNull(result.getResolvedResults().get(0).getResolvedDoc().getEndpoints());
assertNotNull(result.getResolvedResults().get(0).getError());
assertEquals("did_error", result.getResolvedResults().get(0).getError().getCode());
}
@Test
......@@ -152,7 +156,8 @@ public class ResolutionControllerTest {
assertEquals(did, result.getResolvedResults().get(0).getDid());
assertNotNull(result.getResolvedResults().get(0).getResolvedDoc());
assertNotNull(result.getResolvedResults().get(0).getResolvedDoc().getDocument());
//assertNull(result.getResolvedResults().get(0).getResolvedDoc().getEndpoints());
assertNull(result.getResolvedResults().get(0).getResolvedDoc().getEndpoints());
assertNull(result.getResolvedResults().get(0).getError());
}
@Test
......
......@@ -69,7 +69,7 @@ public class TLResolverTest {
TrustServiceStatusList list = tlResolver.resolveTL(file.getCanonicalFile().toURI().toString());
checkTrustList(list, "bobs-burgers", "did:web:bobs-burgers.de");
list = tlResolver.resolveTL("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list");
//list = tlResolver.resolveTL("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list");
//assertNotNull(list);
//checkTrustList(list, "bobs-burgers", "did:web:bobs-burgers.de");
}
......
package eu.xfsc.train.tcr.server.service;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
......@@ -43,6 +45,8 @@ public class VCResolveTest {
private static final String didWebEssif = "did:web:essif.iao.fraunhofer.de";
private static final String didJwkRsa = "did:jwk:eyJlIjoiQVFBQiIsImtpZCI6InNpZ25SU0EyMDQ4Iiwia3R5IjoiUlNBIiwibiI6IjhDUl8ySUJuSGlDcjVIY0kxcWh1dXpiRmdMRjFlSVI3dGM1NTF2WlN2ek1rTEtIVEpxeHVZR1BlVXp2U29ndWctTDJRQ2tpVWdmSjFZUzRFUmhrRFM2cVBJbFdMM1BGbkc4VjZQVWxoODZjTjgxWkhZdkhoUFYwUDdKT25UeGVKcTV1a1dFT0ctMUxrTmk5eGVnelRoMEVwV0w4NU5aUmJOYWJ0R0VqTUhqY04yak9NUldSYkE4OVdENVhOTExwdWUyNVlxbHcxOGZsbXNNRmh5dXk2YlVmanR2aXJ5SThwb0RLOVpXcGtPUjN6ejlNN0hpQXVyZ2NLSks5ODlEX0UzZ3d3S1FhQ21CbEJ4X3hESlJoVFB1bnJZUFBySHlpMExmaG5CeWgzcEJRMWhyelFLblZyX18zYkVwcE5abmRFLVhlWTY0VzNNaGUwa1RrREp2VXJndyJ9";
private static final String didSampleW3C = "https://example.com/issuer/123";
private static final String docWeb2VM = """
{"@context": ["https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/jws-2020/v1"], "id": "did:web:essif.iao.fraunhofer.de", "verificationMethod": [{"id": "did:web:essif.iao.fraunhofer.de#owner", "type": "JsonWebKey2020",
......@@ -101,6 +105,60 @@ public class VCResolveTest {
}
}""";
private static final String docW3CSampleDid = """
{
"@context": [
"https://www.w3.org/ns/did/v1",
"https://w3id.org/security/suites/jws-2020/v1",
{
"@base": "https://example.com/issuer/123"
}
],
"id": "https://example.com/issuer/123",
"verificationMethod": [
{
"id": "#ovsDKYBjFemIy8DVhc-w2LSi8CvXMw2AYDzHj04yxkc",
"type": "JsonWebKey2020",
"controller": "https://example.com/issuer/123",
"publicKeyJwk": {
"kty": "OKP",
"crv": "Ed25519",
"x": "CV-aGlld3nVdgnhoZK0D36Wk-9aIMlZjZOK2XhPMnkQ"
}
}
],
"assertionMethod": ["#ovsDKYBjFemIy8DVhc-w2LSi8CvXMw2AYDzHj04yxkc"]
}""";
private static final String docW3CSampleVC = """
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1",
"https://w3id.org/security/suites/jws-2020/v1"
],
"id": "http://example.gov/credentials/3732",
"type": ["VerifiableCredential", "UniversityDegreeCredential"],
"issuer": {
"id": "https://example.com/issuer/123"
},
"issuanceDate": "2020-03-10T04:24:12.164Z",
"credentialSubject": {
"id": "did:example:456",
"degree": {
"type": "BachelorDegree",
"name": "Bachelor of Science and Arts"
}
},
"proof": {
"type": "JsonWebSignature2020",
"created": "2019-12-11T03:50:55Z",
"jws": "eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..MJ5GwWRMsadCyLNXU_flgJtsS32584MydBxBuygps_cM0sbU3abTEOMyUvmLNcKOwOBE1MfDoB1_YY425W3sAg",
"proofPurpose": "assertionMethod",
"verificationMethod": "https://example.com/issuer/123#ovsDKYBjFemIy8DVhc-w2LSi8CvXMw2AYDzHj04yxkc"
}
}""";
@Test
public void testVCResolutionSigner() throws Exception {
ResolveRepresentationResult rrr = ResolveRepresentationResult.build(null, docJwkRsa.getBytes(), null);
......@@ -110,9 +168,9 @@ public class VCResolveTest {
docLoaderCache.put(uri, doc);
assertNotNull(docLoaderCache.asMap().get(uri));
VCResolveResult vcRes = didResolver.resolveVC("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/vc", didJwkRsa);
VCResolveResult vcRes = didResolver.resolveVC(uri.toString(), didJwkRsa);
assertEquals("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list", vcRes.getTrustListUri());
//assertTrue(vcRes.isVerified());
assertFalse(vcRes.isVerified()); // because of the wrong signature from Signer
}
......@@ -125,12 +183,11 @@ public class VCResolveTest {
docLoaderCache.put(uri, doc);
assertNotNull(docLoaderCache.asMap().get(uri));
VCResolveResult vcRes = didResolver.resolveVC("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/alice.trust.train1.xfsc.dev/vc", didJwkRsa);
VCResolveResult vcRes = didResolver.resolveVC(uri.toString(), didJwkRsa);
assertEquals("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list", vcRes.getTrustListUri());
assertTrue(vcRes.isVerified());
}
@Test
public void testVCResolutionFHWeb() throws Exception {
ResolveRepresentationResult rrr = ResolveRepresentationResult.build(null, docWeb2VM.getBytes(), null);
......@@ -140,9 +197,23 @@ public class VCResolveTest {
docLoaderCache.put(uri, doc);
assertNotNull(docLoaderCache.asMap().get(uri));
VCResolveResult vcRes = didResolver.resolveVC("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/vc", didWebEssif);
VCResolveResult vcRes = didResolver.resolveVC(uri.toString(), didWebEssif);
assertEquals("https://tspa.train1.xfsc.dev/tspa-service/tspa/v1/bob.trust.train1.xfsc.dev/trust-list", vcRes.getTrustListUri());
//assertTrue(vcRes.isVerified());
assertFalse(vcRes.isVerified()); // because of the wrong signature from Signer
}
@Test
public void testVCResolutionW3C() throws Exception {
ResolveRepresentationResult rrr = ResolveRepresentationResult.build(null, docW3CSampleDid.getBytes(), null);
when(uniResolver.resolveRepresentation(eq(didSampleW3C), any())).thenReturn(rrr);
URI uri = new URI(didSampleW3C + "/vc");
Document doc = JsonDocument.of(new StringReader(docW3CSampleVC));
docLoaderCache.put(uri, doc);
assertNotNull(docLoaderCache.asMap().get(uri));
VCResolveResult vcRes = didResolver.resolveVC(uri.toString(), didSampleW3C);
assertNull(vcRes.getTrustListUri());
assertTrue(vcRes.isVerified());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment