Skip to content

Commit

Permalink
chore: improve tests and fix transaction
Browse files Browse the repository at this point in the history
  • Loading branch information
aleksandra-bel committed Mar 15, 2024
1 parent cabc658 commit dc3d872
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 116 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@
import org.eclipse.tractusx.ssi.lib.serialization.jwt.SerializedVerifiablePresentation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import java.io.IOException;
import java.io.StringWriter;
Expand Down Expand Up @@ -102,6 +105,7 @@ public SignedJWT createPresentation(Did issuer, List<VerifiableCredential> crede
return createSignedJwt(verifiablePresentation.getId(), issuer, audience, serializedVerifiablePresentation, ecPrivateKey);
}

@Transactional(isolation = Isolation.READ_UNCOMMITTED, propagation = Propagation.REQUIRES_NEW)
public void storeWalletKeyES256K(Wallet wallet) {
WalletKey walletKeyES256K;
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public class WalletKeyService extends BaseService<WalletKey, Long> {
private final EncryptionUtils encryptionUtils;

@Override
protected BaseRepository<WalletKey, Long> getRepository() {
public BaseRepository<WalletKey, Long> getRepository() {
return walletKeyRepository;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.springframework.boot.test.util.TestPropertyValues;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.testcontainers.containers.PostgreSQLContainer;

import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
Expand All @@ -36,6 +37,10 @@ public class TestContextInitializer implements ApplicationContextInitializer<Con

private static final int port = findFreePort();
private static final KeycloakContainer KEYCLOAK_CONTAINER = new KeycloakContainer().withRealmImportFile("miw-test-realm.json");
private static final PostgreSQLContainer<?> POSTGRE_SQL_CONTAINER = new PostgreSQLContainer<>("postgres:14.5")
.withDatabaseName("integration-tests-db")
.withUsername("sa")
.withPassword("sa");

@SneakyThrows
@Override
Expand All @@ -55,11 +60,11 @@ public void initialize(ConfigurableApplicationContext applicationContext) {
"miw.authorityWalletBpn: BPNL000000000000",
"miw.authorityWalletName: Test-X",
"miw.authorityWalletDid: did:web:localhost%3A${server.port}:BPNL000000000000",
"spring.datasource.url=jdbc:h2:mem:testdb",
"spring.datasource.driverClassName=org.h2.Driver",
"spring.jpa.database-platform=org.hibernate.dialect.H2Dialect",
"spring.datasource.driver-class-name=org.testcontainers.jdbc.ContainerDatabaseDriver",
"spring.datasource.url=jdbc:tc:postgresql:14.5:///integration-tests-db",
"spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect",
"spring.datasource.username=sa",
"spring.datasource.password=password",
"spring.datasource.password=sa",
"miw.security.auth-server-url=" + authServerUrl,
"miw.security.clientId=miw_private_client ",
"miw.security.auth-url=${miw.security.auth-server-url}realms/${miw.security.realm}/protocol/openid-connect/auth",
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,20 @@

package org.eclipse.tractusx.managedidentitywallets.vc;

import lombok.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.SneakyThrows;
import org.eclipse.tractusx.managedidentitywallets.ManagedIdentityWalletsApplication;
import org.eclipse.tractusx.managedidentitywallets.config.MIWSettings;
import org.eclipse.tractusx.managedidentitywallets.config.TestContextPostgresInitializer;
import org.eclipse.tractusx.managedidentitywallets.config.TestContextInitializer;
import org.eclipse.tractusx.managedidentitywallets.constant.RestURI;
import org.eclipse.tractusx.managedidentitywallets.constant.StringPool;
import org.eclipse.tractusx.managedidentitywallets.dao.entity.Wallet;
import org.eclipse.tractusx.managedidentitywallets.dto.CreateWalletRequest;
import org.eclipse.tractusx.managedidentitywallets.dto.IssueMembershipCredentialRequest;
import org.eclipse.tractusx.managedidentitywallets.exception.WalletNotFoundProblem;
import org.eclipse.tractusx.managedidentitywallets.service.IssuersCredentialService;
import org.eclipse.tractusx.managedidentitywallets.service.PresentationService;
import org.eclipse.tractusx.managedidentitywallets.service.WalletService;
Expand All @@ -43,7 +47,6 @@
import org.eclipse.tractusx.ssi.lib.model.verifiable.presentation.VerifiablePresentationBuilder;
import org.eclipse.tractusx.ssi.lib.model.verifiable.presentation.VerifiablePresentationType;
import org.eclipse.tractusx.ssi.lib.serialization.SerializeUtil;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand All @@ -64,8 +67,8 @@
import java.util.Map;
import java.util.UUID;

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = {ManagedIdentityWalletsApplication.class})
@ContextConfiguration(initializers = {TestContextPostgresInitializer.class})
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = { ManagedIdentityWalletsApplication.class })
@ContextConfiguration(initializers = { TestContextInitializer.class })
class PresentationValidationTest {

private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper()
Expand Down Expand Up @@ -115,22 +118,6 @@ public void setup() {
membershipCredential_2 = issuersCredentialService.issueMembershipCredential(issueMembershipCredentialRequest2, bpnOperator);
}

@AfterEach
public void cleanUp() {
try {
Wallet tenantWallet = walletService.getWalletByIdentifier(bpnTenant_1, false, bpnOperator);
walletService.delete(tenantWallet.getId());
} catch (WalletNotFoundProblem e) {
// ignore
}
try {
Wallet tenantWallet = walletService.getWalletByIdentifier(bpnTenant_2, false, bpnOperator);
walletService.delete(tenantWallet.getId());
} catch (WalletNotFoundProblem e) {
// ignore
}
}

@Test
void testSuccessfulValidation() {
Map<String, Object> presentation = createPresentationJwt(membershipCredential_1, tenant_1);
Expand Down

0 comments on commit dc3d872

Please sign in to comment.