Skip to content

Commit

Permalink
Fix unit tests.
Browse files Browse the repository at this point in the history
Signed-off-by: Markus Sabadello <[email protected]>
  • Loading branch information
peacekeeper committed Nov 17, 2019
1 parent d42f466 commit 5bb10b0
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,21 @@ public void testSign() throws Exception {

assertNotNull(jwtString);

assertEquals(TestUtil.read(ValidateTest.class.getResourceAsStream("verifiable-credential.jwt.payload.jsonld")).trim(), jwtPayload.trim());
assertEquals(TestUtil.read(ValidateTest.class.getResourceAsStream("verifiable-credential.jwt.jsonld")).trim(), jwtString.trim());
assertEquals(TestUtil.read(VerifyTest.class.getResourceAsStream("verifiable-credential.jwt.payload.jsonld")).trim(), jwtPayload.trim());
assertEquals(TestUtil.read(VerifyTest.class.getResourceAsStream("verifiable-credential.jwt.jsonld")).trim(), jwtString.trim());
}

public void testVerify() throws Exception {

JwtVerifiableCredential jwtVerifiableCredential = JwtVerifiableCredential.fromJwt(TestUtil.read(ValidateTest.class.getResourceAsStream("verifiable-credential.jwt.jsonld")), AlgorithmIdentifiers.RSA_USING_SHA256, TestUtil.testRSAPublicKey);
JwtVerifiableCredential jwtVerifiableCredential = JwtVerifiableCredential.fromJwt(TestUtil.read(VerifyTest.class.getResourceAsStream("verifiable-credential.jwt.jsonld")), AlgorithmIdentifiers.RSA_USING_SHA256, TestUtil.testRSAPublicKey);

String jwtPayload = jwtVerifiableCredential.getPayload().toJson();
String jwtPayloadVerifiableCredential = jwtVerifiableCredential.getPayloadVerifiableCredential().toJsonString();

assertNotNull(jwtPayload);
assertNotNull(jwtPayloadVerifiableCredential);

assertEquals(TestUtil.read(ValidateTest.class.getResourceAsStream("verifiable-credential.jwt.payload.jsonld")).trim(), jwtPayload.trim());
assertEquals(TestUtil.read(VerifyTest.class.getResourceAsStream("verifiable-credential.jwt.payload.jsonld")).trim(), jwtPayload.trim());

VerifiableCredential verifiableCredential = jwtVerifiableCredential.toVerifiableCredential();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,18 @@ public void testSign() throws Exception {
String domain = null;
String nonce = "c0ae1c8e-c7e7-469f-b252-86e6a0e7387e";

RsaSignature2018LdSigner signer = new RsaSignature2018LdSigner(creator, created, domain, nonce, TestUtil.testRSAPrivateKey);
RsaSignature2018LdSigner signer = new RsaSignature2018LdSigner(TestUtil.testRSAPrivateKey);
signer.setCreator(creator);
signer.setCreated(created);
signer.setDomain(domain);
signer.setNonce(nonce);
LdSignature ldSignature = signer.sign(verifiableCredential.getJsonLdObject());

assertEquals(SignatureSuites.SIGNATURE_SUITE_RSASIGNATURE2018.getTerm(), ldSignature.getType());
assertEquals(creator, ldSignature.getCreator());
assertEquals(created, ldSignature.getCreated());
assertEquals(domain, ldSignature.getDomain());
assertEquals(nonce, ldSignature.getNonce());
assertEquals("eyJhbGciOiJSUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..TF3iVD991QkINjdF-ohHs65DBwyoWZR-I-oC7H5u5Nb6cN4hEIHoIZHMYywDJ9qDwtoLL8sTOguEtuw2urK4juzwyUAOGtwF8QnsW162D0ty6frQ0gE3dWWdvDodAp_GtU_qFevkJ9-LMB-y8axn9X3lz3-8aWPnYju8uRZlLQ9HaUV8jQI4X7_BhNttUNc5WDweWl6Gp0wn_vhEA2OlYLfyIY-S3P6su4JUWdoRaQyguqkThL6dfDGHDaSH1JIDbakdUyZfiNqOrJ38qeabw2Pm883EpEJPwU-RptGM0-cm28b0hwgRVvRwOe8mhit6xtImrZWqpDfkNUoEOa4_HQ", ldSignature.getSignatureValue());
assertEquals("eyJjcml0IjpbImI2NCJdLCJiNjQiOmZhbHNlLCJhbGciOiJSUzI1NiJ9..O_-LVz0SghpFOlO0xU1d7dk8rXpoQXpd1dBdGuXyjqE72bSZOn_C65M-_ZasNtgt0AxDmkdEFhb1Ji5hZmkuIm9qhMnZDiMMcn6FuMd0eQyYR2OqLOcxOLVdCjgJF4s7M_Mpl7CgZ1w5QnqIEgCp3kzYskvmJrqOsib4a-VXh7xAyA4Lo9edK02wF7t5BrjO6Yz9xaHjB2V9A-Vh3UEXj8kc3cE3M7rMiPlmAiZRdKpl9lVL0ANW1Y0sMPceL3CPoOsjTomfOnGxXylfnhemnVAjpVs5HhG4NlzBf9FT-YPlxfmzVSw1P6epIGSMq4nVXuRXlWD-E_4KcG6teUD3jQ", ldSignature.getSignatureValue());
}
}
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
package com.danubetech.verifiablecredentials;
import java.util.LinkedHashMap;

