more tests
This commit is contained in:
parent
2496d39d11
commit
317c93ff71
@ -1,5 +1,7 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.data.configuration;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@ -8,6 +10,8 @@ import javax.persistence.*;
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Entity
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Table(name = "legal_basis")
|
||||
public class LegalBasis {
|
||||
|
||||
@ -21,8 +25,5 @@ public class LegalBasis {
|
||||
@Column
|
||||
private String reason;
|
||||
|
||||
@ManyToOne
|
||||
private LegalBasisMapping legalBasisMapping;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@ public class LegalBasisMapping {
|
||||
@Column
|
||||
private long version;
|
||||
|
||||
@OneToMany(mappedBy = "legalBasisMapping", cascade = CascadeType.ALL)
|
||||
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
||||
private List<LegalBasis> legalBasis = new ArrayList<>();
|
||||
|
||||
}
|
||||
|
||||
@ -10,6 +10,8 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@ -48,6 +50,7 @@ public class DigitalSignatureService {
|
||||
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void updateDigitalSignature(DigitalSignature digitalSignatureModel) {
|
||||
|
||||
digitalSignatureRepository.findById(DigitalSignature.ID).ifPresentOrElse(digitalSignature -> {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.iqser.red.service.peristence.v1.server.controller;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisMappingRepository;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasis;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasisMapping;
|
||||
@ -9,6 +10,7 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@ -21,6 +23,7 @@ public class LegalBasisMappingController implements LegalBasisMappingResource {
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void setLegalBasisMapping(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId, @RequestBody List<LegalBasis> legalBasisMapping) {
|
||||
|
||||
legalBasisMappingRepository.findById(dossierTemplateId).ifPresentOrElse((lbm) -> {
|
||||
@ -31,19 +34,20 @@ public class LegalBasisMappingController implements LegalBasisMappingResource {
|
||||
var lbm = new LegalBasisMapping();
|
||||
lbm.setDossierTemplateId(dossierTemplateId);
|
||||
lbm.setLegalBasis(legalBasisMapping);
|
||||
lbm.setVersion(0);
|
||||
lbm.setVersion(1);
|
||||
legalBasisMappingRepository.save(lbm);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public List<LegalBasis> getLegalBasisMapping(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId) {
|
||||
return legalBasisMappingRepository.findById(dossierTemplateId).get().getLegalBasis();
|
||||
return legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMapping::getLegalBasis).orElseThrow(() -> new NotFoundException("Legal Basis Not configured!"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getVersion(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId) {
|
||||
return legalBasisMappingRepository.findById(dossierTemplateId).get().getVersion();
|
||||
return legalBasisMappingRepository.findById(dossierTemplateId).map(LegalBasisMapping::getVersion).orElse(0l);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.client;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.resources.DigitalSignatureResource;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
||||
@FeignClient(name = "DigitalSignatureClient", url = "http://localhost:${server.port}")
|
||||
public interface DigitalSignatureClient extends DigitalSignatureResource {
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.client;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.resources.LegalBasisMappingResource;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
||||
@FeignClient(name = "LegalBasisClient", url = "http://localhost:${server.port}")
|
||||
public interface LegalBasisClient extends LegalBasisMappingResource {
|
||||
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.client;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.resources.LicenseReportResource;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
||||
@FeignClient(name = "LicenseReportClient", url = "http://localhost:${server.port}")
|
||||
public interface LicenseReportClient extends LicenseReportResource {
|
||||
}
|
||||
@ -24,8 +24,7 @@ public class TypeProvider {
|
||||
type.setHint(false);
|
||||
type.setRank(100);
|
||||
type.setRecommendation(false);
|
||||
type.setLabel("test");
|
||||
type.setCaseInsensitive(false);
|
||||
type.setCaseInsensitive(true);
|
||||
type.setDossierTemplateId(dossierTemplate.getId());
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,50 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DigitalSignatureClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DigitalSignature;
|
||||
import feign.FeignException;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
|
||||
public class DigitalSignatureTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private DigitalSignatureClient digitalSignatureClient;
|
||||
|
||||
@Test
|
||||
public void testDigitalSignature() {
|
||||
|
||||
try {
|
||||
digitalSignatureClient.getDigitalSignature();
|
||||
} catch (FeignException.FeignClientException e) {
|
||||
assertThat(e.status()).isEqualTo(404);
|
||||
}
|
||||
|
||||
DigitalSignature digitalSignature = new DigitalSignature();
|
||||
digitalSignature.setPassword("test");
|
||||
digitalSignature.setCertificateName("test");
|
||||
digitalSignature.setReason("test");
|
||||
digitalSignature.setLocation("test");
|
||||
digitalSignature.setContactInfo("test");
|
||||
digitalSignature.setPrivateKey(new byte[]{1, 2, 3, 4});
|
||||
|
||||
var savedDigitalSignature = digitalSignatureClient.saveDigitalSignature(digitalSignature);
|
||||
|
||||
var loadedSignature = digitalSignatureClient.getDigitalSignature();
|
||||
// encrypted
|
||||
assertThat(savedDigitalSignature.getPassword()).isNotEqualTo(loadedSignature.getPassword());
|
||||
assertThat(savedDigitalSignature.getPrivateKey()).isNotEqualTo(loadedSignature.getPrivateKey());
|
||||
|
||||
|
||||
digitalSignature.setReason("new test");
|
||||
digitalSignatureClient.updateDigitalSignature(digitalSignature);
|
||||
loadedSignature = digitalSignatureClient.getDigitalSignature();
|
||||
assertThat(loadedSignature.getReason()).isEqualTo("new test");
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DossierClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider;
|
||||
@ -42,12 +43,20 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
assertThat(loadedTemplate).isEqualTo(updated);
|
||||
|
||||
dossierClient.getAllDossiers().forEach(ld -> {
|
||||
dossierClient.delete(ld.getId());
|
||||
});
|
||||
dossierClient.getAllDossiers().forEach(ld -> dossierClient.delete(ld.getId()));
|
||||
|
||||
assertThat(dossierClient.getAllDossiers().isEmpty()).isTrue();
|
||||
assertThat(dossierClient.getAllDossiers()).isEmpty();
|
||||
assertThat(dossierClient.getSoftDeletedDossiers().size()).isEqualTo(1);
|
||||
|
||||
dossierClient.undeleteDossiers(Sets.newHashSet(dossier.getId()));
|
||||
|
||||
assertThat(dossierClient.getAllDossiers()).isNotEmpty();
|
||||
assertThat(dossierClient.getSoftDeletedDossiers()).isEmpty();
|
||||
|
||||
|
||||
dossierClient.hardDeleteDossiers(Sets.newHashSet(dossier.getId()));
|
||||
assertThat(dossierClient.getAllDossiers()).isEmpty();
|
||||
assertThat(dossierClient.getSoftDeletedDossiers()).isEmpty();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,56 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.LegalBasisClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.LegalBasis;
|
||||
import feign.FeignException;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class LegalBasisTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private LegalBasisClient legalBasisClient;
|
||||
|
||||
@Test
|
||||
public void testLegalBasis() {
|
||||
|
||||
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
||||
|
||||
assertThat(legalBasisClient.getVersion(dossierTemplate.getId())).isEqualTo(0);
|
||||
|
||||
try {
|
||||
legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||
} catch (FeignException.FeignClientException e) {
|
||||
assertThat(e.status()).isEqualTo(404);
|
||||
}
|
||||
|
||||
|
||||
var mappings = new ArrayList<LegalBasis>();
|
||||
mappings.add(LegalBasis.builder().name("test 1").description("test 1").reason("test 1").build());
|
||||
mappings.add(LegalBasis.builder().name("test 2").description("test 2").reason("test 2").build());
|
||||
legalBasisClient.setLegalBasisMapping(dossierTemplate.getId(), mappings);
|
||||
assertThat(legalBasisClient.getVersion(dossierTemplate.getId())).isEqualTo(1);
|
||||
|
||||
|
||||
var mapping = legalBasisClient.getLegalBasisMapping(dossierTemplate.getId());
|
||||
assertThat(mapping.size()).isEqualTo(2);
|
||||
assertThat(mapping.stream().map(LegalBasis::getName).collect(Collectors.toList())).containsExactlyInAnyOrder("test 1", "test 2");
|
||||
|
||||
|
||||
legalBasisClient.setLegalBasisMapping(dossierTemplate.getId(), Lists.newArrayList());
|
||||
assertThat(legalBasisClient.getLegalBasisMapping(dossierTemplate.getId())).isEmpty();
|
||||
assertThat(legalBasisClient.getVersion(dossierTemplate.getId())).isEqualTo(2);
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.LicenseReportClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.LicenseReportRequest;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class LicenseReportTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private LicenseReportClient licenseReportClient;
|
||||
|
||||
@Autowired
|
||||
private FileTesterAndProvider fileTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private DossierTesterAndProvider dossierTesterAndProvider;
|
||||
|
||||
@Test
|
||||
public void testLicenseReport() {
|
||||
|
||||
var dossier = dossierTesterAndProvider.provideTestDossier();
|
||||
|
||||
fileTesterAndProvider.testAndProvideFile(dossier);
|
||||
|
||||
LicenseReportRequest request = new LicenseReportRequest();
|
||||
request.setDossierIds(Lists.newArrayList(dossier.getId()));
|
||||
request.setStartDate(OffsetDateTime.now().minusHours(10).toInstant());
|
||||
request.setEndDate(OffsetDateTime.now().plusHours(10).toInstant());
|
||||
request.setRequestId("123");
|
||||
assertThat(licenseReportClient.getLicenseReport(request, 0, 20)).isNotNull();
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user