more tests
This commit is contained in:
parent
a85fc61971
commit
ddee07b55d
@ -1,15 +1,17 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(of = "value")
|
||||
@RequiredArgsConstructor
|
||||
public class JSONPrimitive<T> {
|
||||
|
||||
private final T value;
|
||||
|
||||
public static <T> JSONPrimitive<T> of(T value){
|
||||
public static <T> JSONPrimitive<T> of(T value) {
|
||||
return new JSONPrimitive<>(value);
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.model.data.configuration;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@ -30,6 +31,7 @@ public class Watermark {
|
||||
@Column
|
||||
private WatermarkOrientation orientation;
|
||||
|
||||
@JsonIgnore
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "dossier_template_id")
|
||||
private DossierTemplate dossierTemplate;
|
||||
|
||||
@ -1,12 +1,15 @@
|
||||
package com.iqser.red.service.persistence.management.v1.processor.service;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Watermark;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.WatermarkRepository;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Watermark;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@ -24,7 +27,16 @@ public class WatermarkService {
|
||||
return watermarkRepository.findById(dossierTemplateId).orElseThrow(() -> new NotFoundException("Watermark Configuration not found"));
|
||||
}
|
||||
|
||||
public Watermark saveWatermark(Watermark watermark) {
|
||||
return watermarkRepository.save(watermark);
|
||||
@Transactional
|
||||
public Watermark saveWatermark(String dossierTemplateId, Watermark watermark) {
|
||||
|
||||
watermarkRepository.findById(dossierTemplateId).ifPresentOrElse(
|
||||
loadedWatermark -> BeanUtils.copyProperties(watermark, loadedWatermark, "dossierTemplateId")
|
||||
, () -> {
|
||||
watermark.setDossierTemplateId(dossierTemplateId);
|
||||
watermarkRepository.save(watermark);
|
||||
});
|
||||
|
||||
return watermarkRepository.findById(dossierTemplateId).orElseThrow(() -> new NotFoundException("Watermark not found"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,7 +15,7 @@ public class WatermarkController implements WatermarkResource {
|
||||
|
||||
|
||||
public Watermark saveWatermark(String dossierTemplateId, @RequestBody Watermark watermark) {
|
||||
return watermarkService.saveWatermark(watermark);
|
||||
return watermarkService.saveWatermark(dossierTemplateId, watermark);
|
||||
}
|
||||
|
||||
public Watermark getWatermark(String dossierTemplateId) {
|
||||
|
||||
@ -12,7 +12,7 @@ import lombok.NoArgsConstructor;
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class DownloadJob {
|
||||
|
||||
String userId;
|
||||
String storageId;
|
||||
private String userId;
|
||||
private String storageId;
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,8 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.client;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.resources.RulesResource;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
||||
@FeignClient(name = "RulesClient", url = "http://localhost:${server.port}")
|
||||
public interface RulesClient extends RulesResource {
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.client;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.resources.SMTPConfigurationResource;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
||||
|
||||
@FeignClient(name = "SMTPClient", url = "http://localhost:${server.port}")
|
||||
public interface SMTPClient extends SMTPConfigurationResource {
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.client;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.resources.WatermarkResource;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
||||
@FeignClient(name = "WatermarkClient", url = "http://localhost:${server.port}")
|
||||
public interface WatermarkClient extends WatermarkResource {
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.RulesClient;
|
||||
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.JSONPrimitive;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class RulesTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private RulesClient rulesClient;
|
||||
|
||||
@Test
|
||||
public void testRules() {
|
||||
|
||||
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
||||
|
||||
|
||||
rulesClient.setRules(dossierTemplate.getId(), JSONPrimitive.of("lorem ipsum"));
|
||||
assertThat(rulesClient.getVersion(dossierTemplate.getId())).isEqualTo(1);
|
||||
assertThat(rulesClient.getRules(dossierTemplate.getId())).isEqualTo(JSONPrimitive.of("lorem ipsum"));
|
||||
|
||||
rulesClient.setRules(dossierTemplate.getId(), JSONPrimitive.of("lorem ipsum dolor sit amet"));
|
||||
assertThat(rulesClient.getVersion(dossierTemplate.getId())).isEqualTo(2);
|
||||
assertThat(rulesClient.getRules(dossierTemplate.getId())).isEqualTo(JSONPrimitive.of("lorem ipsum dolor sit amet"));
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.SMTPClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.SMTPConfiguration;
|
||||
import feign.FeignException;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class SMTPTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private SMTPClient smtpClient;
|
||||
|
||||
@Test
|
||||
public void testSMTP() {
|
||||
|
||||
SMTPConfiguration configuration = new SMTPConfiguration();
|
||||
configuration.setUser("test");
|
||||
configuration.setPassword("test");
|
||||
configuration.setAuth(true);
|
||||
configuration.setFrom("from");
|
||||
configuration.setEnvelopeFrom("from");
|
||||
configuration.setHost("host");
|
||||
configuration.setPort(123);
|
||||
configuration.setReplyTo("reply");
|
||||
configuration.setStarttls(true);
|
||||
smtpClient.updateSMTPConfiguration(configuration);
|
||||
|
||||
assertThat(smtpClient.getCurrentSMTPConfiguration(true)).isNotNull();
|
||||
|
||||
try {
|
||||
smtpClient.testSMTPConfiguration("test@test.com", configuration);
|
||||
} catch (FeignException.FeignClientException e) {
|
||||
assertThat(e.status()).isEqualTo(400);
|
||||
}
|
||||
|
||||
smtpClient.clearSMTPConfiguration();
|
||||
|
||||
try {
|
||||
smtpClient.getCurrentSMTPConfiguration(true);
|
||||
} catch (FeignException.FeignClientException e) {
|
||||
assertThat(e.status()).isEqualTo(404);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,58 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.WatermarkClient;
|
||||
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.Watermark;
|
||||
import feign.FeignException;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class WatermarkTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private WatermarkClient watermarkClient;
|
||||
|
||||
@Test
|
||||
public void testWatermark() {
|
||||
|
||||
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
||||
try {
|
||||
watermarkClient.getWatermark(dossierTemplate.getId());
|
||||
} catch (FeignException.FeignClientException e) {
|
||||
assertThat(e.status()).isEqualTo(404);
|
||||
}
|
||||
|
||||
|
||||
Watermark watermark = new Watermark();
|
||||
watermark.setText("lorem ipsum");
|
||||
watermark.setFontSize(12);
|
||||
watermark.setFontType("font");
|
||||
watermark.setHexColor("#dddddd");
|
||||
watermark.setOpacity(20);
|
||||
watermark.setOrientation(Watermark.WatermarkOrientation.DIAGONAL);
|
||||
|
||||
var saved = watermarkClient.saveWatermark(dossierTemplate.getId(), watermark);
|
||||
assertThat(watermarkClient.getWatermark(dossierTemplate.getId())).isEqualTo(saved);
|
||||
|
||||
watermark.setFontSize(14);
|
||||
saved = watermarkClient.saveWatermark(dossierTemplate.getId(), watermark);
|
||||
assertThat(watermarkClient.getWatermark(dossierTemplate.getId())).isEqualTo(saved);
|
||||
|
||||
watermarkClient.deleteWatermark(dossierTemplate.getId());
|
||||
|
||||
try {
|
||||
watermarkClient.getWatermark(dossierTemplate.getId());
|
||||
} catch (FeignException.FeignClientException e) {
|
||||
assertThat(e.status()).isEqualTo(404);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -5,6 +5,7 @@ import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronOptimizeRespo
|
||||
import com.iqser.red.service.peristence.v1.server.Application;
|
||||
import com.iqser.red.service.peristence.v1.server.client.RedactionClient;
|
||||
import com.iqser.red.service.peristence.v1.server.client.SearchClient;
|
||||
import com.iqser.red.service.peristence.v1.server.controller.LicenseReportController;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.FileClient;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.*;
|
||||
@ -133,6 +134,15 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
@Autowired
|
||||
private ImageRecategorizationRepository imageRecategorizationRepository;
|
||||
|
||||
@Autowired
|
||||
private WatermarkRepository watermarkRepository;
|
||||
|
||||
@Autowired
|
||||
private SMTPRepository smtpRepository;
|
||||
|
||||
@Autowired
|
||||
private RuleSetRepository ruleSetRepository;
|
||||
|
||||
@Autowired
|
||||
private LegalBasisMappingRepository legalBasisMappingRepository;
|
||||
|
||||
@ -150,7 +160,10 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
removeRedactionRepository.deleteAll();
|
||||
legalBasisChangeRepository.deleteAll();
|
||||
imageRecategorizationRepository.deleteAll();
|
||||
legalBasisMappingRepository.deleteAll();;
|
||||
legalBasisMappingRepository.deleteAll();
|
||||
watermarkRepository.deleteAll();
|
||||
ruleSetRepository.deleteAll();
|
||||
smtpRepository.deleteAll();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user