Skip to content

Commit

Permalink
fix: add missing type transformer registrations
Browse files Browse the repository at this point in the history
  • Loading branch information
paullatzelsperger committed Nov 24, 2023
1 parent 906bc17 commit 4882f88
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@
package org.eclipse.edc.iam.identitytrust;

import org.eclipse.edc.iam.identitytrust.transform.from.JsonObjectFromPresentationQueryTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToCredentialStatusTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToCredentialSubjectTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToIssuerTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToPresentationQueryTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToVerifiableCredentialTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToVerifiablePresentationTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JwtToVerifiableCredentialTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JwtToVerifiablePresentationTransformer;
import org.eclipse.edc.jsonld.spi.JsonLd;
Expand Down Expand Up @@ -59,6 +64,11 @@ public void initialize(ServiceExtensionContext context) {

typeTransformerRegistry.register(new JsonObjectToPresentationQueryTransformer(typeManager.getMapper(JSON_LD)));
typeTransformerRegistry.register(new JsonObjectFromPresentationQueryTransformer());
typeTransformerRegistry.register(new JsonObjectToVerifiablePresentationTransformer());
typeTransformerRegistry.register(new JsonObjectToVerifiableCredentialTransformer());
typeTransformerRegistry.register(new JsonObjectToIssuerTransformer());
typeTransformerRegistry.register(new JsonObjectToCredentialSubjectTransformer());
typeTransformerRegistry.register(new JsonObjectToCredentialStatusTransformer());
typeTransformerRegistry.register(new JwtToVerifiablePresentationTransformer(context.getMonitor(), typeManager.getMapper(JSON_LD), jsonLdService));
typeTransformerRegistry.register(new JwtToVerifiableCredentialTransformer(context.getMonitor()));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
* Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
*
* This program and the accompanying materials are made available under the
* terms of the Apache License, Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
*
* Contributors:
* Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation
*
*/

package org.eclipse.edc.iam.identitytrust;

import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToCredentialStatusTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToCredentialSubjectTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToIssuerTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToPresentationQueryTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToVerifiableCredentialTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JsonObjectToVerifiablePresentationTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JwtToVerifiableCredentialTransformer;
import org.eclipse.edc.iam.identitytrust.transform.to.JwtToVerifiablePresentationTransformer;
import org.eclipse.edc.junit.extensions.DependencyInjectionExtension;
import org.eclipse.edc.spi.system.ServiceExtensionContext;
import org.eclipse.edc.transform.spi.TypeTransformerRegistry;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;

@ExtendWith(DependencyInjectionExtension.class)
class IdentityTrustTransformExtensionTest {

private final TypeTransformerRegistry mockRegistry = mock();
private ServiceExtensionContext context;

@BeforeEach
void setup(ServiceExtensionContext context) {
this.context = context;
context.registerService(TypeTransformerRegistry.class, mockRegistry);
}

@Test
void initialize_assertTransformerRegistrations(IdentityTrustTransformExtension extension, ServiceExtensionContext context) {
extension.initialize(context);

verify(mockRegistry).register(isA(JsonObjectToCredentialStatusTransformer.class));
verify(mockRegistry).register(isA(JsonObjectToCredentialSubjectTransformer.class));
verify(mockRegistry).register(isA(JsonObjectToIssuerTransformer.class));
verify(mockRegistry).register(isA(JsonObjectToPresentationQueryTransformer.class));
verify(mockRegistry).register(isA(JsonObjectToVerifiableCredentialTransformer.class));
verify(mockRegistry).register(isA(JsonObjectToVerifiablePresentationTransformer.class));
verify(mockRegistry).register(isA(JwtToVerifiableCredentialTransformer.class));
verify(mockRegistry).register(isA(JwtToVerifiablePresentationTransformer.class));
}
}

0 comments on commit 4882f88

Please sign in to comment.