import com.danubetech.verifiablecredentials.VerifiableCredential;
import com.github.jsonldjava.utils.JsonUtils;

import info.weboftrust.ldsignatures.validator.RsaSignature2018LdValidator;
import info.weboftrust.ldsignatures.verifier.RsaSignature2018LdVerifier;
import junit.framework.TestCase;

public class ValidateTest extends TestCase {
public class VerifyTest extends TestCase {

@SuppressWarnings("unchecked")
public void testValidate() throws Exception {
public void testVerify() throws Exception {

LinkedHashMap<String, Object> jsonLdObject = (LinkedHashMap<String, Object>) JsonUtils.fromInputStream(ValidateTest.class.getResourceAsStream("verifiable-credential.ldp.good.jsonld"));
LinkedHashMap<String, Object> jsonLdObject = (LinkedHashMap<String, Object>) JsonUtils.fromInputStream(VerifyTest.class.getResourceAsStream("verifiable-credential.ldp.good.jsonld"));
VerifiableCredential verifiableCredential = VerifiableCredential.fromJsonLdObject(jsonLdObject);

RsaSignature2018LdValidator validator = new RsaSignature2018LdValidator(TestUtil.testRSAPublicKey);
boolean validate = validator.validate(verifiableCredential.getJsonLdObject());
RsaSignature2018LdVerifier verifier = new RsaSignature2018LdVerifier(TestUtil.testRSAPublicKey);
boolean verify = verifier.verify(verifiableCredential.getJsonLdObject());

assertTrue(validate);
assertTrue(verify);

LinkedHashMap<String, Object> jsonLdCredentialSubject = verifiableCredential.getJsonLdCredentialSubject();
LinkedHashMap<String, Object> jsonLdDriversLicenseObject = (LinkedHashMap<String, Object>) jsonLdCredentialSubject.get("driversLicense");
Expand All @@ -28,14 +27,14 @@ public void testValidate() throws Exception {
}

@SuppressWarnings("unchecked")
public void testBadValidate() throws Exception {
public void testBadVerify() throws Exception {

LinkedHashMap<String, Object> jsonLdObject = (LinkedHashMap<String, Object>) JsonUtils.fromInputStream(ValidateTest.class.getResourceAsStream("verifiable-credential.ldp.bad.jsonld"));
LinkedHashMap<String, Object> jsonLdObject = (LinkedHashMap<String, Object>) JsonUtils.fromInputStream(VerifyTest.class.getResourceAsStream("verifiable-credential.ldp.bad.jsonld"));
VerifiableCredential verifiableCredential = VerifiableCredential.fromJsonLdObject(jsonLdObject);

RsaSignature2018LdValidator validator = new RsaSignature2018LdValidator(TestUtil.testRSAPublicKey);
boolean validate = validator.validate(verifiableCredential.getJsonLdObject());
RsaSignature2018LdVerifier verifier = new RsaSignature2018LdVerifier(TestUtil.testRSAPublicKey);
boolean verify = verifier.verify(verifiableCredential.getJsonLdObject());

assertFalse(validate);
assertFalse(verify);
}
}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ1cm46dXVpZDphODdiZGZiOC1hN2RmLTRiZDktYWUwZC1kODgzMTMzNTM4ZmUiLCJzdWIiOiJkaWQ6c292OjIxdERBS0NFUmg5NXVHZ0tiSk5IWXAiLCJpc3MiOiJkaWQ6c292OjF5dlhibWdQb1VtNGRsNjZEN0toeUQiLCJpYXQiOjE1NjA3MTE0MTksImV4cCI6MTU2MDc5NzgxOSwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL3RyYWZpLmZpL2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJEcml2ZXJzTGljZW5zZUNyZWRlbnRpYWwiXSwiY3JlZGVudGlhbFN1YmplY3QiOnsiZHJpdmVyc0xpY2Vuc2UiOnsibGljZW5zZUNsYXNzIjoidHJ1Y2tzIn19fX0.FAuGkiVhfW2-9vmijXzcBoVaB4ygm28hcE9J5N6yZbPPNR_dcjhFOPDP3n3scHLNQ2rk4CQD6sOGA2p7FJfSlZZ4JnNkLmkBfPkzeXzn6O7gNRIatm7a7vJwJyYuvdA4GlbF6zAJqULT1nGO5DDEb52AY5-02vgJU5cPBG7sDljsw8zq_hmeXSMFVEw5A68GIh2_Wwefqhuy96aPdM6Rf69zPboxrLpPuq-LfS0cyOt4Jk27kqvZCl8xTrwA41iJGc3l2Rb0nA9jE11ppxb1JfrMbU3U4Nj50Z7mtIgtEYzembsw1sfCIZeTqjL-jlJku6b4Dofd_Qq-nOuj4HJ8TA
eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJ1cm46dXVpZDphODdiZGZiOC1hN2RmLTRiZDktYWUwZC1kODgzMTMzNTM4ZmUiLCJzdWIiOiJkaWQ6c292OjIxdERBS0NFUmg5NXVHZ0tiSk5IWXAiLCJpc3MiOiJkaWQ6c292OjF5dlhibWdQb1VtNGRsNjZEN0toeUQiLCJuYmYiOjE1NjA3MTE0MTksImV4cCI6MTU2MDc5NzgxOSwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL3RyYWZpLmZpL2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJEcml2ZXJzTGljZW5zZUNyZWRlbnRpYWwiXSwiY3JlZGVudGlhbFN1YmplY3QiOnsiZHJpdmVyc0xpY2Vuc2UiOnsibGljZW5zZUNsYXNzIjoidHJ1Y2tzIn19fX0.ZdJxM0kJakKAfJI2h3Dhvf_AHUgC8-NyQRr2DMnlzCxHZyVEji0s5Sl8cNx6aPwwjDagp2KHFy6M9eONHrrpdb49AuKetyJZQUoB5aQg-sC5GMHPVyeTxzazaDWysEiCZSXc6GcirLDmHXVWMUidKDlGh8vdUtrHR0ayVbxrXQ-zKakfltaRawQ4OIRPJ-0fssojSDbRO6KnrH6MQbsl-fwTRcYnlihNIHpNTEpT68DA3QzHU1-TAX1xY3Jx2vYorihFf02mnn5d3gW4Gv2KsNbNpewIAmfL-p-abOFNmt2cLxFUSLsgaE5upDw2xAGTc3lAxvbJ7Gm4eaL8SXTQ2A
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"jti":"urn:uuid:a87bdfb8-a7df-4bd9-ae0d-d883133538fe","sub":"did:sov:21tDAKCERh95uGgKbJNHYp","iss":"did:sov:1yvXbmgPoUm4dl66D7KhyD","iat":1560711419,"exp":1560797819,"vc":{"@context":["https://www.w3.org/2018/credentials/v1","https://trafi.fi/credentials/v1"],"type":["VerifiableCredential","DriversLicenseCredential"],"credentialSubject":{"driversLicense":{"licenseClass":"trucks"}}}}
{"jti":"urn:uuid:a87bdfb8-a7df-4bd9-ae0d-d883133538fe","sub":"did:sov:21tDAKCERh95uGgKbJNHYp","iss":"did:sov:1yvXbmgPoUm4dl66D7KhyD","nbf":1560711419,"exp":1560797819,"vc":{"@context":["https://www.w3.org/2018/credentials/v1","https://trafi.fi/credentials/v1"],"type":["VerifiableCredential","DriversLicenseCredential"],"credentialSubject":{"driversLicense":{"licenseClass":"trucks"}}}}

0 comments on commit 5bb10b0

Please sign in to comment.