diff --git a/pom.xml b/pom.xml index cd4629a8a4d1c60b757ac3b5a821a05f22b37049..883c4561104810e15cf33d7496abc5c3dd42eab2 100644 --- a/pom.xml +++ b/pom.xml @@ -121,6 +121,7 @@ <sonar.coverage.exclusions> **/*Entity.java, **/*RO.java, + **/DB*.java, **/*Exception.java, **/*Types.java, **/*Constants.java, diff --git a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/DomiSMPResourceExampleExtensionTest.java b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/DomiSMPResourceExampleExtensionTest.java index 1aa002e618661fdc68b6005d86cbefacb4f1006a..10417d2c51bed662a898b179f40c5f46b4a7cd3b 100644 --- a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/DomiSMPResourceExampleExtensionTest.java +++ b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/DomiSMPResourceExampleExtensionTest.java @@ -9,7 +9,7 @@ import org.mockito.Mockito; import java.util.List; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class DomiSMPResourceExampleExtensionTest { diff --git a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/def/DomiSMPJsonResourceExampleTest.java b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/def/DomiSMPJsonResourceExampleTest.java index 9cfed6fa76ce82b16f514a0629ad8cd08d6f0c1f..67bde7942132b31bc928b42bc0d99bc0f4f9f46a 100644 --- a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/def/DomiSMPJsonResourceExampleTest.java +++ b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/def/DomiSMPJsonResourceExampleTest.java @@ -10,7 +10,8 @@ import org.mockito.Mockito; import java.util.List; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; class DomiSMPJsonResourceExampleTest { diff --git a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/handler/AbstractHandlerTest.java b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/handler/AbstractHandlerTest.java index 5985697e38c7ed4a7b084141bbdf0b809be8e9da..34c6c5a911f0cfb983ffccf7e901fe14e789c59d 100644 --- a/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/handler/AbstractHandlerTest.java +++ b/smp-examples/resource-spi-example/src/test/java/eu/europa/ec/smp/spi/examples/handler/AbstractHandlerTest.java @@ -108,8 +108,6 @@ abstract class AbstractHandlerTest { Mockito.doReturn(bios).when(requestData).getResourceInputStream(); Mockito.doReturn(resourceIdentifier).when(mockSmpIdentifierServiceApi).normalizeResourceIdentifier(Mockito.anyString(), Mockito.anyString()); getTestInstance().validateResource(requestData); - - System.out.println("Generated resource: " + new String(baos.toByteArray())); } abstract AbstractHandler getTestInstance(); diff --git a/smp-resource-extensions/oasis-cppa3-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisCppa3CppHandler.java b/smp-resource-extensions/oasis-cppa3-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisCppa3CppHandler.java index f3f01712b5b2c7c5d8be1617fb9d2b88678646a5..28ea8a09d49f46a8b2d9cb9a3e58e1653fd36080 100644 --- a/smp-resource-extensions/oasis-cppa3-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisCppa3CppHandler.java +++ b/smp-resource-extensions/oasis-cppa3-spi/src/main/java/eu/europa/ec/smp/spi/handler/OasisCppa3CppHandler.java @@ -20,7 +20,6 @@ import org.w3c.dom.Document; import org.xml.sax.SAXException; import javax.xml.XMLConstants; -import javax.xml.bind.JAXBElement; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; diff --git a/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/OasisCPPA3ExtensionTest.java b/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/OasisCPPA3ExtensionTest.java index 216c5792b1afc14d92cbd9e0668659f1925d068b..b7e74c027aa234bdb0f4ba455566de9e0e6e0f0a 100644 --- a/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/OasisCPPA3ExtensionTest.java +++ b/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/OasisCPPA3ExtensionTest.java @@ -7,7 +7,7 @@ import org.mockito.Mockito; import java.util.List; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class OasisCPPA3ExtensionTest { OasisCppaCppDocument mockOasisCppaCppDocument = Mockito.mock(OasisCppaCppDocument.class); diff --git a/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisCppaCppDocumentTest.java b/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisCppaCppDocumentTest.java index ad2430b6f485a90f8510add210e8d21aad29d765..4985468e8537d55971c4fdb1ce9559c3837a7da1 100644 --- a/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisCppaCppDocumentTest.java +++ b/smp-resource-extensions/oasis-cppa3-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisCppaCppDocumentTest.java @@ -1,6 +1,5 @@ package eu.europa.ec.smp.spi.def; -import eu.europa.ec.smp.spi.OasisCPPA3Extension; import eu.europa.ec.smp.spi.handler.OasisCppa3CppHandler; import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi; import eu.europa.ec.smp.spi.resource.SubresourceDefinitionSpi; @@ -11,7 +10,8 @@ import org.mockito.Mockito; import java.util.List; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; class OasisCppaCppDocumentTest { diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/AbstractOasisSMPHandler.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/AbstractOasisSMPHandler.java index f0ffb70f50430b50e335c1f3e50c9870a855ff34..66bc7466fcb762d17b4607f17b8db3716d35e6d8 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/AbstractOasisSMPHandler.java +++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/handler/AbstractOasisSMPHandler.java @@ -2,7 +2,6 @@ package eu.europa.ec.smp.spi.handler; import eu.europa.ec.smp.spi.api.model.RequestData; import eu.europa.ec.smp.spi.api.model.ResourceIdentifier; -import eu.europa.ec.smp.spi.api.model.ResponseData; import eu.europa.ec.smp.spi.exceptions.ResourceException; import eu.europa.ec.smp.spi.resource.ResourceHandlerSpi; import org.apache.commons.lang3.StringUtils; @@ -10,7 +9,6 @@ import org.apache.commons.lang3.StringUtils; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.util.List; /** * The abstract class with common methods for implementation of the ResourceHandlerSpi. diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java index 5cef9ff847c4c97852bec88753ff2971715f2214..d269d2b61f6948d46b65b1e8e86cea71230031e1 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java +++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/OasisSMPExtensionTest.java @@ -4,12 +4,11 @@ import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10; import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup20; import eu.europa.ec.smp.spi.resource.ResourceDefinitionSpi; import org.junit.jupiter.api.Test; -import org.mockito.Mock; import org.mockito.Mockito; import java.util.List; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class OasisSMPExtensionTest { diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java index 4eb083c284bdab068ccde4716d0f6d71f20a3726..f5c18722adbaebc2cb9c8dc92400d017cce5be4d 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java +++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceGroupConverterTest.java @@ -23,7 +23,8 @@ import org.junit.jupiter.api.Test; import java.io.ByteArrayInputStream; -import static org.junit.Assert.*; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThrows; /** * Created by gutowpa on 11/04/2017. diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java index 68812bd907ee5c58aff86ed72d06ae653944a063..7d682685d4421ec18f390b633b1cda3734c24cae 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java +++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/converter/ServiceMetadataConverterTest.java @@ -30,7 +30,6 @@ import org.w3c.dom.Element; import org.w3c.dom.NodeList; import java.io.ByteArrayInputStream; -import java.util.Arrays; import static org.junit.Assert.assertThrows; import static org.junit.jupiter.api.Assertions.*; diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java index 60b7b7f692486725ed0cc28b01f3f0ef9dc32ae4..e6fd163d60dba48872e871a0504335aeaad09c97 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java +++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup10Test.java @@ -10,11 +10,11 @@ import org.mockito.Mockito; import java.util.List; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class OasisSMPServiceGroup10Test { - OasisSMPServiceGroup10Handler mockOasisSMPServiceGroup10Handler = Mockito.mock(OasisSMPServiceGroup10Handler.class);; + OasisSMPServiceGroup10Handler mockOasisSMPServiceGroup10Handler = Mockito.mock(OasisSMPServiceGroup10Handler.class); OasisSMPServiceMetadata10 mockOasisSMPServiceMetadata10 = Mockito.mock(OasisSMPServiceMetadata10.class); OasisSMPServiceGroup10 testInstance = new OasisSMPServiceGroup10(mockOasisSMPServiceGroup10Handler,mockOasisSMPServiceMetadata10 ); diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java index 95981d128a305f563c399450d11dd8faa19b9448..4e7045e66d040954da84d0ba239aa33400985f65 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java +++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceGroup20Test.java @@ -14,7 +14,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; class OasisSMPServiceGroup20Test { OasisSMPServiceGroup20Handler mockOasisSMPServiceGroup20Handler = Mockito.mock(OasisSMPServiceGroup20Handler.class); - ; OasisSMPServiceMetadata20 mockOasisSMPServiceMetadata20 = Mockito.mock(OasisSMPServiceMetadata20.class); OasisSMPServiceGroup20 testInstance = new OasisSMPServiceGroup20(mockOasisSMPServiceGroup20Handler, mockOasisSMPServiceMetadata20); diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java index 63a85ce038c15173cd8b716a8d79a7f54e0476f3..5c0f37bafc245e89b0dd0737f50108b58b0bcfc5 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java +++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/def/OasisSMPServiceMetadata10Test.java @@ -7,7 +7,7 @@ import org.hamcrest.MatcherAssert; import org.junit.jupiter.api.Test; import org.mockito.Mockito; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class OasisSMPServiceMetadata10Test { diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java index ed7db215f05cec423def22fada0cfc434606a867..e921ed4291719b486f60855c2d56d342defc08aa 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java +++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/handler/OasisSMPServiceMetadata20HandlerTest.java @@ -2,11 +2,9 @@ package eu.europa.ec.smp.spi.handler; import eu.europa.ec.smp.spi.api.model.ResourceIdentifier; import eu.europa.ec.smp.spi.exceptions.ResourceException; -import eu.europa.ec.smp.spi.validation.ServiceMetadata10Validator; import eu.europa.ec.smp.spi.validation.ServiceMetadata20Validator; import org.hamcrest.MatcherAssert; import org.junit.jupiter.api.Test; -import org.mockito.Mockito; import static org.junit.Assert.assertThrows; diff --git a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/testutils/XmlTestUtils.java b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/testutils/XmlTestUtils.java index dbfd05d44a060bba56847f36cd8d0a79bf9dc8fc..17401d976daf54b0c359f4d1fc9f484633f2980e 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/testutils/XmlTestUtils.java +++ b/smp-resource-extensions/oasis-smp-spi/src/test/java/eu/europa/ec/smp/spi/testutils/XmlTestUtils.java @@ -33,6 +33,7 @@ import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import java.io.*; import java.net.URISyntaxException; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; @@ -49,7 +50,7 @@ public class XmlTestUtils { public static String loadDocumentAsString(String docResourcePath) throws IOException, URISyntaxException { byte[] value = loadDocumentAsByteArray(docResourcePath); - return new String(value, UTF_8); + return new String(value, StandardCharsets.UTF_8); } public static Document loadDocument(String docResourcePath) throws ParserConfigurationException, SAXException, IOException { diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationToken.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationToken.java index 8e82b88a321ecfb8dec9e28d699f17df6a610dd7..c85053b374e0d8dcf75216041a3ca18e761037e9 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationToken.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationToken.java @@ -1,8 +1,8 @@ package eu.europa.ec.edelivery.smp.auth; +import eu.europa.ec.edelivery.security.utils.SecurityUtils; import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; -import eu.europa.ec.edelivery.security.utils.SecurityUtils; import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPUserDetails.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPUserDetails.java index 4c2adee5507d094ee37a24a7b289cfbea2d5e506..bff5990d95e0c062a42a8b15ab4b1b95151d2925 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPUserDetails.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPUserDetails.java @@ -23,7 +23,7 @@ public class SMPUserDetails implements UserDetails { @Transient private final SecurityUtils.Secret sessionSecret; private boolean casAuthenticated = false; - private List<SMPAuthority> smpAuthorities = new ArrayList<>(); + private final List<SMPAuthority> smpAuthorities = new ArrayList<>(); public SMPUserDetails(DBUser user, SecurityUtils.Secret sessionSecret, List<SMPAuthority> smpAuthorities) { this.user = user; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/UILoginAuthenticationToken.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/UILoginAuthenticationToken.java index 43ce5a29d5a63ce5e6409243cb832cc75b6fcb60..15e1a19cbaf00a725c57eb512f64d29a358197b5 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/UILoginAuthenticationToken.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/UILoginAuthenticationToken.java @@ -1,7 +1,5 @@ package eu.europa.ec.edelivery.smp.auth; -import eu.europa.ec.edelivery.smp.logging.SMPLogger; -import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import org.springframework.security.authentication.AbstractAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPAutomationAuthenticationTypes.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPAutomationAuthenticationTypes.java index e0ccbeb75c83380eb120584b5cf69d20de68681f..04673eca9a7460c7a9d38e42bbc57e4a7844e10b 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPAutomationAuthenticationTypes.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPAutomationAuthenticationTypes.java @@ -1,18 +1,18 @@ package eu.europa.ec.edelivery.smp.auth.enums; /** - * Authentication types for application accounts supporting automated application functionalities. The application accounts - * are used for SMP web-service integrations. + * Authentication types for application accounts supporting automated application functionalities. The application accounts + * are used for SMP web-service integrations. + * <p> + * Supported authentication types + * - PASSWORD: the application username/password (Note:automation-user authentication is different than ui-user + * password and it can be used only for web-services!). + * - CERTIFICATE: certificate authentication username/password., * - * Supported authentication types - * - PASSWORD: the application username/password (Note:automation-user authentication is different than ui-user - * password and it can be used only for web-services!). - * - CERTIFICATE: certificate authentication username/password., - * - * @author Joze Rihtarsic - * @since 4.2 + * @author Joze Rihtarsic + * @since 4.2 */ public enum SMPAutomationAuthenticationTypes { PASSWORD, - CERTIFICATE; -} \ No newline at end of file + CERTIFICATE +} diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPUserAuthenticationTypes.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPUserAuthenticationTypes.java index 7b916df865a8670376016d96858a3afd986174cd..0e2564b95a4b4a71d1f4aee91da3101a7807a25c 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPUserAuthenticationTypes.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/auth/enums/SMPUserAuthenticationTypes.java @@ -14,5 +14,5 @@ package eu.europa.ec.edelivery.smp.auth.enums; */ public enum SMPUserAuthenticationTypes { PASSWORD, - SSO; -} \ No newline at end of file + SSO +} diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java index e26a640db0dc239963c939bcafc8ced105947ee1..35796a9fa2a3c19c3410d4d2712066e69168ef10 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/CertificateROToDBCertificateConverter.java @@ -4,6 +4,7 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBCertificate; import eu.europa.ec.edelivery.smp.data.ui.CertificateRO; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; + import java.time.OffsetDateTime; import java.time.ZoneId; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBExtensionToExtensionROConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBExtensionToExtensionROConverter.java index 534b297b9627545b40892e2e6794faca312b1378..0b8b583a9466ae04930dd8a623bcb7374b95ee64 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBExtensionToExtensionROConverter.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBExtensionToExtensionROConverter.java @@ -22,7 +22,7 @@ import java.util.stream.Collectors; @Component public class DBExtensionToExtensionROConverter implements Converter<DBExtension, ExtensionRO> { private static final SMPLogger LOG = SMPLoggerFactory.getLogger(DBExtensionToExtensionROConverter.class); - private ConversionService conversionService; + private final ConversionService conversionService; public DBExtensionToExtensionROConverter( @Lazy ConversionService conversionService) { this.conversionService = conversionService; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBResourceDefToResourceDefinitionROConverter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBResourceDefToResourceDefinitionROConverter.java index 0f57a0856a5f9d900257edfc3a6e30fca4583a67..dca7b5b36a7252f11aaf4eebbc434fc32d30bf14 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBResourceDefToResourceDefinitionROConverter.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/conversion/DBResourceDefToResourceDefinitionROConverter.java @@ -22,7 +22,7 @@ import java.util.stream.Collectors; @Component public class DBResourceDefToResourceDefinitionROConverter implements Converter<DBResourceDef, ResourceDefinitionRO> { private static final SMPLogger LOG = SMPLoggerFactory.getLogger(DBResourceDefToResourceDefinitionROConverter.class); - private ConversionService conversionService; + private final ConversionService conversionService; public DBResourceDefToResourceDefinitionROConverter(@Lazy ConversionService conversionService) { this.conversionService = conversionService; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/BaseDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/BaseDao.java index ac787cf2c160629f8126601da18e0e5ad2521590..402e9d52a87dcba400dd33fd1df574029bf4da9b 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/BaseDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/BaseDao.java @@ -19,13 +19,13 @@ import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import org.apache.commons.lang3.StringUtils; import org.springframework.core.GenericTypeResolver; +import org.springframework.transaction.annotation.Transactional; import javax.persistence.EntityManager; import javax.persistence.NoResultException; import javax.persistence.PersistenceContext; import javax.persistence.TypedQuery; import javax.persistence.criteria.*; -import org.springframework.transaction.annotation.Transactional; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -221,7 +221,7 @@ public abstract class BaseDao<E extends BaseEntity> { // get return parameter Object searchValue; try { - searchValue = m.invoke(searchParams, new Object[]{}); + searchValue = m.invoke(searchParams); } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { LOG.error("Error setting retrieveing search parameters", ex); continue; @@ -241,7 +241,7 @@ public abstract class BaseDao<E extends BaseEntity> { } } else { try { - cls.getMethod("set" + fieldName, new Class[]{m.getReturnType()}); + cls.getMethod("set" + fieldName, m.getReturnType()); } catch (NoSuchMethodException | SecurityException ex) { // method does not have setter // ignore other methods LOG.error("Field '" + fieldName + "' does not have a setter!", ex); diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDao.java index 05a60a1884c4ba8fb2b7cd7c87ce5b5ff5c31bf5..de28acf72a2233800fcd6791673570ba947310cc 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDao.java @@ -23,11 +23,11 @@ import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import javax.persistence.NoResultException; import javax.persistence.NonUniqueResultException; import javax.persistence.TypedQuery; -import org.springframework.transaction.annotation.Transactional; import java.time.OffsetDateTime; import java.util.List; import java.util.Optional; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java index 65db556e8483536c79c62d06d90185e3830cbaf9..208bd22e4e580723bd023c931c758e569a692802 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainDao.java @@ -19,11 +19,11 @@ import eu.europa.ec.edelivery.smp.exceptions.ErrorCode; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import javax.persistence.NoResultException; import javax.persistence.NonUniqueResultException; import javax.persistence.TypedQuery; -import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.List; import java.util.Optional; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainResourceDefDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainResourceDefDao.java index 9b73bb22489d85f3aa95869cea60dbaa6cc973ac..a610bc53fbe62c6d4a1516b974f3a94e7e1d4b9f 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainResourceDefDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/DomainResourceDefDao.java @@ -25,7 +25,6 @@ import java.util.List; import java.util.Optional; import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*; -import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.PARAM_DOMAIN_CODE; import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.INTERNAL_ERROR; /** diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDao.java index bb508d13412924f8d43c56f08460ef8a262b532e..990a1fc58eccf12c65107e445757d265615438d5 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDao.java @@ -14,7 +14,6 @@ package eu.europa.ec.edelivery.smp.data.dao; import eu.europa.ec.edelivery.smp.data.model.DBDomain; -import eu.europa.ec.edelivery.smp.data.model.DBDomainResourceDef; import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; import eu.europa.ec.edelivery.smp.data.model.doc.DBResourceFilter; import eu.europa.ec.edelivery.smp.data.model.ext.DBResourceDef; @@ -22,16 +21,13 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBUser; import eu.europa.ec.edelivery.smp.exceptions.ErrorCode; import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; -import eu.europa.ec.edelivery.smp.services.ui.filters.ResourceFilter; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import javax.persistence.NoResultException; import javax.persistence.NonUniqueResultException; import javax.persistence.TypedQuery; -import javax.persistence.criteria.*; -import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; import java.util.List; import java.util.Optional; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDao.java index 4d75164c4309f500046a3f9244a8485c5a588d9b..6b844f7c0f188f6194fe36abe3ca6d23e451ab36 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDao.java @@ -20,11 +20,11 @@ import eu.europa.ec.edelivery.smp.identifiers.Identifier; import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import javax.persistence.NoResultException; import javax.persistence.NonUniqueResultException; import javax.persistence.TypedQuery; -import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDefDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDefDao.java index b7a08ad6b79349dabf9ccdf7baab80a761a63e3f..059277e95c0dd37a156bafd134f720bd2063d04e 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDefDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/SubresourceDefDao.java @@ -13,22 +13,17 @@ package eu.europa.ec.edelivery.smp.data.dao; -import eu.europa.ec.edelivery.smp.data.model.DBDomain; -import eu.europa.ec.edelivery.smp.data.model.ext.DBExtension; -import eu.europa.ec.edelivery.smp.data.model.ext.DBResourceDef; import eu.europa.ec.edelivery.smp.data.model.ext.DBSubresourceDef; -import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import javax.persistence.NoResultException; import javax.persistence.NonUniqueResultException; import javax.persistence.TypedQuery; -import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*; -import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.CONFIGURATION_ERROR; import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.INTERNAL_ERROR; /** diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/UserDao.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/UserDao.java index 50115ee3d258590f3eddb9a94c4f826cafb9352b..76011857db10eeb70a8eeb6285b5dc3fb73b105d 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/UserDao.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/dao/UserDao.java @@ -22,11 +22,11 @@ import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import javax.persistence.NoResultException; import javax.persistence.NonUniqueResultException; import javax.persistence.TypedQuery; -import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java index 49370b4fcaddb91e3a3540ea7f0923314fa1eb82..fc840a401209eeb9688d0f6d7f11177c50c8a66c 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBAlert.java @@ -167,16 +167,15 @@ public class DBAlert extends BaseEntity { @Override public String toString() { - final StringBuffer sb = new StringBuffer("DBAlert{"); - sb.append("id=").append(id); - sb.append(", username=").append(username); - sb.append(", processedTime=").append(processedTime); - sb.append(", alertType=").append(alertType); - sb.append(", reportingTime=").append(reportingTime); - sb.append(", alertStatus=").append(alertStatus); - sb.append(", alertLevel=").append(alertLevel); - sb.append(", properties=").append(String.join(",", properties.keySet())); - sb.append('}'); - return sb.toString(); + String sb = "DBAlert{" + "id=" + id + + ", username=" + username + + ", processedTime=" + processedTime + + ", alertType=" + alertType + + ", reportingTime=" + reportingTime + + ", alertStatus=" + alertStatus + + ", alertLevel=" + alertLevel + + ", properties=" + String.join(",", properties.keySet()) + + '}'; + return sb; } } diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBGroup.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBGroup.java index ee038b7a41c6cb5842c289a8f32d8044f3f01d6b..3abc0cdf8fe002b309db88e900466bdb276a43d0 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBGroup.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBGroup.java @@ -16,14 +16,12 @@ package eu.europa.ec.edelivery.smp.data.model; import eu.europa.ec.edelivery.smp.data.dao.utils.ColumnDescription; import eu.europa.ec.edelivery.smp.data.enums.VisibilityType; import eu.europa.ec.edelivery.smp.data.model.user.DBGroupMember; -import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.hibernate.annotations.GenericGenerator; import org.hibernate.envers.Audited; import javax.persistence.*; - import java.util.ArrayList; import java.util.List; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBUserDeleteValidation.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBUserDeleteValidation.java index c855562991763b16acff0ef23a606be16861ec7e..fb7ce4c498883ba1be2cd171ec1f10453d55b9d9 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBUserDeleteValidation.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/DBUserDeleteValidation.java @@ -1,11 +1,6 @@ package eu.europa.ec.edelivery.smp.data.model; -import org.hibernate.envers.Audited; - -import javax.persistence.*; - - public class DBUserDeleteValidation { Long id; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBDocument.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBDocument.java index b0fc63c1c219e93ba3d8065e71ae577eb4b0b729..03d4c6ab1117d80b698c9bf8d0c9e72758be0777 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBDocument.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBDocument.java @@ -13,7 +13,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; -import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*; +import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.QUERY_DOCUMENT_FOR_RESOURCE; /** * Database optimization: load service metadata xml only when needed and diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBSubresource.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBSubresource.java index 1001f1aca40b72d224e921a96a8838ae6793fa61..be5fa900c921b3572be947cd7957c8e4ad9dc2e6 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBSubresource.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/doc/DBSubresource.java @@ -14,7 +14,8 @@ package eu.europa.ec.edelivery.smp.data.model.doc; import eu.europa.ec.edelivery.smp.data.dao.utils.ColumnDescription; -import eu.europa.ec.edelivery.smp.data.model.*; +import eu.europa.ec.edelivery.smp.data.model.BaseEntity; +import eu.europa.ec.edelivery.smp.data.model.CommonColumnsLengths; import eu.europa.ec.edelivery.smp.data.model.ext.DBSubresourceDef; import org.hibernate.annotations.GenericGenerator; import org.hibernate.envers.Audited; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/ext/DBExtension.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/ext/DBExtension.java index d9e5821de4736bcd2dc4932556c19ca70dcea54e..79a17159d3bf6dd557ad31f32ef0cd71f8813ef6 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/ext/DBExtension.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/model/ext/DBExtension.java @@ -12,7 +12,8 @@ import javax.persistence.*; import java.util.ArrayList; import java.util.List; -import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*; +import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.QUERY_EXTENSION_ALL; +import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.QUERY_EXTENSION_BY_IDENTIFIER; /** * Database table containing registered extensions data/description diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/AlertRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/AlertRO.java index 473c4b6d0853fdf7560e347bee60a7191c254563..4dfb67f4c13825c014a15a4fd419b371ffe940df 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/AlertRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/AlertRO.java @@ -26,7 +26,7 @@ public class AlertRO extends BaseRO { private AlertStatusEnum alertStatus; private String alertStatusDesc; private AlertLevelEnum alertLevel; - private Map<String, String> alertDetails = new HashMap<>(); + private final Map<String, String> alertDetails = new HashMap<>(); public String getSid() { return sid; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/CertificateRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/CertificateRO.java index e21af5e13f4682de8cb43a88214401067d4098b7..0507e5fbd3282c6a22bfa1068423e8d966f7a3ba 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/CertificateRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/CertificateRO.java @@ -26,7 +26,7 @@ public class CertificateRO extends BaseRO { private boolean isContainingKey; - private List<String> certificatePolicies = new ArrayList<>(); + private final List<String> certificatePolicies = new ArrayList<>(); private String invalidReason; private OffsetDateTime validFrom; private OffsetDateTime validTo; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DeleteEntityValidation.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DeleteEntityValidation.java index e6b92cd15655ace2d5b98144720f78a61a2071d8..6772d17ec5838f4e6e965e04507a53a01693cb3a 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DeleteEntityValidation.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DeleteEntityValidation.java @@ -11,8 +11,8 @@ public class DeleteEntityValidation implements Serializable { private boolean validOperation; private String stringMessage; - private List<String> listIds= new ArrayList<>(); - private List<String> listDeleteNotPermitedIds = new ArrayList<>(); + private final List<String> listIds= new ArrayList<>(); + private final List<String> listDeleteNotPermitedIds = new ArrayList<>(); public boolean isValidOperation() { return validOperation; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java index c0cddbfcd027681e32907aaeb611573264072def..be5ed1676aadb5d5c3fd32280a1c2756852c7c06 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainRO.java @@ -25,8 +25,8 @@ public class DomainRO extends BaseRO { private boolean smlRegistered; private VisibilityType visibility; private String defaultResourceTypeIdentifier; - private List<GroupRO> groups = new ArrayList<>(); - private List<String> resourceDefinitions = new ArrayList<>(); + private final List<GroupRO> groups = new ArrayList<>(); + private final List<String> resourceDefinitions = new ArrayList<>(); public String getDomainId() { return domainId; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainResourceDefinitionRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainResourceDefinitionRO.java index c1278c4ac5c96c84d557d99c9e378cb8353aab58..50f072d1c5a98aba5143aebed67894c5b6a11345 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainResourceDefinitionRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/DomainResourceDefinitionRO.java @@ -1,9 +1,6 @@ package eu.europa.ec.edelivery.smp.data.ui; -import java.util.ArrayList; -import java.util.List; - /** * @author Joze Rihtarsic * @since 5.0 diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ExtensionRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ExtensionRO.java index 6a5ffeff0e2713547b49e6e4d68d8d6fffdf6604..7be31c4f90149aa918f49fcb0f319a5148fdffa6 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ExtensionRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ExtensionRO.java @@ -18,7 +18,7 @@ public class ExtensionRO extends BaseRO { private String name; private String description; private String implementationName; - private List<ResourceDefinitionRO> resourceDefinitions = new ArrayList<>(); + private final List<ResourceDefinitionRO> resourceDefinitions = new ArrayList<>(); public String getExtensionId() { return extensionId; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java index 5f2cdd6168dd06b1dc0de53aa71ce779f02a03d3..36ae72990c0da637fac0ef50030c0e5da4aa6fa0 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/NavigationTreeNodeRO.java @@ -17,7 +17,7 @@ public class NavigationTreeNodeRO extends BaseRO { private String icon; private String tooltip; private String routerLink; - private List<NavigationTreeNodeRO> children = new ArrayList<>(); + private final List<NavigationTreeNodeRO> children = new ArrayList<>(); public NavigationTreeNodeRO() { } diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ParticipantSMLRecord.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ParticipantSMLRecord.java deleted file mode 100644 index da7ae6614aefb068783870c9bcf437306577e28a..0000000000000000000000000000000000000000 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ParticipantSMLRecord.java +++ /dev/null @@ -1,55 +0,0 @@ -package eu.europa.ec.edelivery.smp.data.ui; - -import eu.europa.ec.edelivery.smp.data.model.DBDomain; -import eu.europa.ec.edelivery.smp.data.ui.enums.SMLStatusEnum; - -import java.io.Serializable; - -public class ParticipantSMLRecord implements Serializable { - - private SMLStatusEnum status; - - private String participantIdentifier; - private String participantScheme; - private DBDomain domain; - - public ParticipantSMLRecord(SMLStatusEnum status, String participantId, String participantScheme, DBDomain domain ) { - this.status = status; - this.participantIdentifier = participantId; - this.participantScheme = participantScheme; - this.domain = domain; - - } - - public SMLStatusEnum getStatus() { - return status; - } - - public void setStatus(SMLStatusEnum status) { - this.status = status; - } - - public String getParticipantIdentifier() { - return participantIdentifier; - } - - public void setParticipantId(String participantId) { - this.participantIdentifier = participantId; - } - - public String getParticipantScheme() { - return participantScheme; - } - - public void setParticipantScheme(String participantScheme) { - this.participantScheme = participantScheme; - } - - public DBDomain getDomain() { - return domain; - } - - public void setDomain(DBDomain domain) { - this.domain = domain; - } -} diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ResourceDefinitionRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ResourceDefinitionRO.java index 7deeeb2855647f3e2f615cebbd97e08bfd1b34c8..f2420c1201f45fb60d7dba3717a470a2a3636b73 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ResourceDefinitionRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ResourceDefinitionRO.java @@ -19,7 +19,7 @@ public class ResourceDefinitionRO extends BaseRO { private String mimeType; private String urlSegment; - private List<SubresourceDefinitionRO> subresourceDefinitions = new ArrayList<>(); + private final List<SubresourceDefinitionRO> subresourceDefinitions = new ArrayList<>(); public String getResourceId() { return resourceId; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupDomainRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupDomainRO.java deleted file mode 100644 index 69e12d89ebba743d95fa892f262a5a83a5a3cd29..0000000000000000000000000000000000000000 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupDomainRO.java +++ /dev/null @@ -1,60 +0,0 @@ -package eu.europa.ec.edelivery.smp.data.ui; - - -/** - * @author Joze Rihtarsic - * @since 4.1 - */ - - -public class ServiceGroupDomainRO extends BaseRO { - - - private static final long serialVersionUID = 9008583888835630014L; - private Long id; - private Long domainId; - String domainCode; - String smlSubdomain; - boolean smlRegistered; - - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDomainId() { - return domainId; - } - - public void setDomainId(Long domainId) { - this.domainId = domainId; - } - - public String getDomainCode() { - return domainCode; - } - - public void setDomainCode(String domainCode) { - this.domainCode = domainCode; - } - - public String getSmlSubdomain() { - return smlSubdomain; - } - - public void setSmlSubdomain(String smlSubdomain) { - this.smlSubdomain = smlSubdomain; - } - - public boolean isSmlRegistered() { - return smlRegistered; - } - - public void setSmlRegistered(boolean registered) { - this.smlRegistered = registered; - } -} diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupRO.java deleted file mode 100644 index c01e683848d2536a7f5d125a96554cbefb457c3f..0000000000000000000000000000000000000000 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupRO.java +++ /dev/null @@ -1,90 +0,0 @@ -package eu.europa.ec.edelivery.smp.data.ui; - - -import eu.europa.ec.edelivery.smp.data.ui.enums.EntityROStatus; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author Joze Rihtarsic - * @since 4.1 - */ - - -public class ServiceGroupRO extends BaseRO { - - - private static final long serialVersionUID = 9008583888835630015L; - private Long id; - private String participantIdentifier; - private String participantScheme; - private boolean smlRegistered = false; - private List<UserRO> lstUser = new ArrayList<>(); - private List<ServiceGroupDomainRO> serviceGroupDomains = new ArrayList<>(); - // for UI service groups are in one list. - private List<ServiceMetadataRO> serviceMetadata = new ArrayList<>(); - private int extensionStatus = EntityROStatus.PERSISTED.getStatusNumber(); - private String extension; - - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getParticipantIdentifier() { - return participantIdentifier; - } - - public void setParticipantIdentifier(String participantIdentifier) { - this.participantIdentifier = participantIdentifier; - } - - public String getParticipantScheme() { - return participantScheme; - } - - public void setParticipantScheme(String participantScheme) { - this.participantScheme = participantScheme; - } - - public boolean isSmlRegistered() { - return smlRegistered; - } - - public void setSmlRegistered(boolean smlRegistered) { - this.smlRegistered = smlRegistered; - } - - public int getExtensionStatus() { - return extensionStatus; - } - - public void setExtensionStatus(int extensionStatus) { - this.extensionStatus = extensionStatus; - } - - public String getExtension() { - return extension; - } - - public void setExtension(String extension) { - this.extension = extension; - } - - public List<UserRO> getUsers() { - return lstUser; - } - - public List<ServiceGroupDomainRO> getServiceGroupDomains() { - return serviceGroupDomains; - } - - public List<ServiceMetadataRO> getServiceMetadata() { - return serviceMetadata; - } -} diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupSearchRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupSearchRO.java index b6b5cf802200ba5febe7215e0d039dd48f80ea2d..8c17560a1453fbd9059bd4554a284ceac02a7e46 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupSearchRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupSearchRO.java @@ -21,7 +21,7 @@ public class ServiceGroupSearchRO extends BaseRO { private String resourceDefUrlSegment; private String participantIdentifier; private String participantScheme; - private List<ServiceMetadataRO> lstServiceMetadata = new ArrayList<>(); + private final List<ServiceMetadataRO> lstServiceMetadata = new ArrayList<>(); public Long getId() { diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupValidationRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupValidationRO.java deleted file mode 100644 index 3d181ac20371fc68eceb5ba3d63022ea4ce334fe..0000000000000000000000000000000000000000 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceGroupValidationRO.java +++ /dev/null @@ -1,74 +0,0 @@ -package eu.europa.ec.edelivery.smp.data.ui; - -public class ServiceGroupValidationRO extends BaseRO { - private static final long serialVersionUID = 9008583888835630017L; - - public static final int ERROR_CODE_OK =0; - public static final int ERROR_CODE_SERVICE_GROUP_EXISTS =1; - public static final int ERROR_CODE_INVALID_EXTENSION =2; - - Long serviceGroupId; - String extension; - String errorMessage; - String participantScheme; - String participantIdentifier; - int statusAction = 0; - - int errorCode = ERROR_CODE_OK; - - public Long getServiceGroupId() { - return serviceGroupId; - } - - public void setServiceGroupId(Long serviceGroupId) { - this.serviceGroupId = serviceGroupId; - } - - public String getExtension() { - return extension; - } - - public void setExtension(String extension) { - this.extension = extension; - } - - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - - public int getStatusAction() { - return statusAction; - } - - public void setStatusAction(int statusAction) { - this.statusAction = statusAction; - } - - public String getParticipantScheme() { - return participantScheme; - } - - public void setParticipantScheme(String participantScheme) { - this.participantScheme = participantScheme; - } - - public String getParticipantIdentifier() { - return participantIdentifier; - } - - public void setParticipantIdentifier(String participantIdentifier) { - this.participantIdentifier = participantIdentifier; - } - - public int getErrorCode() { - return errorCode; - } - - public void setErrorCode(int errorCode) { - this.errorCode = errorCode; - } -} diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataValidationRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataValidationRO.java deleted file mode 100644 index b454ec55128040dd6f2484ba950df28832ed2d7b..0000000000000000000000000000000000000000 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/ServiceMetadataValidationRO.java +++ /dev/null @@ -1,77 +0,0 @@ -package eu.europa.ec.edelivery.smp.data.ui; - -/** - * @author Joze Rihtarsic - * @since 4.1 - */ -public class ServiceMetadataValidationRO extends BaseRO { - - - private static final long serialVersionUID = 9008583888835630019L; - - String participantScheme; - String participantIdentifier; - String documentIdentifierScheme; - String documentIdentifier; - - String errorMessage; - String xmlContent; - - int statusAction = 0; - - public String getParticipantScheme() { - return participantScheme; - } - - public void setParticipantScheme(String participantScheme) { - this.participantScheme = participantScheme; - } - - public String getParticipantIdentifier() { - return participantIdentifier; - } - - public void setParticipantIdentifier(String participantIdentifier) { - this.participantIdentifier = participantIdentifier; - } - - public String getDocumentIdentifierScheme() { - return documentIdentifierScheme; - } - - public void setDocumentIdentifierScheme(String documentIdentifierScheme) { - this.documentIdentifierScheme = documentIdentifierScheme; - } - - public String getDocumentIdentifier() { - return documentIdentifier; - } - - public void setDocumentIdentifier(String documentIdentifier) { - this.documentIdentifier = documentIdentifier; - } - - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - - public String getXmlContent() { - return xmlContent; - } - - public void setXmlContent(String xmlContent) { - this.xmlContent = xmlContent; - } - - public int getStatusAction() { - return statusAction; - } - - public void setStatusAction(int statusAction) { - this.statusAction = statusAction; - } -} diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java index 16ae95532fc67a94c982a74ce5281c9e6e4710ff..0336286a1fa1ad36d5ed22e5ec06143e199070c3 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpConfigRO.java @@ -21,7 +21,7 @@ public class SmpConfigRO implements Serializable { private String passwordValidationRegExp; private String passwordValidationRegExpMessage; - private List<String> webServiceAuthTypes = new ArrayList<>(); + private final List<String> webServiceAuthTypes = new ArrayList<>(); public boolean isSmlIntegrationOn() { diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpInfoRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpInfoRO.java index e48892502e201aaf80899ea88aee060b6261d4b6..66f0a360b318885b2680be1217ca06761de7d7cd 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpInfoRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/SmpInfoRO.java @@ -16,7 +16,7 @@ public class SmpInfoRO implements Serializable { private String ssoAuthenticationLabel; private String ssoAuthenticationURI; private String contextPath; - private List<String> authTypes = new ArrayList<>(); + private final List<String> authTypes = new ArrayList<>(); public String getVersion() { return version; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/exceptions/ErrorResponseRO.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/exceptions/ErrorResponseRO.java index cdc776e9ae99b9013a5c0e236775df350b1b7fae..3974033ba997c463ce92f4ab6e1f1ef84230e724 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/exceptions/ErrorResponseRO.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/exceptions/ErrorResponseRO.java @@ -76,11 +76,10 @@ public class ErrorResponseRO { @Override public String toString() { - final StringBuffer sb = new StringBuffer("ErrorResponseRO{"); - sb.append("'businessCode'='").append(businessCode).append('\''); - sb.append(", 'errorDescription'='").append(errorDescription).append('\''); - sb.append(", 'errorUniqueId'='").append(errorUniqueId).append('\''); - sb.append('}'); - return sb.toString(); + String sb = "ErrorResponseRO{" + "'businessCode'='" + businessCode + '\'' + + ", 'errorDescription'='" + errorDescription + '\'' + + ", 'errorUniqueId'='" + errorUniqueId + '\'' + + '}'; + return sb; } -} \ No newline at end of file +} diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/BadRequestException.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/BadRequestException.java index 6fcf1a38a56073b637fbd81e6568512a654028df..a28a76e90dc30081ec10b427cd7d71972629236c 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/BadRequestException.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/BadRequestException.java @@ -13,13 +13,11 @@ package eu.europa.ec.edelivery.smp.exceptions; -import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode; - /** * Created by migueti on 13/01/2017. */ public class BadRequestException extends RuntimeException { - private ErrorBusinessCode errorBusinessCode; + private final ErrorBusinessCode errorBusinessCode; public BadRequestException(ErrorBusinessCode errorBusinessCode, String sMsg) { super(sMsg); diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorBusinessCode.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorBusinessCode.java index 13081b04cfa403539c25e680938e6a4f8fd309dc..f43458a3d68a79d78353d0eab3f29433e9f39c04 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorBusinessCode.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/ErrorBusinessCode.java @@ -28,5 +28,5 @@ public enum ErrorBusinessCode { NOT_FOUND, USER_NOT_FOUND, INVALID_INPUT_DATA, - TECHNICAL; + TECHNICAL } diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/SMPRuntimeException.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/SMPRuntimeException.java index fda9563605eada8e8ae87286097d337ad940ce14..264565b0d9a6f1c1af9581f043cce27072abf612 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/SMPRuntimeException.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/exceptions/SMPRuntimeException.java @@ -4,7 +4,7 @@ package eu.europa.ec.edelivery.smp.exceptions; * */ public class SMPRuntimeException extends RuntimeException { - private ErrorCode errorCode; + private final ErrorCode errorCode; public SMPRuntimeException(ErrorCode errorCode, Object ... args) { super(errorCode.getMessage(args)); diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/identifiers/AbstractIdentifierFormatter.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/identifiers/AbstractIdentifierFormatter.java index 3cdb57fadbc95754372fc8ae070498820051f840..ea8b442888c7780f26eb3e2a72bbdce461779967 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/identifiers/AbstractIdentifierFormatter.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/identifiers/AbstractIdentifierFormatter.java @@ -259,7 +259,7 @@ public abstract class AbstractIdentifierFormatter<T> { if (this.formatterTypes == null) { this.formatterTypes = new ArrayList<>(); } - this.formatterTypes.addAll(Arrays.asList(formatterTypes));; + this.formatterTypes.addAll(Arrays.asList(formatterTypes)); } public List<FormatterType> getFormatterTypes() { diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/security/ResourceGuard.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/security/ResourceGuard.java index ec76779bf0db9252cd136eee26275f4f67264f53..74d3ec329c7960c65a0febccd12f9510d6a6f5ca 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/security/ResourceGuard.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/security/ResourceGuard.java @@ -19,8 +19,6 @@ import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import eu.europa.ec.edelivery.smp.servlet.ResourceAction; import org.springframework.stereotype.Service; -import java.util.Collections; - /** * Service implements logic if user can activate action on the resource */ @@ -82,40 +80,21 @@ public class ResourceGuard { DBDomain domain = group.getDomain(); DBUser dbuser = user == null ? null : user.getUser(); // if domain is internal check if user is member of domain, or any internal resources, groups - if (domain.getVisibility() == VisibilityType.PRIVATE && - (dbuser == null || - !(domainMemberDao.isUserDomainMember(dbuser, domain) - || groupMemberDao.isUserAnyDomainGroupResourceMember(dbuser, domain) - || resourceMemberDao.isUserAnyDomainResourceMember(dbuser, domain))) + if ((resource.getVisibility() == null || domain.getVisibility() == VisibilityType.PRIVATE) + && (dbuser == null || + !(domainMemberDao.isUserDomainMember(dbuser, domain) + || groupMemberDao.isUserAnyDomainGroupResourceMember(dbuser, domain) + || resourceMemberDao.isUserAnyDomainResourceMember(dbuser, domain))) ) { LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is not authorized to read internal domain [{}] resources", user, domain); return false; } - // if group is internal check if user is member of group, or any group resources, - if (group.getVisibility() == VisibilityType.PRIVATE && - (dbuser == null || - !(groupMemberDao.isUserGroupMember(dbuser, Collections.singletonList(group)) - || resourceMemberDao.isUserAnyGroupResourceMember(dbuser, group)) - )) { - LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is not authorized to read internal group [{}] resources", user, domain); - return false; - } // if resource is public anybody can see it if (resource.getVisibility() == VisibilityType.PUBLIC) { LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] authorized to read public resource [{}]", user, resource); return true; } - if (dbuser == null) { - LOG.debug(SMPLogger.SECURITY_MARKER, "Anonymous user [{}] is not authorized to read resource [{}]", user, resource); - return false; - } - - if (resource.getVisibility() == null || resource.getVisibility() == VisibilityType.PRIVATE) { - boolean isResourceMember = resourceMemberDao.isUserResourceMember(user.getUser(), resource); - LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] authorized: [{}] to read private resource [{}]", user, isResourceMember, resource); - return isResourceMember; - } LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is not authorized to read resource [{}]", user, resource); return false; } @@ -160,11 +139,6 @@ public class ResourceGuard { } - public boolean canCreate(SMPUserDetails user, DBSubresource subresource) { - LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is trying to create subresource [{}]", user, subresource); - return canUpdate(user, subresource); - } - public boolean canDelete(SMPUserDetails user, DBResource resource, DBDomain domain) { LOG.debug(SMPLogger.SECURITY_MARKER, "User [{}] is trying to delete resource [{}]", user, resource); // same as for create diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/CRLVerifierService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/CRLVerifierService.java index 0fcdc3558951529d82eade5bb82245bbf2c5ee1e..1d5ec305cd936c1b5d223c72a30eb690e22d9845 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/CRLVerifierService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/CRLVerifierService.java @@ -257,7 +257,7 @@ public class CRLVerifierService implements ICRLVerifierService { return false; } - for (String parameter : Arrays.asList(parameters)) { + for (String parameter : parameters) { if (StringUtils.isBlank(parameter)) { return false; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationService.java index 1de3d8e465d6263b37c07ce12b9e754e5675730e..f54e5c7eddfeaf47f3e1438939dc080df87c40dc 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationService.java @@ -15,7 +15,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; + import java.util.Map; + import static eu.europa.ec.edelivery.smp.exceptions.ErrorCode.CONFIGURATION_ERROR; import static eu.europa.ec.edelivery.smp.logging.SMPMessageCode.*; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/mail/MailService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/mail/MailService.java index 8965eaafad938f8d87a83f67037835f3f27a9995..44e3fd4c37f0007d1d4eebca8f86fd7c544b370f 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/mail/MailService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/mail/MailService.java @@ -35,8 +35,8 @@ public class MailService { private static final SMPLogger LOG = SMPLoggerFactory.getLogger(MailService.class); - private Configuration freemarkerConfig; - private JavaMailSenderImpl javaMailSender; + private final Configuration freemarkerConfig; + private final JavaMailSenderImpl javaMailSender; public MailService(Configuration freemarkerConfig, JavaMailSenderImpl javaMailSender) { this.freemarkerConfig = freemarkerConfig; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/spi/data/SpiResponseData.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/spi/data/SpiResponseData.java index bb52492414ec1f1e4d9ffe613766a662e0852075..fd5ffd9f98ea009e8db1241e54a6544b23461cd6 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/spi/data/SpiResponseData.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/spi/data/SpiResponseData.java @@ -1,9 +1,6 @@ package eu.europa.ec.edelivery.smp.services.spi.data; -import eu.europa.ec.smp.spi.api.model.ResourceIdentifier; import eu.europa.ec.smp.spi.api.model.ResponseData; -import org.apache.commons.lang3.builder.EqualsBuilder; -import org.apache.commons.lang3.builder.HashCodeBuilder; import java.io.ByteArrayOutputStream; import java.io.OutputStream; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainService.java index a64af55725d027271146489f2fb2ded8de5a6235..a60788bfe6ff272fc88afed12ce5a46eb7904c61 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainService.java @@ -38,14 +38,14 @@ public class UIDomainService extends UIServiceBase<DBDomain, DomainRO> { private static final SMPLogger LOG = SMPLoggerFactory.getLogger(UIDomainService.class); - private DomainDao domainDao; - private DomainMemberDao domainMemberDao; - private ResourceDao resourceDao; - private ResourceDefDao resourceDefDao; - private DomainResourceDefDao domainResourceDefDao; - private ConversionService conversionService; - private GroupDao groupDao; - private GroupMemberDao groupMemberDao; + private final DomainDao domainDao; + private final DomainMemberDao domainMemberDao; + private final ResourceDao resourceDao; + private final ResourceDefDao resourceDefDao; + private final DomainResourceDefDao domainResourceDefDao; + private final ConversionService conversionService; + private final GroupDao groupDao; + private final GroupMemberDao groupMemberDao; public UIDomainService(ConversionService conversionService, @@ -102,11 +102,11 @@ public class UIDomainService extends UIServiceBase<DBDomain, DomainRO> { public void createDomainData(DomainRO data) { if (StringUtils.isBlank(data.getDomainCode())){ throw new SMPRuntimeException(ErrorCode.INVALID_DOMAIN_DATA, "Domain code must not be empty!"); - }; + } if (domainDao.getDomainByCode(data.getDomainCode()).isPresent()){ throw new SMPRuntimeException(ErrorCode.INVALID_DOMAIN_DATA, "Domain with code ["+data.getDomainCode()+"] already exists!"); - }; + } DBDomain domain = new DBDomain(); domain.setDomainCode(data.getDomainCode()); domain.setDefaultResourceTypeIdentifier(data.getDefaultResourceTypeIdentifier()); diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIKeystoreService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIKeystoreService.java index c438fa91b2bceedb8334c30f0334ef9d6561eeec..59d03b59258e74cb41ce39a00799d03f8cff0513 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIKeystoreService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIKeystoreService.java @@ -7,16 +7,15 @@ import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import eu.europa.ec.edelivery.smp.services.ConfigurationService; -import eu.europa.ec.edelivery.smp.services.ICRLVerifierService; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.convert.ConversionService; import org.springframework.stereotype.Service; import javax.net.ssl.KeyManager; import javax.net.ssl.KeyManagerFactory; import java.io.*; +import java.nio.file.Files; import java.security.*; import java.security.cert.Certificate; import java.security.cert.CertificateException; @@ -36,8 +35,8 @@ public class UIKeystoreService extends BasicKeystoreService { private static final SMPLogger LOG = SMPLoggerFactory.getLogger(UIKeystoreService.class); - private ConversionService conversionService; - private ConfigurationService configurationService; + private final ConversionService conversionService; + private final ConfigurationService configurationService; public UIKeystoreService(ConversionService conversionService, ConfigurationService configurationService) { super(null); @@ -45,9 +44,9 @@ public class UIKeystoreService extends BasicKeystoreService { this.configurationService = configurationService; } - private Map<String, Key> keystoreKeys = new HashMap<>(); - private Map<String, X509Certificate> keystoreCertificates = new HashMap<>(); - private List<CertificateRO> certificateROList = new ArrayList<>(); + private final Map<String, Key> keystoreKeys = new HashMap<>(); + private final Map<String, X509Certificate> keystoreCertificates = new HashMap<>(); + private final List<CertificateRO> certificateROList = new ArrayList<>(); private KeyManager[] keyManagers; @@ -71,7 +70,7 @@ public class UIKeystoreService extends BasicKeystoreService { KeyStore keyStore = loadKeystore(keystoreFile, keystoreSecToken); if (keyStore == null) { - LOG.error("Keystore: [{}] is not loaded! Check the keystore and the configuration!",keystoreFile.getAbsolutePath()); + LOG.error("Keystore: [{}] is not loaded! Check the keystore and the configuration!", keystoreFile.getAbsolutePath()); return; } // init key managers for TLS @@ -132,14 +131,17 @@ public class UIKeystoreService extends BasicKeystoreService { private KeyStore loadKeystore(File keyStoreFile, String keystoreSecToken) { // Load the KeyStore. - if (keyStoreFile != null && !keyStoreFile.exists()) { - LOG.error("Keystore file '{}' does not exists!", keyStoreFile.getAbsolutePath()); + if (keyStoreFile == null) { + LOG.error("Keystore file is not defined!"); + return null; + } + if (!keyStoreFile.exists()) { + LOG.error("Keystore file '[{}]' does not exists!", keyStoreFile); return null; } - KeyStore keyStore; - try (InputStream keystoreInputStream = new FileInputStream(keyStoreFile)) { + try (InputStream keystoreInputStream = Files.newInputStream(keyStoreFile.toPath())) { String type = StringUtils.defaultIfEmpty(configurationService.getKeystoreType(), "JKS"); LOG.info("Load keystore [{}] with type [{}].", keyStoreFile, type); keyStore = KeyStore.getInstance(type); @@ -195,7 +197,7 @@ public class UIKeystoreService extends BasicKeystoreService { } if (keystoreKeys.isEmpty()) { - throw new SMPRuntimeException(ErrorCode.CONFIGURATION_ERROR, "Could not retrieve key: " + keyAlias + " from empty keystore!" + configurationService.getKeystoreFile()); + throw new SMPRuntimeException(ErrorCode.CONFIGURATION_ERROR, "Could not retrieve key: [" + keyAlias + "] from empty keystore: [" + configurationService.getKeystoreFile() +"]!"); } @@ -236,8 +238,8 @@ public class UIKeystoreService extends BasicKeystoreService { /** * Import keys smp keystore * - * @param newKeystore - * @param password + * @param newKeystore new keystore file to import + * @param password password for new keystore file */ public List<CertificateRO> importKeys(KeyStore newKeystore, String password) throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException, IOException, CertificateException { @@ -257,16 +259,16 @@ public class UIKeystoreService extends BasicKeystoreService { /** * Delete keys smp keystore * - * @param alias + * @param alias alias of the key to delete from keystore */ public X509Certificate deleteKey(String alias) throws NoSuchAlgorithmException, KeyStoreException, IOException, CertificateException { String keystoreSecToken = configurationService.getKeystoreCredentialToken(); KeyStore keyStore = loadKeystore(configurationService.getKeystoreFile(), keystoreSecToken); - if (keyStore == null || !keyStore.containsAlias(alias)){ + if (keyStore == null || !keyStore.containsAlias(alias)) { return null; } - X509Certificate certificate = (X509Certificate)keyStore.getCertificate(alias); + X509Certificate certificate = (X509Certificate) keyStore.getCertificate(alias); keyStore.deleteEntry(alias); // store keystore storeKeystore(keyStore); @@ -278,10 +280,10 @@ public class UIKeystoreService extends BasicKeystoreService { * Store keystore * * @param keyStore to store - * @throws IOException - * @throws CertificateException - * @throws NoSuchAlgorithmException - * @throws KeyStoreException + * @throws IOException if the keystore can not be persisted + * @throws CertificateException if keystore cannot be stored + * @throws NoSuchAlgorithmException if keystore type algorithm is not supported + * @throws KeyStoreException if keystore cannot be stored */ private void storeKeystore(KeyStore keyStore) throws IOException, CertificateException, NoSuchAlgorithmException, KeyStoreException { File keystoreFilePath = configurationService.getKeystoreFile(); diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyService.java index 17426bbc01e5cb38525df4cc6561bf3e7e709c69..b6d4ec470a71117fd9a0992a7d66972eb2651780 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyService.java @@ -2,13 +2,13 @@ package eu.europa.ec.edelivery.smp.services.ui; import eu.europa.ec.edelivery.smp.config.SMPEnvironmentProperties; import eu.europa.ec.edelivery.smp.config.enums.SMPEnvPropertyEnum; +import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger; import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao; import eu.europa.ec.edelivery.smp.data.model.DBConfiguration; import eu.europa.ec.edelivery.smp.data.ui.PropertyRO; import eu.europa.ec.edelivery.smp.data.ui.PropertyValidationRO; import eu.europa.ec.edelivery.smp.data.ui.ServiceResultProperties; -import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; @@ -27,8 +27,8 @@ import java.util.Optional; import java.util.function.Function; import java.util.stream.Collectors; -import static eu.europa.ec.edelivery.smp.cron.CronTriggerConfig.TRIGGER_BEAN_PROPERTY_REFRESH; import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SMP_CLUSTER_ENABLED; +import static eu.europa.ec.edelivery.smp.cron.CronTriggerConfig.TRIGGER_BEAN_PROPERTY_REFRESH; import static org.apache.commons.lang3.time.DateFormatUtils.ISO_8601_EXTENDED_DATETIME_FORMAT; /** diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchService.java index d5f38fd79a546266daed65e70e53e6d602a05e08..554d5eb3a87a0459f7d48720ba7bdd749b0ca3c0 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchService.java @@ -102,7 +102,6 @@ public class UIResourceSearchService extends UIServiceBase<DBResource, ServiceGr smdro.setDocumentIdentifier(subresource.getIdentifierValue()); smdro.setDocumentIdentifierScheme(subresource.getIdentifierScheme()); serviceGroupRo.getServiceMetadata().add(smdro); - }); return serviceGroupRo; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceService.java index 5e6844e99e4ce7da522cf75a4fef188697abdd41..8a12cc1e1529d52decb71b5125d309a1ec63269b 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceService.java @@ -1,7 +1,9 @@ package eu.europa.ec.edelivery.smp.services.ui; import eu.europa.ec.edelivery.smp.conversion.IdentifierService; -import eu.europa.ec.edelivery.smp.data.dao.*; +import eu.europa.ec.edelivery.smp.data.dao.ResourceDao; +import eu.europa.ec.edelivery.smp.data.dao.SubresourceDao; +import eu.europa.ec.edelivery.smp.data.dao.SubresourceDefDao; import eu.europa.ec.edelivery.smp.data.model.doc.DBDocument; import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; import eu.europa.ec.edelivery.smp.data.model.doc.DBSubresource; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java index 0ce0c73c7bd53c0ee9029a6105bdf8b099ed644a..fac78825f1f8e9e1ee978c19c042dc942b35bda7 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreService.java @@ -34,7 +34,6 @@ import java.security.cert.Certificate; import java.security.cert.*; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.time.OffsetDateTime; import java.util.*; import java.util.regex.Pattern; diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java index 2ec17d2b745cb7d66fc575d8c1c09c475b92b622..d58089891f7fe6c18240b300e0536629597f85f9 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIUserService.java @@ -49,12 +49,12 @@ public class UIUserService extends UIServiceBase<DBUser, UserRO> { private static final SMPLogger LOG = SMPLoggerFactory.getLogger(UIUserService.class); - private UserDao userDao; + private final UserDao userDao; CredentialDao credentialDao; - private ConfigurationService configurationService; - private ConversionService conversionService; + private final ConfigurationService configurationService; + private final ConversionService conversionService; - private UITruststoreService truststoreService; + private final UITruststoreService truststoreService; public UIUserService(UserDao userDao, CredentialDao credentialDao, diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/sml/SmlConnector.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/sml/SmlConnector.java index cecc91f2b157b1ce8d6f67721689e8d2333293cc..2804ed719a08ba3a3c2565f1eac1941e04f7a12d 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/sml/SmlConnector.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/sml/SmlConnector.java @@ -120,7 +120,7 @@ public class SmlConnector implements ApplicationContextAware { } catch (NotFoundFault e) { return processSMLErrorMessage(e, normalizedParticipantId); } catch (Exception e) { - LOG.error(e.getClass().getName() + "" + e.getMessage(), e); + LOG.error(e.getClass().getName() + e.getMessage(), e); throw new SMPRuntimeException(ErrorCode.SML_INTEGRATION_EXCEPTION, e, ExceptionUtils.getRootCauseMessage(e)); } } @@ -193,7 +193,7 @@ public class SmlConnector implements ApplicationContextAware { } catch (BadRequestFault e) { processSMLErrorMessage(e, domain); } catch (Exception e) { - LOG.error(e.getClass().getName() + "" + e.getMessage(), e); + LOG.error(e.getClass().getName() + e.getMessage(), e); throw new SMPRuntimeException(ErrorCode.SML_INTEGRATION_EXCEPTION, e, ExceptionUtils.getRootCauseMessage(e)); } // if not error is thrown - the registration is done OK. @@ -256,7 +256,7 @@ public class SmlConnector implements ApplicationContextAware { } catch (NotFoundFault e) { return processSMLErrorMessage(e, normalizedParticipantId); } catch (Exception e) { - LOG.error(e.getClass().getName() + "" + e.getMessage(), e); + LOG.error(e.getClass().getName() + e.getMessage(), e); throw new SMPRuntimeException(ErrorCode.SML_INTEGRATION_EXCEPTION, e, ExceptionUtils.getRootCauseMessage(e)); } } @@ -273,7 +273,7 @@ public class SmlConnector implements ApplicationContextAware { } catch (NotFoundFault e) { processSMLErrorMessage(e, domain); } catch (Exception e) { - LOG.error(e.getClass().getName() + "" + e.getMessage(), e); + LOG.error(e.getClass().getName() + e.getMessage(), e); throw new SMPRuntimeException(ErrorCode.SML_INTEGRATION_EXCEPTION, e, ExceptionUtils.getRootCauseMessage(e)); } } diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/PropertyUtils.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/PropertyUtils.java index 47d7875b44ad45674b2b2851b938a6f9b506d360..8a3c2063a718818acd430dc29916a6fec5208ffc 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/PropertyUtils.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/PropertyUtils.java @@ -31,7 +31,7 @@ public class PropertyUtils { private static final String REG_EXP_VALUE_SEPARATOR = "\\|"; private static final String REG_EXP_MAP_SEPARATOR = ":"; - private static UrlValidator urlValidator = new UrlValidator(new String[]{"http", "https"}, UrlValidator.ALLOW_LOCAL_URLS); + private static final UrlValidator urlValidator = new UrlValidator(new String[]{"http", "https"}, UrlValidator.ALLOW_LOCAL_URLS); public static Object parseProperty(SMPPropertyEnum prop, String value, File rootFolder) { diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SessionSecurityUtils.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SessionSecurityUtils.java index 0bc9fb999aa8793ec5a8ac98b109f816216d2fe3..55c05034fe2def18fa114076a72af29705347909 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SessionSecurityUtils.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SessionSecurityUtils.java @@ -67,12 +67,12 @@ public class SessionSecurityUtils { SecurityUtils.Secret secret = getAuthenticationSecret(); if (secret == null) { // try to convert to long value - return new Long(id); + return Long.valueOf(id); } String decVal = SecurityUtils.decryptUrlSafe(secret, id); int indexOfSeparator = decVal.indexOf('#'); String value = indexOfSeparator > -1 ? decVal.substring(0, indexOfSeparator) : decVal; - return new Long(value); + return Long.valueOf(value); } public static Authentication getSessionAuthentication() { diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SmpUrlBuilder.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SmpUrlBuilder.java index f7229c9131258b1907d1dca4bfba6d79df1e8fc3..f8bde695867dbfa5cd324f5d783a9cab4899fd1f 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SmpUrlBuilder.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/utils/SmpUrlBuilder.java @@ -27,7 +27,6 @@ import org.springframework.web.util.UriComponentsBuilder; import org.springframework.web.util.UrlPathHelper; import javax.servlet.http.HttpServletRequest; -import java.net.URI; /** * This class provides tools to generate SMP's URL in responses. The client can use provided URL for another call to the SMP. @@ -49,7 +48,7 @@ public class SmpUrlBuilder { private static final SMPLogger LOG = SMPLoggerFactory.getLogger(SmpUrlBuilder.class); - private ConfigurationService configurationService; + private final ConfigurationService configurationService; public SmpUrlBuilder(ConfigurationService configurationService) { diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/SmlIntegrationConfiguration.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/SmlIntegrationConfiguration.java index 054c48018579106b19be4bef7a12155077395371..123646df62a8940fa19b0c594d22cad5371c9fae 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/SmlIntegrationConfiguration.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/SmlIntegrationConfiguration.java @@ -2,8 +2,6 @@ package eu.europa.ec.edelivery.smp.config; import eu.europa.ec.bdmsl.ws.soap.*; import eu.europa.ec.edelivery.smp.data.model.DBDomain; -import org.mockito.ArgumentMatchers; -import org.mockito.BDDMockito; import org.mockito.Mockito; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Primary; @@ -16,8 +14,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.BDDMockito.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.BDDMockito.willThrow; import static org.springframework.beans.factory.config.ConfigurableBeanFactory.SCOPE_PROTOTYPE; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPExtensionInitializerTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPExtensionInitializerTest.java index 0223d2052351249cb825e4531c72f4af5e54ff20..122721ce26b9d24d6ec67c066840f4d78b63b460 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPExtensionInitializerTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPExtensionInitializerTest.java @@ -1,11 +1,7 @@ package eu.europa.ec.edelivery.smp.config.init; -import eu.europa.ec.edelivery.smp.config.SMPDatabaseConfig; import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; import eu.europa.ec.edelivery.smp.data.dao.ExtensionDao; -import eu.europa.ec.edelivery.smp.services.AbstractServiceTest; -import eu.europa.ec.smp.spi.OasisSMPExtension; -import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.ComponentScan; @@ -13,7 +9,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.Transactional; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; @ContextConfiguration( classes = {SMPExtensionInitializerTest.OasisSMPExtensionConfig.class} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPKeystoreConfBuilderTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPKeystoreConfBuilderTest.java index 60fe605941c37d6fd327bad3a7d69ac6e4bbb54c..a0276f209d33f4d90e0ad2a9c926ddf27e940096 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPKeystoreConfBuilderTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/config/init/SMPKeystoreConfBuilderTest.java @@ -1,19 +1,16 @@ package eu.europa.ec.edelivery.smp.config.init; - import eu.europa.ec.edelivery.security.utils.SecurityUtils; import org.junit.jupiter.api.Test; import org.mockito.Mockito; import java.io.File; -import java.nio.file.Path; import java.nio.file.Paths; import java.security.KeyStore; import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.*; -import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.TRUSTSTORE_FILENAME; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertNotNull; public class SMPKeystoreConfBuilderTest { diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverterTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverterTest.java index 9c7db51b3f1a71fb5ac5a4314acdeacf68ea643a..85ca31d4c0e64bafb09658fca28846fdeb16278e 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverterTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/DBUserToUserROConverterTest.java @@ -8,15 +8,12 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBCredential; import eu.europa.ec.edelivery.smp.data.model.user.DBUser; import eu.europa.ec.edelivery.smp.data.ui.UserRO; import eu.europa.ec.edelivery.smp.services.ConfigurationService; -import org.junit.Ignore; import org.junit.Test; import org.junit.platform.commons.util.StringUtils; import org.junit.runner.RunWith; import org.mockito.InjectMocks; -import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnitRunner; -import org.springframework.core.convert.ConversionService; import java.time.OffsetDateTime; import java.util.List; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/IdentifierServiceTests.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/IdentifierServiceTests.java index cb0c29d5d29f76c3f0b3581fa36cae858eacd05c..ffbe10d07a86a367e54baded344b213a4f52d2e9 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/IdentifierServiceTests.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/IdentifierServiceTests.java @@ -25,7 +25,8 @@ import java.util.Arrays; import java.util.Collection; import static java.util.Arrays.asList; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; /** * Created by gutowpa on 06/03/2017. @@ -56,12 +57,12 @@ public class IdentifierServiceTests { @Parameterized.Parameter(3) public String expectedValue; - private IdentifierService testInstance = new IdentifierService(Mockito.mock(ConfigurationService.class)); + private final IdentifierService testInstance = new IdentifierService(Mockito.mock(ConfigurationService.class)); @Before public void init() { - testInstance.configureDocumentIdentifierFormatter(asList(new String[]{"case-SENSITIVE-scheme-1", "Case-SENSITIVE-Scheme-2"})); - testInstance.configureParticipantIdentifierFormatter(asList(new String[]{"case-sensitive-scheme-1", "Case-SENSITIVE-Scheme-2"}), false, null); + testInstance.configureDocumentIdentifierFormatter(asList("case-SENSITIVE-scheme-1", "Case-SENSITIVE-Scheme-2")); + testInstance.configureParticipantIdentifierFormatter(asList("case-sensitive-scheme-1", "Case-SENSITIVE-Scheme-2"), false, null); } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverterTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverterTest.java index b85908b636585fac6a162c7a2713890c20578cf2..dd0860e88a70fd98c34671aaefd2b54efdddde36 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverterTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/conversion/UserROToDBUserConverterTest.java @@ -9,8 +9,6 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import org.springframework.core.convert.ConversionService; -import static org.assertj.core.api.Assertions.assertThat; - /** * @author Sebastian-Ion TINCU */ diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractBaseDao.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractBaseDao.java index 688d0c90da722024614c3c2c027cbf998b479ead..76f40a0f8dfca2d838a07930f9a57dff184f2edb 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractBaseDao.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractBaseDao.java @@ -1,12 +1,7 @@ package eu.europa.ec.edelivery.smp.data.dao; import eu.europa.ec.edelivery.smp.config.SMPDatabaseConfig; -import eu.europa.ec.edelivery.smp.data.model.DBDomain; -import eu.europa.ec.edelivery.smp.data.model.DBDomainResourceDef; -import eu.europa.ec.edelivery.smp.data.model.ext.DBResourceDef; -import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; import org.apache.commons.io.FileUtils; -import org.junit.Before; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; @@ -19,8 +14,6 @@ import java.nio.file.Path; import java.nio.file.Paths; import static eu.europa.ec.edelivery.smp.config.enums.SMPEnvPropertyEnum.*; -import static eu.europa.ec.edelivery.smp.testutil.TestConstants.TEST_DOMAIN_CODE_1; -import static eu.europa.ec.edelivery.smp.testutil.TestConstants.TEST_SML_SUBDOMAIN_CODE_1; /** * @author Joze Rihtarsic diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractJunit5BaseDao.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractJunit5BaseDao.java index 5c06e1be41b7627855021141e424207fd4135306..4f1b49a3db2a8d9e353d3e45573f89f822048201 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractJunit5BaseDao.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractJunit5BaseDao.java @@ -1,16 +1,15 @@ package eu.europa.ec.edelivery.smp.data.dao; import eu.europa.ec.edelivery.smp.config.SMPDatabaseConfig; +import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; import eu.europa.ec.edelivery.smp.services.AbstractServiceTest; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.extension.ExtendWith; -import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.jdbc.Sql; import org.springframework.test.context.junit.jupiter.SpringExtension; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.io.IOException; import java.nio.file.Path; @@ -32,10 +31,14 @@ import static eu.europa.ec.edelivery.smp.config.enums.SMPEnvPropertyEnum.*; executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD) public abstract class AbstractJunit5BaseDao { + @Autowired + protected ConfigurationDao configurationDao; + @Autowired protected TestUtilsDao testUtilsDao; + public static final String BUILD_FOLDER = "target"; - public static final Path SECURITY_PATH= Paths.get(BUILD_FOLDER, "smp"); + public static final Path SECURITY_PATH = Paths.get(BUILD_FOLDER, "smp"); public static final String DATABASE_URL = "jdbc:h2:file:./target/DomiSmpTestDb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE;AUTO_SERVER=TRUE;"; public static final String DATABASE_USERNAME = "smp"; public static final String DATABASE_PASS = "smp"; @@ -63,4 +66,10 @@ public abstract class AbstractJunit5BaseDao { FileUtils.copyDirectory(resourceDirectory.toFile(), SECURITY_PATH.toFile()); } + + public void setDatabaseProperty(SMPPropertyEnum prop, String value) { + configurationDao.setPropertyToDatabase(prop, value, "Test property"); + configurationDao.reloadPropertiesFromDatabase(); + } + } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractResourceDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractResourceDaoTest.java index 8619ee2160ade882bf9f769ed8ce2d9d3a8d74db..0f9e3c54b2343969c715f662d3f9811f76355e8e 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractResourceDaoTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractResourceDaoTest.java @@ -1,6 +1,8 @@ package eu.europa.ec.edelivery.smp.data.dao; -import eu.europa.ec.edelivery.smp.data.model.*; +import eu.europa.ec.edelivery.smp.data.model.DBDomain; +import eu.europa.ec.edelivery.smp.data.model.DBDomainResourceDef; +import eu.europa.ec.edelivery.smp.data.model.DBGroup; import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember; import eu.europa.ec.edelivery.smp.data.model.user.DBUser; @@ -8,7 +10,6 @@ import eu.europa.ec.edelivery.smp.testutil.TestConstants; import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; import org.junit.Before; import org.springframework.beans.factory.annotation.Autowired; - import org.springframework.transaction.annotation.Transactional; import java.util.Optional; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AlertDaoIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AlertDaoIntegrationTest.java index a1d25f4091d89eef2894f1311a114c48c95938e4..00cd8b3d92f23a62859c9d68cc2bcc1c91fbe848 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AlertDaoIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AlertDaoIntegrationTest.java @@ -2,7 +2,6 @@ package eu.europa.ec.edelivery.smp.data.dao; import eu.europa.ec.edelivery.smp.data.model.DBAlert; import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; -import org.junit.Ignore; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AuditIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AuditIntegrationTest.java index 10059d2473aafa5659032f7e84ca9a8f9b090e86..e856c8deae0c13dc35504c8a07837f6275dad6d6 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AuditIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AuditIntegrationTest.java @@ -14,8 +14,9 @@ package eu.europa.ec.edelivery.smp.data.dao; import eu.europa.ec.edelivery.smp.data.enums.CredentialTargetType; import eu.europa.ec.edelivery.smp.data.enums.CredentialType; -import eu.europa.ec.edelivery.smp.data.enums.VisibilityType; -import eu.europa.ec.edelivery.smp.data.model.*; +import eu.europa.ec.edelivery.smp.data.model.BaseEntity; +import eu.europa.ec.edelivery.smp.data.model.DBAlert; +import eu.europa.ec.edelivery.smp.data.model.DBDomain; import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; import eu.europa.ec.edelivery.smp.data.model.doc.DBSubresource; import eu.europa.ec.edelivery.smp.data.model.user.DBCertificate; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/BaseDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/BaseDaoTest.java index fde66a67f7a35997bc9bf82aac35506f5ebbc7a8..9d3e78d163cdd27b997423d21e8f62851e25a019 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/BaseDaoTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/BaseDaoTest.java @@ -1,17 +1,16 @@ package eu.europa.ec.edelivery.smp.data.dao; import eu.europa.ec.edelivery.smp.data.model.DBDomain; -import eu.europa.ec.edelivery.smp.exceptions.ErrorCode; import org.junit.Assert; -import org.junit.Ignore; import org.junit.Test; -import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import javax.persistence.EntityManager; -import javax.persistence.Parameter; import javax.persistence.PersistenceContext; -import javax.persistence.criteria.*; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; import java.util.Collections; import java.util.List; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDAOImplTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDAOImplTest.java index 99909a9f8021a7aada6a0f06d464fd1fe8fdf1b6..9d5fe297846f4d0e6c660f67304f779ce589000d 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDAOImplTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ConfigurationDAOImplTest.java @@ -414,11 +414,11 @@ public class ConfigurationDAOImplTest extends AbstractBaseDao { String newTestPassword = UUID.randomUUID().toString(); String newDBTestPassword = newTestPassword; configurationDao.setPropertyToDatabase(SMPPropertyEnum.KEYSTORE_PASSWORD, - newDBTestPassword + "", ""); + newDBTestPassword, ""); configurationDao.setPropertyToDatabase(SMPPropertyEnum.TRUSTSTORE_PASSWORD, - newDBTestPassword + "", ""); + newDBTestPassword, ""); configurationDao.setPropertyToDatabase(SMPPropertyEnum.HTTP_PROXY_PASSWORD, - newDBTestPassword + "", ""); + newDBTestPassword, ""); configurationDao.reloadPropertiesFromDatabase(); @@ -440,7 +440,7 @@ public class ConfigurationDAOImplTest extends AbstractBaseDao { assertEquals(newTestPassword, configurationDao.getCachedPropertyValue(SMPPropertyEnum.HTTP_PROXY_PASSWORD)); // test decrypt - File encryptionKey = (File) configurationDao.getCachedPropertyValue(SMPPropertyEnum.ENCRYPTION_FILENAME); + File encryptionKey = configurationDao.getCachedPropertyValue(SMPPropertyEnum.ENCRYPTION_FILENAME); assertEquals(newTestPassword, configurationDao.decryptString(SMPPropertyEnum.KEYSTORE_PASSWORD, dbKeystorePassword, encryptionKey)); assertEquals(newTestPassword, configurationDao.decryptString(SMPPropertyEnum.TRUSTSTORE_PASSWORD, dbTruststorePassword, encryptionKey)); assertEquals(newTestPassword, configurationDao.decryptString(SMPPropertyEnum.HTTP_PROXY_PASSWORD, dbProxyPassword, encryptionKey)); @@ -485,7 +485,7 @@ public class ConfigurationDAOImplTest extends AbstractBaseDao { configurationDao.contextRefreshedEvent(); PropertyUpdateListener listener = Mockito.mock(PropertyUpdateListener.class); - Mockito.doReturn(Arrays.asList(SMP_ALERT_BATCH_SIZE)).when(listener).handledProperties(); + Mockito.doReturn(Collections.singletonList(SMP_ALERT_BATCH_SIZE)).when(listener).handledProperties(); Mockito.doNothing().when(listener).updateProperties(Mockito.anyMap()); ArgumentCaptor<Map<SMPPropertyEnum, Object>> argCaptor = ArgumentCaptor.forClass(Map.class); configurationDao.updateListener("testListener", listener); diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDaoIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDaoIntegrationTest.java index 9b22b3e18d9b28ffb03f76fb54485fc989868033..0f1a8280d07b267d4d61f2660c2d95e0cfd16ed6 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDaoIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/CredentialDaoIntegrationTest.java @@ -7,8 +7,6 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBCredential; import eu.europa.ec.edelivery.smp.data.model.user.DBUser; import eu.europa.ec.edelivery.smp.testutil.TestConstants; import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; -import org.apache.commons.lang3.StringUtils; -import org.junit.Assert; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoIntegrationTest.java index 08034e8154805f0b644e042c48e5cd5c15ea40c2..d54bc1eeb2476c1a673166866486d99cc72f4eed 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoIntegrationTest.java @@ -1,24 +1,19 @@ package eu.europa.ec.edelivery.smp.data.dao; -import eu.europa.ec.edelivery.smp.data.model.*; -import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; +import eu.europa.ec.edelivery.smp.data.model.DBDomain; import eu.europa.ec.edelivery.smp.exceptions.ErrorCode; import eu.europa.ec.edelivery.smp.testutil.TestConstants; import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.ExpectedException; import org.springframework.beans.factory.annotation.Autowired; -import java.util.Collections; -import java.util.List; import java.util.Optional; import static org.junit.Assert.*; /** - * Purpose of class is to test all resource methods with database. + * Purpose of class is to test all resource methods with database. * * @author Joze Rihtarsic * @since 4.1 @@ -67,7 +62,7 @@ public class DomainDaoIntegrationTest extends AbstractBaseDao { public void getTheOnlyDomainNoDomain() { // execute - IllegalStateException exception = assertThrows(IllegalStateException.class, ()->testInstance.getTheOnlyDomain()); + IllegalStateException exception = assertThrows(IllegalStateException.class, () -> testInstance.getTheOnlyDomain()); assertEquals(ErrorCode.NO_DOMAIN.getMessage(), exception.getMessage()); } @@ -85,7 +80,7 @@ public class DomainDaoIntegrationTest extends AbstractBaseDao { // test Optional<DBDomain> res = testInstance.getTheOnlyDomain(); - assertTrue(!res.isPresent()); + assertFalse(res.isPresent()); } @Test @@ -170,7 +165,7 @@ public class DomainDaoIntegrationTest extends AbstractBaseDao { // set testUtilsDao.createSubresources(); DBDomain d = testUtilsDao.getD1(); - Long cnt = testInstance.getResourceCountForDomain(d.getId()); + Long cnt = testInstance.getResourceCountForDomain(d.getId()); assertEquals(1, cnt.intValue()); } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoTest.java index 9d433f3f1021763a127838d97595192c86391e76..317829b0af634b91453395e8d6affbb133e15b7b 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DomainDaoTest.java @@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; /** * The group of resources with shared resource management rights. The user with group admin has rights to create/delete diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoMembershipIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoMembershipIntegrationTest.java index 9addd96b9757d53a1a5788a8d26e87c8d82ea97d..0ba25fa2610adbe4f4b420b89311da418c544495 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoMembershipIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoMembershipIntegrationTest.java @@ -6,8 +6,8 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember; import eu.europa.ec.edelivery.smp.data.model.user.DBUser; import eu.europa.ec.edelivery.smp.testutil.TestConstants; import org.junit.Test; - import org.springframework.transaction.annotation.Transactional; + import java.util.Optional; import static org.junit.Assert.*; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoTest.java index b2010dcf791c5f4781fff1d2f5ec59a430bf0d21..83804441ff424675c187a326aa6245439b3e9fdf 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDaoTest.java @@ -16,8 +16,8 @@ import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; - import org.springframework.transaction.annotation.Transactional; + import java.util.List; import java.util.Optional; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDefDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDefDaoTest.java index f2bb6de27a9ad453b106895c9ad5e3b3bacda900..d09cc0d418185dbbabe90751fe60f4739ec2ecce 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDefDaoTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceDefDaoTest.java @@ -1,6 +1,5 @@ package eu.europa.ec.edelivery.smp.data.dao; -import eu.europa.ec.edelivery.smp.data.model.ext.DBExtension; import eu.europa.ec.edelivery.smp.data.model.ext.DBResourceDef; import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; import org.junit.Before; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceMemberDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceMemberDaoTest.java index 2754131d0c33d206d51c969b184fd5dc919627ee..584888a02d25ab07c7b0372aecab6ab761dcfa0e 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceMemberDaoTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/ResourceMemberDaoTest.java @@ -4,8 +4,6 @@ import eu.europa.ec.edelivery.smp.data.enums.MembershipRoleType; import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember; import eu.europa.ec.edelivery.smp.data.model.user.DBUser; -import eu.europa.ec.edelivery.smp.testutil.TestConstants; -import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/TestUtilsDao.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/TestUtilsDao.java index 5b6ca57d5d95f598a8af07002aaeb12b39595a7d..b2e4749253bcc47a464c884cf193ab6093df51ff 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/TestUtilsDao.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/TestUtilsDao.java @@ -20,10 +20,10 @@ import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCrypt; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; -import org.springframework.transaction.annotation.Transactional; import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*; import static eu.europa.ec.edelivery.smp.testutil.TestDBUtils.*; @@ -609,6 +609,15 @@ public class TestUtilsDao { } + @Transactional + public <E> E find(Class<E> clazz, Object id) { + LOG.debug("find entity: [{}] for type [{}]", id, clazz); + return memEManager.find(clazz, id); + } + + + + public void clear() { memEManager.clear(); } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/UserDaoIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/UserDaoIntegrationTest.java index 8ca074ee21db1ebd17330d763404c2300a990c03..60a880694d2d73682bb5344015d5febda010edb2 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/UserDaoIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/UserDaoIntegrationTest.java @@ -7,10 +7,7 @@ import eu.europa.ec.edelivery.smp.testutil.TestConstants; import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; import org.hamcrest.CoreMatchers; import org.hamcrest.MatcherAssert; -import org.junit.Ignore; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.ExpectedException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPMySQL5InnoDBDialectTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPMySQL5InnoDBDialectTest.java index 0156f38f92176effbf3cdda856ebd37539c1c40c..9733d71cf26f1f91acb8fe0bd6953875743f121b 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPMySQL5InnoDBDialectTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPMySQL5InnoDBDialectTest.java @@ -4,7 +4,6 @@ import org.junit.Test; import java.sql.Types; -import static org.junit.Assert.*; import static org.junit.Assert.assertEquals; public class SMPMySQL5InnoDBDialectTest { @@ -25,4 +24,4 @@ public class SMPMySQL5InnoDBDialectTest { assertEquals("varchar(65535) CHARACTER SET utf8 COLLATE utf8_bin", testInstance.getTypeName(Types.VARCHAR, 65535,0,0)); } -} \ No newline at end of file +} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGeneratorTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGeneratorTest.java index 9e772a48a3fc4e9db79521b9d911eac621162611..e45d672e61991a630dfd9c9f81abcf263ba47fe5 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGeneratorTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/utils/SMPSchemaGeneratorTest.java @@ -1,9 +1,7 @@ package eu.europa.ec.edelivery.smp.data.dao.utils; -import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import junitparams.JUnitParamsRunner; import junitparams.Parameters; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; @@ -12,19 +10,17 @@ import org.junit.runner.RunWith; import java.io.File; import java.io.IOException; import java.util.Arrays; -import java.util.Collections; import java.util.List; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; @RunWith(JUnitParamsRunner.class) public class SMPSchemaGeneratorTest { - private static final String DIALECT_ORACLE="org.hibernate.dialect.Oracle10gDialect"; - private static final String DIALECT_MYSQL_INNO5="org.hibernate.dialect.MySQL5InnoDBDialect"; + private static final String DIALECT_ORACLE = "org.hibernate.dialect.Oracle10gDialect"; + private static final String DIALECT_MYSQL_INNO5 = "org.hibernate.dialect.MySQL5InnoDBDialect"; - protected static String ENTITY_PACKAGES= "eu.europa.ec.edelivery.smp.data.model,eu.europa.ec.edelivery.smp.data.model.user,eu.europa.ec.edelivery.smp.data.model.doc,eu.europa.ec.edelivery.smp.data.model.ext"; + protected static String ENTITY_PACKAGES = "eu.europa.ec.edelivery.smp.data.model,eu.europa.ec.edelivery.smp.data.model.user,eu.europa.ec.edelivery.smp.data.model.doc,eu.europa.ec.edelivery.smp.data.model.ext"; private static final Object[] dialectTestCases() { @@ -55,16 +51,16 @@ public class SMPSchemaGeneratorTest { File fDrop = new File("target/oracle10g-drop.ddl"); f.delete(); // delete if exists fDrop.delete(); // delete if exists - assertTrue(!f.exists()); - assertTrue(!fDrop.exists()); + assertFalse(f.exists()); + assertFalse(fDrop.exists()); testInstance.createDDLScript(folder, dialect, lstPackages, version); assertTrue(f.exists()); - assertTrue(f.length()>0); + assertTrue(f.length() > 0); assertTrue(fDrop.exists()); - assertTrue(fDrop.length()>0); + assertTrue(fDrop.length() > 0); } @Test @@ -122,11 +118,12 @@ public class SMPSchemaGeneratorTest { testInstance.getAllEntityClasses("eu.not.exists"); } + @Test public void getAllEntityClasses() throws ClassNotFoundException { // given when - List<Class> result = testInstance.getAllEntityClasses("eu.europa.ec.edelivery.smp.data.model"); + List<Class> result = testInstance.getAllEntityClasses("eu.europa.ec.edelivery.smp.data.model"); assertEquals(10, result.size()); } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/ui/databind/SMPAuthorityDeserializerTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/ui/databind/SMPAuthorityDeserializerTest.java index 70f337365e29adc663459518fff7c1327b134fc5..981c5f49c8dcd67434c7b3f997a517ef8c17f31d 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/ui/databind/SMPAuthorityDeserializerTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/ui/databind/SMPAuthorityDeserializerTest.java @@ -3,7 +3,6 @@ package eu.europa.ec.edelivery.smp.data.ui.databind; import com.fasterxml.jackson.databind.ObjectMapper; import eu.europa.ec.edelivery.smp.data.ui.UserRO; import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority; -import org.junit.Ignore; import org.junit.Test; import java.io.IOException; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/identifiers/ParticipantIdentifierFormatterParseTests.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/identifiers/ParticipantIdentifierFormatterParseTests.java index 4cdd7142dab33ec4f027a7ed5d3898489a6c7259..546372d0bede9f075587a875658ee4d43ac5b170 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/identifiers/ParticipantIdentifierFormatterParseTests.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/identifiers/ParticipantIdentifierFormatterParseTests.java @@ -7,7 +7,6 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; - import java.util.Arrays; import java.util.Collection; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/DomainGuardTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/DomainGuardTest.java index 13ea2e83cf4064e78b4adea6da2fa9f3f39949bb..0365092530f0fedb61bcb14342c3fd0f5393067c 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/DomainGuardTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/DomainGuardTest.java @@ -2,7 +2,9 @@ package eu.europa.ec.edelivery.smp.security; import eu.europa.ec.edelivery.smp.auth.SMPUserDetails; import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; +import eu.europa.ec.edelivery.smp.data.enums.VisibilityType; import eu.europa.ec.edelivery.smp.data.model.DBDomain; +import eu.europa.ec.edelivery.smp.data.model.user.DBUser; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import eu.europa.ec.edelivery.smp.servlet.ResourceAction; import eu.europa.ec.edelivery.smp.servlet.ResourceRequest; @@ -23,7 +25,7 @@ class DomainGuardTest extends AbstractJunit5BaseDao { DomainGuard testInstance; ResourceRequest resourceRequest = Mockito.mock(ResourceRequest.class); - SMPUserDetails user = Mockito.mock(SMPUserDetails.class); + SMPUserDetails userDetails = Mockito.mock(SMPUserDetails.class); @BeforeEach public void prepareDatabase() { @@ -37,7 +39,7 @@ class DomainGuardTest extends AbstractJunit5BaseDao { void testResolveAndAuthorizeForDomainInvalidRequestMissingAction() { SMPRuntimeException result = assertThrows(SMPRuntimeException.class, - () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user)); + () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails)); assertThat(result.getMessage(), containsString("Invalid request")); } @@ -46,44 +48,44 @@ class DomainGuardTest extends AbstractJunit5BaseDao { void testResolveAndAuthorizeForDomainDeleteInvalidRequestNotUser() { when(resourceRequest.getAction()).thenReturn(ResourceAction.DELETE); AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class, - () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user)); + () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails)); assertThat(result.getMessage(), containsString("User is not authorized for the domain!")); } @Test void testResolveAndAuthorizeForDomainDeleteInvalidRequestUserNotAuthorized() { - when(user.getUser()).thenReturn(testUtilsDao.getUser3()); + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser3()); when(resourceRequest.getAction()).thenReturn(ResourceAction.DELETE); AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class, - () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user)); + () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails)); assertThat(result.getMessage(), containsString("User is not authorized for the domain!")); } @Test void testResolveAndAuthorizeForDomainCreateInvalidRequestUserNotAuthorized() { - when(user.getUser()).thenReturn(testUtilsDao.getUser3()); + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser3()); when(resourceRequest.getAction()).thenReturn(ResourceAction.CREATE_UPDATE); AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class, - () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user)); + () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails)); assertThat(result.getMessage(), containsString("User is not authorized for the domain!")); } @Test void testResolveAndAuthorizeForDomainDeleteUserAuthorized() { - when(user.getUser()).thenReturn(testUtilsDao.getUser1()); + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1()); when(resourceRequest.getAction()).thenReturn(ResourceAction.DELETE); - DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, user); + DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails); assertNotNull(domain); } @Test void testResolveAndAuthorizeForDomainDeleteCreateAuthorized() { - when(user.getUser()).thenReturn(testUtilsDao.getUser1()); + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1()); when(resourceRequest.getAction()).thenReturn(ResourceAction.CREATE_UPDATE); - DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, user); + DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails); assertNotNull(domain); } @@ -91,7 +93,7 @@ class DomainGuardTest extends AbstractJunit5BaseDao { void testResolveAndAuthorizeForDomainCreateInvalidRequestNotUser() { when(resourceRequest.getAction()).thenReturn(ResourceAction.CREATE_UPDATE); AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class, - () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, user)); + () -> testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails)); assertThat(result.getMessage(), containsString("User is not authorized for the domain!")); } @@ -99,16 +101,37 @@ class DomainGuardTest extends AbstractJunit5BaseDao { @Test void testResolveAndAuthorizeForDomainNoUserOK() { when(resourceRequest.getAction()).thenReturn(ResourceAction.READ); - DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, user); + DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails); assertNotNull(domain); } @Test void testResolveAndAuthorizeForDomain() { - when(user.getUser()).thenReturn(testUtilsDao.getUser1()); + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1()); when(resourceRequest.getAction()).thenReturn(ResourceAction.READ); - DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, user); + DBDomain domain = testInstance.resolveAndAuthorizeForDomain(resourceRequest, userDetails); assertNotNull(domain); } + @Test + void testCanReadPrivateDomainAnonimous() { + DBDomain domain = Mockito.mock(DBDomain.class); + when(domain.getVisibility()).thenReturn(VisibilityType.PRIVATE); + when(userDetails.getUser()).thenReturn(null); + boolean result = testInstance.canRead(userDetails, domain); + assertFalse(result); + } + + @Test + void testCanReadPrivateDomainUnAuthorized() { + DBDomain domain = Mockito.mock(DBDomain.class); + DBUser user = Mockito.mock(DBUser.class); + when(domain.getVisibility()).thenReturn(VisibilityType.PRIVATE); + when(userDetails.getUser()).thenReturn(user); + when(user.getId()).thenReturn(-100L); + when(domain.getId()).thenReturn(-100L); + // then user is not authorized to read the domain + boolean result = testInstance.canRead(userDetails, domain); + assertFalse(result); + } } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/ResourceGuardTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/ResourceGuardTest.java new file mode 100644 index 0000000000000000000000000000000000000000..18865ac0e4f77fec8db04e664c20793d4347181a --- /dev/null +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/security/ResourceGuardTest.java @@ -0,0 +1,104 @@ +package eu.europa.ec.edelivery.smp.security; + +import eu.europa.ec.edelivery.smp.auth.SMPUserDetails; +import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; +import eu.europa.ec.edelivery.smp.data.enums.VisibilityType; +import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; +import eu.europa.ec.edelivery.smp.servlet.ResourceAction; +import eu.europa.ec.edelivery.smp.servlet.ResourceRequest; +import org.hamcrest.CoreMatchers; +import org.hamcrest.MatcherAssert; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; +import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.when; + +class ResourceGuardTest extends AbstractJunit5BaseDao { + + @Autowired + ResourceGuard testInstance; + + ResourceRequest resourceRequest = Mockito.mock(ResourceRequest.class); + SMPUserDetails userDetails = Mockito.mock(SMPUserDetails.class); + + @BeforeEach + public void prepareDatabase() { + testUtilsDao.clearData(); + testUtilsDao.createSubresources(); + testUtilsDao.creatDomainMemberships(); + testUtilsDao.createGroupMemberships(); + testUtilsDao.createResourceMemberships(); + } + + @ParameterizedTest + @ValueSource(strings = {"READ", "CREATE_UPDATE", "DELETE"}) + void testUserIsNotAuthorizedForActionOK(ResourceAction action) { + // given - user is authorized - see the createResourceMemberships + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1()); + boolean result1 = testInstance.userIsNotAuthorizedForAction(userDetails, action, testUtilsDao.getResourceD1G1RD1(), testUtilsDao.getD1()); + boolean result = testInstance.userIsAuthorizedForAction(userDetails, action, testUtilsDao.getResourceD1G1RD1(), testUtilsDao.getD1()); + + assertTrue(result); + assertEquals(result1, !result); + } + + @ParameterizedTest + @ValueSource(strings = {"READ", "DELETE"}) + void testUserIsAuthorizedForActionOK(ResourceAction action) { + // given - user is authorized - see the createResourceMemberships + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1()); + boolean result = testInstance.userIsAuthorizedForAction(userDetails, action, testUtilsDao.getSubresourceD1G1RD1_S1()); + // then + assertTrue(result); + } + + @ParameterizedTest + @ValueSource(strings = {"CREATE_UPDATE"}) + void testUserIsAuthorizedForActionNotSupported(ResourceAction action) { + // given - user is authorized - see the createResourceMemberships + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1()); + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + () -> testInstance.userIsAuthorizedForAction(userDetails, action, testUtilsDao.getSubresourceD1G1RD1_S1())); + + // then + MatcherAssert.assertThat(result.getMessage(), CoreMatchers.containsString("Action not supported")); + } + + @Test + void testCanReadResourceForPrivateDomainOK() { + // given - user is authorized - see the createResourceMemberships + testUtilsDao.getD1().setVisibility(VisibilityType.PRIVATE); + + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser1()); + boolean result = testInstance.canRead(userDetails, testUtilsDao.getSubresourceD1G1RD1_S1()); + // then + assertTrue(result); + } + + @Test + void testCanReadResourceForPrivateDomainNotMember() { + // given + testUtilsDao.getD1().setVisibility(VisibilityType.PRIVATE); + + when(userDetails.getUser()).thenReturn(testUtilsDao.getUser2()); + boolean result = testInstance.canRead(userDetails, testUtilsDao.getSubresourceD1G1RD1_S1()); + // then + assertFalse(result); + } + + @Test + void testCanReadResourceForPrivateDomainAnonymous() { + // given + testUtilsDao.getD1().setVisibility(VisibilityType.PRIVATE); + + when(userDetails.getUser()).thenReturn(null); + boolean result = testInstance.canRead(userDetails, testUtilsDao.getSubresourceD1G1RD1_S1()); + // then + assertFalse(result); + } +} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AlertServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AlertServiceTest.java index 93530708ec640bcdf7ee8ecfdf9cea89166a42d4..70f6ea13f07d5b2fa7bc5c60e48914bbebf1de14 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AlertServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/AlertServiceTest.java @@ -4,7 +4,6 @@ import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger; import eu.europa.ec.edelivery.smp.data.dao.AlertDao; import eu.europa.ec.edelivery.smp.data.dao.CredentialDao; import eu.europa.ec.edelivery.smp.data.dao.UserDao; -import eu.europa.ec.edelivery.smp.data.enums.CredentialType; import eu.europa.ec.edelivery.smp.data.model.DBAlert; import eu.europa.ec.edelivery.smp.data.model.user.DBCredential; import eu.europa.ec.edelivery.smp.data.model.user.DBUser; @@ -17,7 +16,6 @@ import eu.europa.ec.edelivery.smp.services.mail.prop.CredentialSuspendedProperti import eu.europa.ec.edelivery.smp.services.mail.prop.CredentialVerificationFailedProperties; import eu.europa.ec.edelivery.smp.services.mail.prop.CredentialsExpirationProperties; import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; -import org.junit.Ignore; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; @@ -420,7 +418,7 @@ public class AlertServiceTest { // test to contain all properties for (String prop : templateProperties) { - assertTrue(prop, model.getModel().keySet().contains(prop)); + assertTrue(prop, model.getModel().containsKey(prop)); } assertEquals(templateProperties.size(), model.getModel().size()); } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceAllGetMethodsTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceAllGetMethodsTest.java index fd918d2874e3885ec1e9d3ac9b8d37010378afba..2d68515086bb639999c0f4ffb210867a4e5be6b5 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceAllGetMethodsTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceAllGetMethodsTest.java @@ -1,7 +1,7 @@ package eu.europa.ec.edelivery.smp.services; -import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao; import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; +import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao; import eu.europa.ec.edelivery.smp.data.ui.enums.AlertLevelEnum; import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.reflect.MethodUtils; @@ -16,8 +16,10 @@ import java.util.*; import java.util.regex.Pattern; import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.*; -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; @RunWith(Parameterized.class) public class ConfigurationServiceAllGetMethodsTest { diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceTest.java index bbddb8f2c80fce851b4528988314387e8093fbed..87a136a1eeba1bbe98906c7348fa1a8e6dff06d2 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ConfigurationServiceTest.java @@ -6,8 +6,10 @@ import org.junit.Test; import java.net.MalformedURLException; import java.net.URL; -import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.*; -import static org.junit.Assert.*; +import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SSO_CAS_SMP_USER_DATA_URL_PATH; +import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SSO_CAS_URL; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialServiceTest.java index 0eb49a7182439f6ed3bd477ea9d986d1b2f36d6f..525a889b3adf0eed5bfcead10d4efe41a780e72b 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialServiceTest.java @@ -3,42 +3,54 @@ package eu.europa.ec.edelivery.smp.services; import eu.europa.ec.edelivery.security.PreAuthenticatedCertificatePrincipal; import eu.europa.ec.edelivery.security.utils.X509CertificateUtils; +import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; +import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao; import eu.europa.ec.edelivery.smp.data.model.user.DBCredential; import eu.europa.ec.edelivery.smp.testutil.TestConstants; import eu.europa.ec.edelivery.smp.testutil.X509CertificateTestUtils; +import org.hamcrest.CoreMatchers; import org.hamcrest.MatcherAssert; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.authentication.AuthenticationServiceException; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.Authentication; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.util.ReflectionTestUtils; import java.io.IOException; import java.math.BigInteger; import java.security.cert.X509Certificate; import java.time.OffsetDateTime; +import java.util.Arrays; import java.util.Collections; +import java.util.List; -import static org.junit.Assert.*; +import static eu.europa.ec.edelivery.smp.services.ui.UITruststoreServiceIntegrationTest.*; +import static org.junit.jupiter.api.Assertions.*; -@RunWith(SpringRunner.class) -@ContextConfiguration(classes = {CredentialService.class}) -public class CredentialServiceTest extends AbstractServiceIntegrationTest { +public class CredentialServiceTest extends AbstractJunit5BaseDao { @Autowired CredentialService testInstance; + @Autowired + ConfigurationService configurationService; + @Autowired + ConfigurationDao configurationDao; - @Before + ConfigurationService spyConfigurationService; + + @BeforeEach public void beforeMethods() throws IOException { testUtilsDao.clearData(); testUtilsDao.createUsers(); resetKeystore(); configurationDao.reloadPropertiesFromDatabase(); + + spyConfigurationService = Mockito.spy(configurationService); + ReflectionTestUtils.setField(testInstance, "configurationService", spyConfigurationService); } @Test @@ -66,7 +78,6 @@ public class CredentialServiceTest extends AbstractServiceIntegrationTest { } @Test - @Ignore public void authenticateByUsernamePasswordTestBadPassword() { // given String username = TestConstants.USERNAME_1; @@ -264,4 +275,40 @@ public class CredentialServiceTest extends AbstractServiceIntegrationTest { // then MatcherAssert.assertThat(result.getMessage(), org.hamcrest.Matchers.startsWith("Login failed")); } + + + @Test + public void testValidateCertificatePolicyLegacyMatchOk() { + String certID = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE:000111"; + Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL)) + .when(spyConfigurationService).getAllowedCertificatePolicies(); + List<String> certPolicies = Collections.singletonList(CERTIFICATE_POLICY_QCP_NATURAL); + testInstance.validateCertificatePolicyMatchLegacy(certID, certPolicies); + } + + @Test + public void testValidateCertificatePolicyLegacyMatchMatchEmpty() { + String certID = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE:000111"; + Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL)) + .when(spyConfigurationService).getAllowedCertificatePolicies(); + List<String> certPolicies = Collections.emptyList(); + + AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class, + () -> testInstance.validateCertificatePolicyMatchLegacy(certID, certPolicies)); + MatcherAssert.assertThat(result.getMessage(), CoreMatchers.startsWith("Certificate [" + certID + "] does not have CertificatePolicy extension.")); + } + + @Test + public void testValidateCertificatePolicyLegacyMatchMismatch() { + String certID = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE:000111"; + Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL)) + .when(spyConfigurationService).getAllowedCertificatePolicies(); + List<String> certPolicies = Collections.singletonList(CERTIFICATE_POLICY_QCP_LEGAL_QSCD); + + AuthenticationServiceException result = assertThrows(AuthenticationServiceException.class, + () -> testInstance.validateCertificatePolicyMatchLegacy(certID, certPolicies)); + MatcherAssert.assertThat(result.getMessage(), CoreMatchers.startsWith("Certificate policy verification failed.")); + } + + } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialValidatorServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialValidatorServiceTest.java index 135ae84ba79398cfc73daa894a461a7cec0d2d0b..a828d9d5caa384118120b4e56f751a536ac10f05 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialValidatorServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/CredentialValidatorServiceTest.java @@ -2,7 +2,6 @@ package eu.europa.ec.edelivery.smp.services; import eu.europa.ec.edelivery.smp.data.dao.CredentialDao; import eu.europa.ec.edelivery.smp.data.model.user.DBCredential; -import eu.europa.ec.edelivery.smp.data.model.user.DBUser; import eu.europa.ec.edelivery.smp.utils.HttpUtils; import org.junit.Test; import org.mockito.ArgumentCaptor; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java deleted file mode 100644 index 9943f3786af7d9f892040ec76e3145d3849cce2c..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceSMLTest.java +++ /dev/null @@ -1,290 +0,0 @@ -/* - * Copyright 2018 European Commission | CEF eDelivery - * - * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * - * You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf - * - * Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and limitations under the Licence. - */ - -package eu.europa.ec.edelivery.smp.services; - -import eu.europa.ec.bdmsl.ws.soap.BadRequestFault; -import eu.europa.ec.bdmsl.ws.soap.InternalErrorFault; -import eu.europa.ec.bdmsl.ws.soap.NotFoundFault; -import eu.europa.ec.bdmsl.ws.soap.UnauthorizedFault; -import eu.europa.ec.edelivery.smp.config.SmlIntegrationConfiguration; -import eu.europa.ec.edelivery.smp.conversion.IdentifierService; -import eu.europa.ec.edelivery.smp.data.model.DBDomain; -import eu.europa.ec.edelivery.smp.data.model.DBDomainResourceDef; -import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; -import eu.europa.ec.edelivery.smp.exceptions.ErrorCode; -import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; -import eu.europa.ec.edelivery.smp.sml.SmlConnector; -import eu.europa.ec.edelivery.smp.testutil.TestConstants; -import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; -import org.apache.commons.lang3.exception.ExceptionUtils; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.util.ReflectionTestUtils; -import org.springframework.transaction.annotation.Transactional; - -import javax.xml.ws.http.HTTPException; -import java.io.IOException; -import java.util.regex.Pattern; - -import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*; -import static org.junit.Assert.*; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.verify; - -/** - * Purpose of class is to test ServiceGroupService base methods - * - * @author Joze Rihtarsic - * @since 4.1 - */ -@RunWith(SpringRunner.class) -@ContextConfiguration(classes = {SmlIntegrationConfiguration.class, - SmlConnector.class, DomainService.class}) -public class DomainServiceSMLTest extends AbstractServiceIntegrationTest { - - @Rule - public ExpectedException expectedExeption = ExpectedException.none(); - - @Autowired - IdentifierService identifierService; - @Autowired - SmlIntegrationConfiguration integrationMock; - @Autowired - SmlConnector smlConnector; - @Autowired - private SMLIntegrationService smlIntegrationService; - - - @Autowired - protected DomainService testInstance; - - @Before - public void prepareDatabase() throws IOException { - - smlConnector = Mockito.spy(smlConnector); - Mockito.doNothing().when(smlConnector).configureClient(any(), any(), any()); - - ReflectionTestUtils.setField(smlIntegrationService,"smlConnector",smlConnector); - ReflectionTestUtils.setField(testInstance,"smlIntegrationService",smlIntegrationService); - - ReflectionTestUtils.setField(smlIntegrationService,"identifierService",identifierService); - identifierService.configureParticipantIdentifierFormatter(null,false, Pattern.compile(".*")); - - resetKeystore(); - setDatabaseProperty(SMPPropertyEnum.SML_PHYSICAL_ADDRESS, "0.0.0.0"); - setDatabaseProperty(SMPPropertyEnum.SML_LOGICAL_ADDRESS, "http://localhost/smp"); - setDatabaseProperty(SMPPropertyEnum.SML_URL, "http://localhost/edelivery-sml"); - setDatabaseProperty(SMPPropertyEnum.SML_ENABLED, "true"); - - integrationMock.reset(); - prepareDatabaseForSingleDomainEnv(false); - - } - - @Test - public void getDomainForBlankCodeForSingleDomain() { - - // given - assertEquals(1, domainDao.getAllDomains().size()); - - //Only one domain is in database - get domain should return the one. - DBDomain dmn = testInstance.getDomain(null); - assertEquals(TEST_DOMAIN_CODE_1, dmn.getDomainCode()); - dmn = testInstance.getDomain(""); - assertEquals(TEST_DOMAIN_CODE_1, dmn.getDomainCode()); - dmn = testInstance.getDomain(" "); - assertEquals(TEST_DOMAIN_CODE_1, dmn.getDomainCode()); - } - - @Test - public void getDomainForBlankCodeForMultipleDomain() { - // given - DBDomain testDomain02 = TestDBUtils.createDBDomain(TEST_DOMAIN_CODE_2); - domainDao.persistFlushDetach(testDomain02); - assertEquals(2, domainDao.getAllDomains().size()); - expectedExeption.expect(SMPRuntimeException.class); - expectedExeption.expectMessage(ErrorCode.MISSING_DOMAIN.getMessage()); - - // when-then - //Multiple domains in database - get domain should return the SMPRuntimeException. - testInstance.getDomain(null); - } - - - @Test - public void registerDomainAndParticipantsOK() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault { - /* given (init database - check setup) - * Domain: TEST_DOMAIN_CODE_1 - * Users: USERNAME_1, USER_CERT_2 - * ServiceGroup1: TEST_SG_ID_1, TEST_SG_SCHEMA_1 - * - Domain: TEST_DOMAIN_CODE_1 - * ServiceGroup2: TEST_SG_ID_2, TEST_SG_SCHEMA_2 - * - Domain: TEST_DOMAIN_CODE_1 - * - Owners: USERNAME_1 - * - Metadata: / - * ServiceGroup3: TEST_SG_ID_NO_SCHEME, null - * - Domain: TEST_DOMAIN_CODE_1 - * - Owners: USERNAME_1, USER_CERT_2 - * - Metadata: / - - DBDomain testDomain01 = domainDao.getDomainByCode(TestConstants.TEST_DOMAIN_CODE_1).get(); - DBDomainResourceDef serviceGroupDomain = serviceGroupDao.findServiceGroupDomain( - TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get(); - DBDomainResourceDef serviceGroupDomain2 = serviceGroupDao - .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get(); - DBDomainResourceDef serviceGroupDomain3 = serviceGroupDao - .findServiceGroupDomain(TEST_SG_ID_NO_SCHEME, null, TEST_DOMAIN_CODE_1).get(); - assertFalse(testDomain01.isSmlRegistered()); - assertFalse(serviceGroupDomain.isSmlRegistered()); - assertFalse(serviceGroupDomain2.isSmlRegistered()); - assertFalse(serviceGroupDomain3.isSmlRegistered()); - - // when - testInstance.registerDomainAndParticipants(testDomain01); - - // then - serviceGroupDomain = serviceGroupDao.findServiceGroupDomain( - TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get(); - serviceGroupDomain2 = serviceGroupDao - .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get(); - serviceGroupDomain3 = serviceGroupDao - .findServiceGroupDomain(TEST_SG_ID_NO_SCHEME, null, TEST_DOMAIN_CODE_1).get(); - - assertTrue(testDomain01.isSmlRegistered()); - assertTrue(serviceGroupDomain.isSmlRegistered()); - assertTrue(serviceGroupDomain2.isSmlRegistered()); - assertTrue(serviceGroupDomain3.isSmlRegistered()); - - // one sml domain create and two participant create was called - assertEquals(1, integrationMock.getSmpManagerClientMocks().size()); - verify(integrationMock.getSmpManagerClientMocks().get(0)).create(any()); - Mockito.verifyNoMoreInteractions(integrationMock.getSmpManagerClientMocks().toArray()); - - assertEquals(3, integrationMock.getParticipantManagmentClientMocks().size()); - verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any()); - verify(integrationMock.getParticipantManagmentClientMocks().get(1)).create(any()); - verify(integrationMock.getParticipantManagmentClientMocks().get(2)).create(any()); - Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray()); - - - } - - @Test - public void registerDomainAndParticipantsFailed() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault { -/* - DBDomain testDomain01 = domainDao.getDomainByCode(TestConstants.TEST_DOMAIN_CODE_1).get(); - DBDomainResourceDef serviceGroupDomain = serviceGroupDao.findServiceGroupDomain( - TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get(); - DBDomainResourceDef serviceGroupDomain2 = serviceGroupDao - .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get(); - - assertFalse(testDomain01.isSmlRegistered()); - assertFalse(serviceGroupDomain.isSmlRegistered()); - assertFalse(serviceGroupDomain2.isSmlRegistered()); - integrationMock.setThrowExceptionAfterParticipantCallCount(1); - - - // when - try { - testInstance.registerDomainAndParticipants(testDomain01); - fail("Testcase should throw an error with code 400"); - } catch (Exception ex) { - ex.printStackTrace(); - assertEquals(400, ((HTTPException) ExceptionUtils.getRootCause(ex)).getStatusCode()); - } - - - // then - serviceGroupDomain = serviceGroupDao.findServiceGroupDomain( - TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get(); - serviceGroupDomain2 = serviceGroupDao - .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get(); - assertTrue(testDomain01.isSmlRegistered()); - assertTrue(serviceGroupDomain.isSmlRegistered()); - assertFalse(serviceGroupDomain2.isSmlRegistered()); - - // one sml domain create and two participant create was called - assertEquals(1, integrationMock.getSmpManagerClientMocks().size()); - verify(integrationMock.getSmpManagerClientMocks().get(0)).create(any()); - Mockito.verifyNoMoreInteractions(integrationMock.getSmpManagerClientMocks().toArray()); - - // only first succeeded - assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size()); - verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any()); - Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray()); -*/ - } - - @Test - @Transactional - public void unregisterDomainAndParticipantsFromSmlOK() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault { - /* given (init database - check setup) - * Domain: TEST_DOMAIN_CODE_1 - * Users: USERNAME_1, USER_CERT_2 - * ServiceGroup1: TEST_SG_ID_1, TEST_SG_SCHEMA_1 - * - Domain: TEST_DOMAIN_CODE_1 - * - Owners: USERNAME_1, USER_CERT_2 - * - Metadata: - * - TEST_DOC_ID_1, TEST_DOC_SCHEMA_1 - * - * - * ServiceGroup2: TEST_SG_ID_2, TEST_SG_SCHEMA_2 - * - Domain: TEST_DOMAIN_CODE_1 - * - Owners: USERNAME_1 - * - Metadata: / - - DBDomain testDomain01 = domainDao.getDomainByCode(TestConstants.TEST_DOMAIN_CODE_1).get(); - DBDomainResourceDef serviceGroupDomain = serviceGroupDao.findServiceGroupDomain( - TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get(); - DBDomainResourceDef serviceGroupDomain2 = serviceGroupDao - .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get(); - testDomain01.setSmlRegistered(true); - serviceGroupDomain.setSmlRegistered(true); - serviceGroupDomain2.setSmlRegistered(true); - serviceGroupDao.updateServiceGroupDomain(serviceGroupDomain); - serviceGroupDao.updateServiceGroupDomain(serviceGroupDomain2); - - // when - testInstance.unregisterDomainAndParticipantsFromSml(testDomain01); - - // then - serviceGroupDomain = serviceGroupDao.findServiceGroupDomain( - TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1).get(); - serviceGroupDomain2 = serviceGroupDao - .findServiceGroupDomain(TEST_SG_ID_2, TEST_SG_SCHEMA_2, TEST_DOMAIN_CODE_1).get(); - assertFalse(testDomain01.isSmlRegistered()); - assertFalse(serviceGroupDomain.isSmlRegistered()); - assertFalse(serviceGroupDomain2.isSmlRegistered()); - - // one sml domain create and two participant create was called - assertEquals(1, integrationMock.getSmpManagerClientMocks().size()); - verify(integrationMock.getSmpManagerClientMocks().get(0)).delete(testDomain01.getSmlSmpId()); - Mockito.verifyNoMoreInteractions(integrationMock.getSmpManagerClientMocks().toArray()); - - assertEquals(2, integrationMock.getParticipantManagmentClientMocks().size()); - verify(integrationMock.getParticipantManagmentClientMocks().get(0)).delete(any()); - verify(integrationMock.getParticipantManagmentClientMocks().get(1)).delete(any()); - Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray()); - */ - } - -} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceTest.java new file mode 100644 index 0000000000000000000000000000000000000000..e4aa39de038a3b519c8470bcdef293f401e64c39 --- /dev/null +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/DomainServiceTest.java @@ -0,0 +1,200 @@ +/* + * Copyright 2018 European Commission | CEF eDelivery + * + * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * + * You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf + * + * Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and limitations under the Licence. + */ + +package eu.europa.ec.edelivery.smp.services; + +import eu.europa.ec.edelivery.smp.config.SmlIntegrationConfiguration; +import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; +import eu.europa.ec.edelivery.smp.conversion.IdentifierService; +import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; +import eu.europa.ec.edelivery.smp.data.dao.DomainDao; +import eu.europa.ec.edelivery.smp.data.model.DBDomain; +import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; +import eu.europa.ec.edelivery.smp.exceptions.ErrorCode; +import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; +import eu.europa.ec.edelivery.smp.sml.SmlConnector; +import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; +import org.hamcrest.CoreMatchers; +import org.hamcrest.MatcherAssert; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.NullSource; +import org.junit.jupiter.params.provider.ValueSource; +import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.util.ReflectionTestUtils; + +import java.io.IOException; +import java.util.regex.Pattern; + +import static eu.europa.ec.edelivery.smp.testutil.TestConstants.TEST_DOMAIN_CODE_1; +import static eu.europa.ec.edelivery.smp.testutil.TestConstants.TEST_DOMAIN_CODE_2; +import static org.junit.Assert.*; +import static org.mockito.ArgumentMatchers.any; + +/** + * Purpose of class is to test ServiceGroupService base methods + * + * @author Joze Rihtarsic + * @since 4.1 + */ + +public class DomainServiceTest extends AbstractJunit5BaseDao { + + @Autowired + IdentifierService identifierService; + @Autowired + SmlIntegrationConfiguration integrationMock; + @Autowired + SmlConnector smlConnector; + @Autowired + private SMLIntegrationService smlIntegrationService; + + + @Autowired + protected DomainDao domainDao; + + @Autowired + protected DomainService testInstance; + + + @BeforeEach + public void prepareDatabase() throws IOException { + smlConnector = Mockito.spy(smlConnector); + Mockito.doNothing().when(smlConnector).configureClient(any(), any(), any()); + + ReflectionTestUtils.setField(smlIntegrationService, "smlConnector", smlConnector); + ReflectionTestUtils.setField(testInstance, "smlIntegrationService", smlIntegrationService); + + ReflectionTestUtils.setField(smlIntegrationService, "identifierService", identifierService); + identifierService.configureParticipantIdentifierFormatter(null, false, Pattern.compile(".*")); + + resetKeystore(); + setDatabaseProperty(SMPPropertyEnum.SML_PHYSICAL_ADDRESS, "0.0.0.0"); + setDatabaseProperty(SMPPropertyEnum.SML_LOGICAL_ADDRESS, "http://localhost/smp"); + setDatabaseProperty(SMPPropertyEnum.SML_URL, "http://localhost/edelivery-sml"); + setDatabaseProperty(SMPPropertyEnum.SML_ENABLED, "true"); + + integrationMock.reset(); + + + } + + @ParameterizedTest + @NullSource + @ValueSource(strings = {"", " "}) + public void getDomainForBlankCodeForSingleDomain(String searchCode) { + + // given + DBDomain testDomain01 = testUtilsDao.createDomain(TEST_DOMAIN_CODE_1); + assertEquals(1, domainDao.getAllDomains().size()); + + //Only one domain is in database - get domain should return the one. + DBDomain dmn = testInstance.getDomain(searchCode); + assertEquals(testDomain01.getDomainCode(), dmn.getDomainCode()); + } + + @Test + public void getDomainForBlankCodeForMultipleDomain() { + // given + DBDomain testDomain01 = testUtilsDao.createDomain(TEST_DOMAIN_CODE_1); + DBDomain testDomain02 = TestDBUtils.createDBDomain(TEST_DOMAIN_CODE_2); + domainDao.persistFlushDetach(testDomain02); + assertEquals(2, domainDao.getAllDomains().size()); + + // when-then + //Multiple domains in database - get domain should return the SMPRuntimeException. + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + () -> testInstance.getDomain(null)); + + assertEquals(ErrorCode.MISSING_DOMAIN, result.getErrorCode()); + } + + @Test + public void getDomainForBlankCodeForMultipleDomainNotExists() { + // given + DBDomain testDomain01 = testUtilsDao.createDomain(TEST_DOMAIN_CODE_1); + DBDomain testDomain02 = TestDBUtils.createDBDomain(TEST_DOMAIN_CODE_2); + domainDao.persistFlushDetach(testDomain02); + assertEquals(2, domainDao.getAllDomains().size()); + String searchDomain = "DomainCodeNotExists"; + + // when-then + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + () -> testInstance.getDomain(searchDomain)); + + assertEquals(ErrorCode.DOMAIN_NOT_EXISTS, result.getErrorCode()); + } + + @Test + public void getDomainForInvalidCode() { + // given + DBDomain testDomain01 = testUtilsDao.createDomain(TEST_DOMAIN_CODE_1); + DBDomain testDomain02 = TestDBUtils.createDBDomain(TEST_DOMAIN_CODE_2); + domainDao.persistFlushDetach(testDomain02); + assertEquals(2, domainDao.getAllDomains().size()); + String searchDomain = "s2###Q23@#"; + + // when-then + //Multiple domains in database - get domain should return the SMPRuntimeException. + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + () -> testInstance.getDomain(searchDomain)); + assertEquals(ErrorCode.INVALID_DOMAIN_CODE, result.getErrorCode()); + MatcherAssert.assertThat(result.getMessage(), + CoreMatchers.containsString("Provided Domain Code '" + searchDomain + "' does not match required pattern")); + } + + @Test + public void testRegisterDomainAndParticipantsOK() { + // given + testUtilsDao.clearData(); + testUtilsDao.createResources(); + DBDomain testDomain = testUtilsDao.getD1(); + DBResource testResource = testUtilsDao.getResourceD1G1RD1(); + assertFalse(testDomain.isSmlRegistered()); + assertFalse(testResource.isSmlRegistered()); + + // when + testInstance.registerDomainAndParticipants(testDomain); + + // then + // update resource because testResource is detached + DBResource dbUpdatedResource = testUtilsDao.find(DBResource.class, testResource.getId()); + + assertTrue(testDomain.isSmlRegistered()); + assertTrue(dbUpdatedResource.isSmlRegistered()); + } + + @Test + public void testUnRegisterDomainAndParticipantsOK() { + // given + testUtilsDao.clearData(); + testUtilsDao.createResources(); + DBDomain testDomain = testUtilsDao.getD1(); + testInstance.registerDomainAndParticipants(testDomain); + DBResource dbUpdatedResource = testUtilsDao.find(DBResource.class, testUtilsDao.getResourceD1G1RD1().getId()); + + assertTrue(testDomain.isSmlRegistered()); + assertTrue(dbUpdatedResource.isSmlRegistered()); + + // when + testInstance.unregisterDomainAndParticipantsFromSml(testDomain); + + // then + dbUpdatedResource = testUtilsDao.find(DBResource.class, dbUpdatedResource.getId()); + assertFalse(testDomain.isSmlRegistered()); + assertFalse(dbUpdatedResource.isSmlRegistered()); + } + +} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorServiceTest.java index 3b3603a8b927f7d47861a77696e61e1da25ced3e..2771ccafe93b992e39b0780ca0cb733f87bc1b0e 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/PayloadValidatorServiceTest.java @@ -4,11 +4,8 @@ import eu.europa.ec.edelivery.smp.exceptions.ErrorCode; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import eu.europa.ec.smp.spi.PayloadValidatorSpi; import eu.europa.ec.smp.spi.exceptions.PayloadValidatorSpiException; -import org.hamcrest.CoreMatchers; -import org.hamcrest.MatcherAssert; import org.junit.Test; import org.mockito.ArgumentCaptor; -import org.mockito.Mock; import org.mockito.Mockito; import org.springframework.util.MimeTypeUtils; @@ -17,7 +14,8 @@ import java.util.Arrays; import java.util.Collections; import java.util.Optional; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertThrows; public class PayloadValidatorServiceTest { @@ -41,9 +39,9 @@ public class PayloadValidatorServiceTest { @Test public void validateUploadedContent() throws PayloadValidatorSpiException { - PayloadValidatorSpi validatorSpi1 = Mockito.mock(PayloadValidatorSpi.class); - PayloadValidatorSpi validatorSpi2 = Mockito.mock(PayloadValidatorSpi.class); - PayloadValidatorService testInstance = new PayloadValidatorService(Optional.of(Arrays.asList(validatorSpi1,validatorSpi2))); + PayloadValidatorSpi validatorSpi1 = Mockito.mock(PayloadValidatorSpi.class); + PayloadValidatorSpi validatorSpi2 = Mockito.mock(PayloadValidatorSpi.class); + PayloadValidatorService testInstance = new PayloadValidatorService(Optional.of(Arrays.asList(validatorSpi1, validatorSpi2))); InputStream inputStream = Mockito.mock(InputStream.class); String mimeType = MimeTypeUtils.APPLICATION_JSON.getType(); @@ -55,7 +53,7 @@ public class PayloadValidatorServiceTest { ArgumentCaptor<InputStream> streamCapture2 = ArgumentCaptor.forClass(InputStream.class); ArgumentCaptor<String> mimeTypeCapture2 = ArgumentCaptor.forClass(String.class); Mockito.verify(validatorSpi1, Mockito.times(1)).validatePayload(streamCapture1.capture(), mimeTypeCapture1.capture()); - Mockito.verify(validatorSpi2,Mockito.times(1)).validatePayload(streamCapture2.capture(), mimeTypeCapture2.capture()); + Mockito.verify(validatorSpi2, Mockito.times(1)).validatePayload(streamCapture2.capture(), mimeTypeCapture2.capture()); assertEquals(inputStream, streamCapture1.getValue()); assertEquals(inputStream, streamCapture2.getValue()); @@ -65,12 +63,12 @@ public class PayloadValidatorServiceTest { @Test public void validateUploadedContentThrowException() throws PayloadValidatorSpiException { - PayloadValidatorSpi validatorSpi1 = Mockito.mock(PayloadValidatorSpi.class); - PayloadValidatorService testInstance = new PayloadValidatorService(Optional.of(Arrays.asList(validatorSpi1))); + PayloadValidatorSpi validatorSpi1 = Mockito.mock(PayloadValidatorSpi.class); + PayloadValidatorService testInstance = new PayloadValidatorService(Optional.of(Collections.singletonList(validatorSpi1))); InputStream inputStream = Mockito.mock(InputStream.class); String mimeType = MimeTypeUtils.APPLICATION_JSON.getType(); PayloadValidatorSpiException spiException = new PayloadValidatorSpiException("TestError"); - Mockito.doThrow(spiException).when(validatorSpi1).validatePayload(Mockito.any(),Mockito.any()); + Mockito.doThrow(spiException).when(validatorSpi1).validatePayload(Mockito.any(), Mockito.any()); SMPRuntimeException smpRuntimeException = @@ -81,4 +79,4 @@ public class PayloadValidatorServiceTest { assertEquals("Invalid request [Upload payload]. Error: Content validation failed!", smpRuntimeException.getMessage()); } -} \ No newline at end of file +} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceNoSMLIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceNoSMLIntegrationTest.java index 1ab14d9ed973f2316df410c73bad00903d08037f..07a0066585739588ff28e5f297d46b897834586e 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceNoSMLIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceNoSMLIntegrationTest.java @@ -14,18 +14,16 @@ package eu.europa.ec.edelivery.smp.services; import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; -import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao; import eu.europa.ec.edelivery.smp.data.model.DBDomain; import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; -import org.junit.*; -import org.junit.rules.ExpectedException; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.Transactional; -import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*; - /** * Purpose of class is to test ServiceGroupService base methods * @@ -46,7 +44,7 @@ public class SMLIntegrationServiceNoSMLIntegrationTest extends AbstractServiceIn configurationDao.refreshProperties(); - testUtilsDao.clearData();; + testUtilsDao.clearData(); testUtilsDao.createResources(); } @@ -78,7 +76,7 @@ public class SMLIntegrationServiceNoSMLIntegrationTest extends AbstractServiceIn public void registerParticipant() { DBDomain testDomain01 = testUtilsDao.getD1(); - DBResource resource = testUtilsDao.getResourceD1G1RD1(); + DBResource resource = testUtilsDao.getResourceD1G1RD1(); // nothing is expected to be thrown testInstance.registerParticipant(resource, testDomain01); } @@ -87,7 +85,7 @@ public class SMLIntegrationServiceNoSMLIntegrationTest extends AbstractServiceIn public void unregisterParticipant() { DBDomain testDomain01 = testUtilsDao.getD1(); - DBResource resource = testUtilsDao.getResourceD1G1RD1(); + DBResource resource = testUtilsDao.getResourceD1G1RD1(); // nothing is expected to be thrown testInstance.unregisterParticipant(resource, testDomain01); } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java index e1f7492c1e19dd826eefdafd7077943de11d9bd5..e1d448a572e53a2b3bdd92641d7bc13a5b764f7a 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/SMLIntegrationServiceTest.java @@ -21,13 +21,9 @@ import eu.europa.ec.edelivery.smp.config.SmlIntegrationConfiguration; import eu.europa.ec.edelivery.smp.conversion.IdentifierService; import eu.europa.ec.edelivery.smp.data.model.DBDomain; import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; -import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import eu.europa.ec.edelivery.smp.sml.SmlConnector; import org.junit.Before; -import org.junit.Ignore; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; @@ -38,9 +34,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.regex.Pattern; -import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.verify; @@ -117,7 +111,7 @@ public class SMLIntegrationServiceTest extends AbstractServiceIntegrationTest { // when testInstance.unRegisterDomain(testDomain01); - assertTrue(!testDomain01.isSmlRegistered()); + assertFalse(testDomain01.isSmlRegistered()); assertEquals(1, integrationMock.getSmpManagerClientMocks().size()); verify(integrationMock.getSmpManagerClientMocks().get(0)).delete(testDomain01.getSmlSmpId()); Mockito.verifyNoMoreInteractions(integrationMock.getSmpManagerClientMocks().toArray()); @@ -139,90 +133,4 @@ public class SMLIntegrationServiceTest extends AbstractServiceIntegrationTest { Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray()); } -/* - @Test - public void registerParticipantNullScheme() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault { - /* given (init database - check setup) - * Domain: TEST_DOMAIN_CODE_1 - * Users: USERNAME_1, USER_CERT_2 - * ServiceGroup1: TEST_SG_ID_NO_SCHEME, null - * - Domain: TEST_DOMAIN_CODE_1 - * - // when - testInstance.registerParticipant(TEST_SG_ID_NO_SCHEME, null, TEST_DOMAIN_CODE_1); - - //then -- expect on call - assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size()); - verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any()); - Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray()); - } - - /** - - - @Test - public void unRegisterParticipant() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault { - /* given (init database - check setup) - * Domain: TEST_DOMAIN_CODE_1 - * Users: USERNAME_1, USER_CERT_2 - * ServiceGroup1: TEST_SG_ID_1, TEST_SG_SCHEMA_1 - * - Domain: TEST_DOMAIN_CODE_1 - * - // when - testInstance.registerParticipant(TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1); - - //then -- expect on call - assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size()); - verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any()); - Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray()); - - } - - @Test - public void registerParticipant_NotExists() { - expectedExeption.expect(SMPRuntimeException.class); - String notExistsId = TEST_SG_ID_1 + "NotExists"; - expectedExeption.expectMessage("ServiceGroup not found (part. id: '" + TEST_SG_ID_1 + "NotExists', part. sch.: '" + TEST_SG_SCHEMA_1 + "')!"); - - // when - testInstance.registerParticipant(notExistsId, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_1); - } - - @Test - public void registerParticipant_NotOnDomain() { - expectedExeption.expect(SMPRuntimeException.class); - expectedExeption.expectMessage("Service group not registered for domain (domain: " + TEST_DOMAIN_CODE_2 + ", part. id: '" + TEST_SG_ID_1 + "', part. sch.: '" + TEST_SG_SCHEMA_1 + "')!"); - - // when - testInstance.registerParticipant(TEST_SG_ID_1, TEST_SG_SCHEMA_1, TEST_DOMAIN_CODE_2); - } - -*/ - /* - @Test - public void registerParticipantToSML() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault { - DBDomain testDomain01 = domainDao.getDomainByCode(TEST_DOMAIN_CODE_1).get(); - // when - testInstance.registerParticipantToSML(TEST_SG_ID_1, TEST_SG_SCHEMA_1, testDomain01); - - //then -- expect on call - assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size()); - verify(integrationMock.getParticipantManagmentClientMocks().get(0)).create(any()); - Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray()); - } - - @Test - public void unregisterParticipantFromSML() throws NotFoundFault, UnauthorizedFault, InternalErrorFault, BadRequestFault { - DBDomain testDomain01 = domainDao.getDomainByCode(TEST_DOMAIN_CODE_1).get(); - testDomain01.setSmlRegistered(true); - // when - testInstance.unregisterParticipantFromSML(TEST_SG_ID_1, TEST_SG_SCHEMA_1, testDomain01); - - //then -- expect on call - assertEquals(1, integrationMock.getParticipantManagmentClientMocks().size()); - verify(integrationMock.getParticipantManagmentClientMocks().get(0)).delete(any()); - Mockito.verifyNoMoreInteractions(integrationMock.getParticipantManagmentClientMocks().toArray()); - } - - */ } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceMetadataSignerTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceMetadataSignerTest.java index 8fb40d6ca459a8a84391440292f91b3af4f63f14..f5d5517d6bb3cdc7a975649e52dea8b5a70c8168 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceMetadataSignerTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ServiceMetadataSignerTest.java @@ -13,12 +13,14 @@ package eu.europa.ec.edelivery.smp.services; +import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; import eu.europa.ec.edelivery.smp.services.spi.SmpXmlSignatureService; import eu.europa.ec.edelivery.smp.services.ui.UIKeystoreService; import eu.europa.ec.edelivery.smp.testutil.SignatureUtil; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; @@ -31,16 +33,16 @@ import java.nio.file.Path; import java.nio.file.Paths; -import static javax.xml.crypto.dsig.DigestMethod.SHA256; -import static org.apache.xml.security.signature.XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256; - - /** - * Created by rodrfla on 20/02/2017. + * metadata tests signatures + * + * @author Flavio Santos + * @author Joze Rihtarsic + * @since 3.0 + */ -@Ignore @ContextConfiguration(classes = { SmpXmlSignatureService.class}) -public class ServiceMetadataSignerTest extends AbstractServiceIntegrationTest{ +public class ServiceMetadataSignerTest extends AbstractJunit5BaseDao{ Path resourceDirectory = Paths.get("src", "test", "resources", "keystores"); @@ -52,24 +54,24 @@ public class ServiceMetadataSignerTest extends AbstractServiceIntegrationTest{ @Autowired private SmpXmlSignatureService signer; - @Before + @BeforeEach public void setup(){ configurationService = Mockito.spy(configurationService); ReflectionTestUtils.setField(uiKeystoreService,"configurationService",configurationService); ReflectionTestUtils.setField(signer,"uiKeystoreService",uiKeystoreService); // set keystore properties - File keystoreFile = new File(resourceDirectory.toFile(), "smp-keystore.jks"); + File keystoreFile = new File(resourceDirectory.toAbsolutePath().toFile(), "smp-keystore-all-keys.p12"); Mockito.doReturn( keystoreFile).when(configurationService).getKeystoreFile(); Mockito.doReturn( resourceDirectory.toFile()).when(configurationService).getSecurityFolder(); Mockito.doReturn("test123").when(configurationService).getKeystoreCredentialToken(); + Mockito.doReturn("PKCS12").when(configurationService).getKeystoreType(); uiKeystoreService.refreshData(); } -/* - private Document loadAndSignDocumentForDefault() throws Exception { - Document documentToSign = loadDocument("/input/SignedServiceMetadata_withoutSignature.xml"); - signer.sign(documentToSign, null, ALGO_ID_SIGNATURE_RSA_SHA256, SHA256); + private Document loadAndSignDocumentForDefault(String alias) throws Exception { + Document documentToSign = SignatureUtil.loadDocument("/input/SignedServiceMetadata_withoutSignature.xml"); + signer.sign(documentToSign, alias, null, null); return documentToSign; } @@ -78,43 +80,25 @@ public class ServiceMetadataSignerTest extends AbstractServiceIntegrationTest{ SignatureUtil.validateSignature(smpSigPointer); } - private Element loadAndSignDocumentForAdmin(String filePath) throws Exception { - Document response = loadDocument(filePath); - Element smNode = SignatureUtil.findFirstElementByName(response, "ServiceMetadata"); - Document docUnwrapped = SignatureUtil.buildDocWithGivenRoot(smNode); - Element adminSignature = SignatureUtil.findServiceInfoSig(docUnwrapped); - + Document response = SignatureUtil.loadDocument(filePath); + Element adminSignature = SignatureUtil.findServiceInfoSig(response); return adminSignature; } - @Test - public void testDefaultSignatureOk() throws Exception { - Document document = loadAndSignDocumentForDefault(); + @ParameterizedTest + @ValueSource(strings = {"sample_key", + "smp_ecdsa_nist-b409", + "smp_eddsa_25519", + "smp_eddsa_448"}) + public void testSignatureAndDefaultAlgorithmeDefinitionOk(String alias) throws Exception { + Document document = loadAndSignDocumentForDefault(alias); validateSignatureForDefault(document); } - @Test(expected = Exception.class) - public void testDefaultSignatureNotOk() throws Exception { - Document document = loadAndSignDocumentForDefault(); - String documentStr = SignatureUtil.marshall(document); - documentStr = documentStr.replace("<Process>", "<Process><DummyElement></DummyElement>"); - validateSignatureForDefault(SignatureUtil.parseDocument(documentStr)); - } - @Test public void testAdminSignatureOk() throws Exception { Element adminSignature = loadAndSignDocumentForAdmin("/expected_output/PUT_ServiceMetadata_request.xml"); - - SignatureUtil.validateSignature(adminSignature); - } - - @Test(expected = Exception.class) - public void testAdminSignatureNotOk() throws Exception { - Element adminSignature = loadAndSignDocumentForAdmin("/expected_output/PUT_ServiceMetadata_request_not_valid.xml"); - SignatureUtil.validateSignature(adminSignature); } -*/ - } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/mail/MailServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/mail/MailServiceTest.java index 3e63f9be2973bfcde58c77c61d294fd82106317f..4fd5b8ee0a9443b652140b2c56160ffbcb364943 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/mail/MailServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/mail/MailServiceTest.java @@ -5,7 +5,6 @@ import eu.europa.ec.edelivery.smp.data.ui.enums.AlertTypeEnum; import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest; import eu.europa.ec.edelivery.smp.services.mail.prop.TestMailProperties; import eu.europa.ec.edelivery.smp.testutil.MockAlertBeans; -import org.junit.Ignore; import org.junit.Test; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java index abd79d399c4ee44b1137dce6b26ea9065aa5276f..df3024ec9e6113e5612bc4cccbb4393cbaf75e56 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java @@ -1,40 +1,27 @@ package eu.europa.ec.edelivery.smp.services.resource; -import eu.europa.ec.edelivery.smp.config.SMPDatabaseConfig; -import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao; -import eu.europa.ec.edelivery.smp.services.AbstractServiceTest; -import eu.europa.ec.edelivery.smp.services.ConfigurationService; import eu.europa.ec.edelivery.smp.servlet.ResourceRequest; import eu.europa.ec.edelivery.smp.servlet.ResourceResponse; -import eu.europa.ec.smp.spi.api.model.RequestData; -import eu.europa.ec.smp.spi.api.model.ResourceIdentifier; -import eu.europa.ec.smp.spi.api.model.ResponseData; import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10; import eu.europa.ec.smp.spi.def.OasisSMPServiceMetadata10; import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup10Handler; import eu.europa.ec.smp.spi.handler.OasisSMPServiceMetadata10Handler; import eu.europa.ec.smp.spi.validation.ServiceMetadata10Validator; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.mockito.Mock; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; -import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; -import org.springframework.web.util.WebUtils; import javax.servlet.http.HttpServletRequest; -import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import static org.junit.Assert.assertTrue; -import static org.junit.jupiter.api.Assertions.*; // add SPI examples to the context @ContextConfiguration(classes = {OasisSMPServiceGroup10.class, diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceResolverServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceResolverServiceTest.java index f99a013b25af1486d60e497e32d52d54aa89dccf..fc8faa41b30f11897baa3601dc0b1b6444a62b76 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceResolverServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceResolverServiceTest.java @@ -112,7 +112,7 @@ public class ResourceResolverServiceTest extends AbstractServiceIntegrationTest public static ResourceRequest createResourceRequest(DBResource resource) { - return new ResourceRequest(ResourceAction.READ, null, Arrays.asList(resource.getIdentifierScheme() + "::" + resource.getIdentifierValue()), null); + return new ResourceRequest(ResourceAction.READ, null, Collections.singletonList(resource.getIdentifierScheme() + "::" + resource.getIdentifierValue()), null); } public static ResourceRequest createResourceRequest(DBSubresource subresource) { diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIAlertServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIAlertServiceIntegrationTest.java index 6ec81a26f65182eb0696a52f95b32ebd0c13bf81..406d771b447dc5ca1acd850dcc288b332a405771 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIAlertServiceIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIAlertServiceIntegrationTest.java @@ -6,7 +6,6 @@ import eu.europa.ec.edelivery.smp.data.ui.ServiceResult; import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest; import eu.europa.ec.edelivery.smp.services.CredentialsAlertService; import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; -import org.junit.Ignore; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java index a4d2df8e4e68b11d6dcb352506c22aaf9a6d47a0..d11546d65692122360dfcfd46c21cda0a771cb73 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDocumentServiceTest.java @@ -7,10 +7,6 @@ import eu.europa.ec.edelivery.smp.data.ui.DocumentRo; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest; import eu.europa.ec.edelivery.smp.services.resource.ResourceHandlerService; -import eu.europa.ec.edelivery.smp.services.resource.ResourceResolverService; -import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; -import eu.europa.ec.smp.spi.api.SmpDataServiceApi; -import eu.europa.ec.smp.spi.api.SmpIdentifierServiceApi; import eu.europa.ec.smp.spi.def.OasisSMPServiceGroup10; import eu.europa.ec.smp.spi.def.OasisSMPServiceMetadata10; import eu.europa.ec.smp.spi.handler.OasisSMPServiceGroup10Handler; @@ -23,7 +19,8 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; -import static org.junit.Assert.*; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThrows; @ContextConfiguration(classes = {UIDocumentService.class, ConversionTestConfig.class, ResourceHandlerService.class, OasisSMPServiceGroup10.class, OasisSMPServiceGroup10Handler.class, OasisSMPServiceMetadata10.class, OasisSMPServiceMetadata10Handler.class, ServiceMetadata10Validator.class,}) diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainPublicServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainPublicServiceTest.java index c0785254230a7bc788b4010ea0ccc3c29dbcfed7..bdf4022a801f3449a182e2557b87a9bb793212c3 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainPublicServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainPublicServiceTest.java @@ -4,7 +4,6 @@ import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; import eu.europa.ec.edelivery.smp.data.ui.*; import eu.europa.ec.edelivery.smp.exceptions.BadRequestException; import org.hamcrest.MatcherAssert; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -12,7 +11,8 @@ import org.springframework.test.context.ContextConfiguration; import java.util.List; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; @ContextConfiguration(classes = UIDomainPublicService.class) class UIDomainPublicServiceTest extends AbstractJunit5BaseDao { diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceIntegrationTest.java index 548ba4128bfd699a8c1cf0c6e61e2ed0bbcc5bef..2233a769406db1fad96fecf734d7b7f3910fcc3f 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceIntegrationTest.java @@ -6,9 +6,7 @@ import eu.europa.ec.edelivery.smp.data.ui.DomainRO; import eu.europa.ec.edelivery.smp.data.ui.ServiceResult; import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest; import eu.europa.ec.edelivery.smp.testutil.TestDBUtils; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.ExpectedException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceTest.java index 01f7b3b311a46b36dc4a83dffb985774f2183051..da622512dda645580258f4e908c2be0a6e07803c 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIDomainServiceTest.java @@ -1,13 +1,9 @@ package eu.europa.ec.edelivery.smp.services.ui; import eu.europa.ec.edelivery.smp.data.dao.DomainDao; -import eu.europa.ec.edelivery.smp.data.enums.MembershipRoleType; import eu.europa.ec.edelivery.smp.data.enums.VisibilityType; import eu.europa.ec.edelivery.smp.data.model.DBDomain; -import eu.europa.ec.edelivery.smp.data.model.user.DBResourceMember; import eu.europa.ec.edelivery.smp.data.ui.DomainRO; -import eu.europa.ec.edelivery.smp.data.ui.MemberRO; -import eu.europa.ec.edelivery.smp.data.ui.ServiceResult; import eu.europa.ec.edelivery.smp.services.AbstractServiceTest; import org.junit.Before; import org.junit.Test; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicServiceTest.java index e0d0f8a6eed2e175eb89244e6326bc6928ad809d..98fbc3a00caf1d4ee18495c5cb46740f4666ee29 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicServiceTest.java @@ -2,7 +2,6 @@ package eu.europa.ec.edelivery.smp.services.ui; import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; import eu.europa.ec.edelivery.smp.data.dao.GroupMemberDao; -import eu.europa.ec.edelivery.smp.data.dao.ResourceMemberDao; import eu.europa.ec.edelivery.smp.data.enums.MembershipRoleType; import eu.europa.ec.edelivery.smp.data.enums.VisibilityType; import eu.europa.ec.edelivery.smp.data.model.DBDomain; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyServiceIntegrationTest.java index 210c5ee1fb0e2da12e1f315098933c36993aa826..6f0f0c12808601aa71ee927d68f92787f7ca5647 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyServiceIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIPropertyServiceIntegrationTest.java @@ -1,16 +1,15 @@ package eu.europa.ec.edelivery.smp.services.ui; +import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger; import eu.europa.ec.edelivery.smp.data.model.DBConfiguration; import eu.europa.ec.edelivery.smp.data.ui.PropertyRO; import eu.europa.ec.edelivery.smp.data.ui.PropertyValidationRO; import eu.europa.ec.edelivery.smp.data.ui.ServiceResultProperties; -import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest; import org.apache.commons.lang3.StringUtils; import org.hamcrest.CoreMatchers; import org.hamcrest.MatcherAssert; -import org.junit.Ignore; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -19,9 +18,9 @@ import org.springframework.test.context.ContextConfiguration; import java.util.Collections; import java.util.Map; -import static eu.europa.ec.edelivery.smp.cron.CronTriggerConfig.TRIGGER_BEAN_PROPERTY_REFRESH; import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SMP_CLUSTER_ENABLED; import static eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum.SMP_PROPERTY_REFRESH_CRON; +import static eu.europa.ec.edelivery.smp.cron.CronTriggerConfig.TRIGGER_BEAN_PROPERTY_REFRESH; import static org.junit.Assert.*; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchServiceTest.java index a6ee9e3eacbff929f1a8fe48eab150dd8119aa53..6f16b4b23670e64577c7af02b8c0793a5f9eb0e0 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceSearchServiceTest.java @@ -1,27 +1,24 @@ package eu.europa.ec.edelivery.smp.services.ui; -import eu.europa.ec.edelivery.smp.config.ConversionTestConfig; +import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; import eu.europa.ec.edelivery.smp.data.ui.ServiceGroupSearchRO; import eu.europa.ec.edelivery.smp.data.ui.ServiceResult; -import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest; import eu.europa.ec.edelivery.smp.services.ui.filters.ResourceFilter; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; -@ContextConfiguration(classes = {UIResourceSearchService.class, ConversionTestConfig.class}) -public class UIResourceSearchServiceTest extends AbstractServiceIntegrationTest { +public class UIResourceSearchServiceTest extends AbstractJunit5BaseDao { @Autowired protected UIResourceSearchService testInstance; - @Before + @BeforeEach public void prepareDatabase() { // setup initial data! testUtilsDao.clearData(); diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceServiceTest.java index bac7784cce12a1ca7dec89c7b8fd54627a88e12b..d155b545731be667c9edc7e5d7c81daf1941313f 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIResourceServiceTest.java @@ -164,14 +164,68 @@ public class UIResourceServiceTest extends AbstractJunit5BaseDao { assertEquals(VisibilityType.PRIVATE, result.getVisibility()); } + @Test - public void testDeleteResourceFromGroup() { + public void testUpdateResourceForGroupGroupNotFound() { + // given + DBResource dbResource = testUtilsDao.getResourceD1G1RD1(); + ResourceRO testResource = TestROUtils.createResource(dbResource.getIdentifierValue(), dbResource.getIdentifierScheme(), dbResource.getDomainResourceDef().getResourceDef().getIdentifier()); + assertNotEquals(dbResource.getVisibility(), VisibilityType.PRIVATE); + testResource.setVisibility(VisibilityType.PRIVATE); + + // when + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + ()-> testInstance.updateResourceForGroup(testResource, dbResource.getId(), + -1000L, testUtilsDao.getD1().getId())); + // then + assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode()); + assertThat(result.getMessage(), containsString("Group does not exist!")); + } + + @Test + public void testUpdateResourceForGroupNotBelongToDomain() { + // given + DBResource dbResource = testUtilsDao.getResourceD1G1RD1(); + ResourceRO testResource = TestROUtils.createResource(dbResource.getIdentifierValue(), dbResource.getIdentifierScheme(), dbResource.getDomainResourceDef().getResourceDef().getIdentifier()); + assertNotEquals(dbResource.getVisibility(), VisibilityType.PRIVATE); + testResource.setVisibility(VisibilityType.PRIVATE); + + // when + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + ()-> testInstance.updateResourceForGroup(testResource, dbResource.getId(), + testUtilsDao.getGroupD2G1().getId(), testUtilsDao.getD1().getId())); + // then + assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode()); + assertThat(result.getMessage(), containsString("Group does not belong to the given domain!")); + } + + + @Test + public void testUpdateResourceForGroupResourceDefNotFound() { + // given + String defIdNotExist = UUID.randomUUID().toString(); + DBResource dbResource = testUtilsDao.getResourceD1G1RD1(); + ResourceRO testResource = TestROUtils.createResource(dbResource.getIdentifierValue(), dbResource.getIdentifierScheme(), defIdNotExist); + assertNotEquals(dbResource.getVisibility(), VisibilityType.PRIVATE); + testResource.setVisibility(VisibilityType.PRIVATE); + + // when + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + ()-> testInstance.updateResourceForGroup(testResource, dbResource.getId(), + testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId())); + // then + assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode()); + assertThat(result.getMessage(), containsString("Resource definition ["+defIdNotExist+"] does not exist!")); + } + + @Test + public void testDeleteResourceFromGroupOK() { // given ResourceRO testResource = TestROUtils.createResource(UUID.randomUUID().toString(), TEST_SG_SCHEMA_1, testUtilsDao.getDomainResourceDefD1R1().getResourceDef().getIdentifier()); ResourceRO result = testInstance.createResourceForGroup(testResource, testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId(), testUtilsDao.getUser1().getId()); - Long resourceId = new Long(result.getResourceId()); + Long resourceId = Long.valueOf(result.getResourceId()); assertNotNull(resourceDao.find(resourceId)); // when testInstance.deleteResourceFromGroup(resourceId, testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId()); @@ -179,6 +233,47 @@ public class UIResourceServiceTest extends AbstractJunit5BaseDao { assertNull(resourceDao.find(resourceId)); } + + @Test + public void testDeleteResourceFromGroupResourceNotExists() { + // given + // when + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + ()-> testInstance.deleteResourceFromGroup(-1000L, testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId())); + // then + assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode()); + assertThat(result.getMessage(), containsString("Resource does not exist!")); + } + + + @Test + public void testDeleteResourceFromGroupResourceNotBelongToGroup() { + // given + // when + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + ()-> testInstance.deleteResourceFromGroup(testUtilsDao.getResourceD2G1RD1().getId(), testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId())); + // then + assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode()); + assertThat(result.getMessage(), containsString("Resource does not belong to the group!")); + } + + @Test + public void testDeleteResourceFromGroup() { + // given + ResourceRO testResource = TestROUtils.createResource(UUID.randomUUID().toString(), TEST_SG_SCHEMA_1, + testUtilsDao.getDomainResourceDefD1R1().getResourceDef().getIdentifier()); + ResourceRO resourceRO = testInstance.createResourceForGroup(testResource, testUtilsDao.getGroupD1G1().getId(), + testUtilsDao.getD1().getId(), testUtilsDao.getUser1().getId()); + Long resourceId = Long.valueOf(resourceRO.getResourceId()); + assertNotNull(resourceDao.find(resourceId)); + // when + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + ()-> testInstance.deleteResourceFromGroup(resourceId, testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD2().getId())); + // then + assertEquals(ErrorCode.INVALID_REQUEST, result.getErrorCode()); + assertThat(result.getMessage(), containsString("Group does not belong to the given domain!")); + } + @Test public void testGetResourceMembers() { // given diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceServiceTest.java index 7863821bf856a5fba4959254feaa6538091dab76..0b48d1080af060e392c67bd612c786afbefff224 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UISubresourceServiceTest.java @@ -2,15 +2,10 @@ package eu.europa.ec.edelivery.smp.services.ui; import eu.europa.ec.edelivery.smp.data.dao.AbstractJunit5BaseDao; import eu.europa.ec.edelivery.smp.data.ui.SubresourceRO; -import eu.europa.ec.edelivery.smp.exceptions.BadRequestException; -import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode; import eu.europa.ec.edelivery.smp.exceptions.ErrorCode; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; -import org.hamcrest.MatcherAssert; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.CsvSource; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java index a92b6e9e3393d9d595cc2cffe92d296a840de14f..551b4f23cb229267938f69c736406e59057b3124 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java @@ -393,7 +393,7 @@ public class UITruststoreServiceIntegrationTest extends AbstractServiceIntegrati OffsetDateTime.now().plusYears(1), Collections.emptyList() ); - Mockito.doReturn(Arrays.asList("InvalidKeyTest")).when(configurationService).getAllowedCertificateKeyTypes(); + Mockito.doReturn(Collections.singletonList("InvalidKeyTest")).when(configurationService).getAllowedCertificateKeyTypes(); // add as trusted certificate testInstance.addCertificate(UUID.randomUUID().toString(), certificate); @@ -478,7 +478,7 @@ public class UITruststoreServiceIntegrationTest extends AbstractServiceIntegrati @Test public void testValidateCertificatePolicyLegacyMatchOk() throws Exception { String certSubject = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE"; - X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(certSubject, BigInteger.TEN, Arrays.asList(CERTIFICATE_POLICY_QCP_NATURAL)); + X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(certSubject, BigInteger.TEN, Collections.singletonList(CERTIFICATE_POLICY_QCP_NATURAL)); Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL)).when(configurationService).getAllowedCertificatePolicies(); testInstance.validateCertificatePolicyMatchLegacy(certificate); } @@ -497,7 +497,7 @@ public class UITruststoreServiceIntegrationTest extends AbstractServiceIntegrati @Test public void testValidateCertificatePolicyLegacyMatchMismatch() throws Exception { String certSubject = "CN=SMP Test,OU=eDelivery,O=DIGITAL,C=BE"; - X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(certSubject, BigInteger.TEN, Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL_QSCD)); + X509Certificate certificate = X509CertificateTestUtils.createX509CertificateForTest(certSubject, BigInteger.TEN, Collections.singletonList(CERTIFICATE_POLICY_QCP_LEGAL_QSCD)); Mockito.doReturn(Arrays.asList(CERTIFICATE_POLICY_QCP_LEGAL, CERTIFICATE_POLICY_QCP_NATURAL)).when(configurationService).getAllowedCertificatePolicies(); CertificateException result = assertThrows(CertificateException.class, @@ -507,7 +507,7 @@ public class UITruststoreServiceIntegrationTest extends AbstractServiceIntegrati @Test public void validateCertificateNotUsed() throws CertificateException { - String certId = "cn=test" + UUID.randomUUID().toString() + ",o=test,c=eu:123456"; + String certId = "cn=test" + UUID.randomUUID() + ",o=test,c=eu:123456"; CertificateRO certificateRO = new CertificateRO(); certificateRO.setCertificateId(certId); // when diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java index 9d4c18fbc93f24a0cf5facb02516d9c2c0ac2b62..6e26f1a3aa210d803f082467d6c5a1636b335293 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceTest.java @@ -58,7 +58,7 @@ public class UITruststoreServiceTest { @Test public void validateCertificateNotUsedOk() throws CertificateException { - String certId = "cn=test" + UUID.randomUUID().toString() + ",o=test,c=eu:123456"; + String certId = "cn=test" + UUID.randomUUID() + ",o=test,c=eu:123456"; CertificateRO certificateRO = new CertificateRO(); certificateRO.setCertificateId(certId); doReturn(Optional.empty()).when(userDao).findUserByCertificateId(ArgumentMatchers.anyString()); @@ -73,7 +73,7 @@ public class UITruststoreServiceTest { @Test public void validateCertificateNotUsedIsUsed() { - String certId = "cn=test" + UUID.randomUUID().toString() + ",o=test,c=eu:123456"; + String certId = "cn=test" + UUID.randomUUID() + ",o=test,c=eu:123456"; CertificateRO certificateRO = new CertificateRO(); certificateRO.setCertificateId(certId); doReturn(Optional.of(new DBUser())).when(userDao).findUserByCertificateId(ArgumentMatchers.anyString()); @@ -405,7 +405,7 @@ public class UITruststoreServiceTest { /** * This method is not a tests is it done for generating the tests Soapui certificates * - * @throws Exception + * @throws Exception if an error occurs */ @Test @Disabled diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java index 598ec7fe0d46ac1a25484a3a636c42cd07a5891e..4a8dd464ab88b848c1d698b71c44c3e80a8fd59d 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIUserServiceIntegrationTest.java @@ -32,6 +32,7 @@ import java.math.BigInteger; import java.util.List; import java.util.Optional; import java.util.UUID; +import java.util.stream.Collectors; import static eu.europa.ec.edelivery.smp.testutil.SMPAssert.assertEqualDates; import static org.junit.jupiter.api.Assertions.*; @@ -150,6 +151,23 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao { assertFalse(rmUsr2.isPresent()); } + @Test + public void testValidateDeleteRequest() { + // given + insertDataObjects(15); + ServiceResult<UserRO> urTest = testInstance.getTableList(-1, -1, null, null, null); + assertEquals(15, urTest.getServiceEntities().size()); + List<String> listUserIds = urTest.getServiceEntities().stream().map(UserRO::getUserId).collect(Collectors.toList()); + DeleteEntityValidation deleteEntityValidation = new DeleteEntityValidation(); + deleteEntityValidation.getListIds().addAll(listUserIds); + // when + DeleteEntityValidation result = testInstance.validateDeleteRequest(deleteEntityValidation); + // then + assertNotNull(result); + assertEquals(listUserIds.size(), result.getListIds().size()); + assertEquals(0, result.getListDeleteNotPermitedIds().size()); + } + @Test public void testUpdateUserPasswordNotMatchReqExpression() { long authorizedUserId = 1L; @@ -214,6 +232,27 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao { testInstance.updateUserPassword(authorizedUserId, userToUpdateId, authorizedPassword, newPassword); } + @Test + public void testUpdateUserPasswordByAdminUserNotExists() { + // system admin + DBUser user = TestDBUtils.createDBUserByUsername(UUID.randomUUID().toString()); + user.setApplicationRole(ApplicationRoleType.SYSTEM_ADMIN); + DBCredential credential = TestDBUtils.createDBCredentialForUser(user, null, null, null); + credential.setValue(BCrypt.hashpw("userPassword", BCrypt.gensalt())); + userDao.persistFlushDetach(user); + credentialDao.persistFlushDetach(credential); + + long authorizedUserId = user.getId(); + long userToUpdateId =-1000L; + String authorizedPassword = "userPassword"; + String newPassword = "TTTTtttt1111$$$$$"; + + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + () -> testInstance.updateUserPassword(authorizedUserId,userToUpdateId, authorizedPassword, newPassword)); + + MatcherAssert.assertThat(result.getMessage(), CoreMatchers.containsString("Invalid request [UserId]. Error: Can not find user id to update")); + } + @Test public void testAdminUpdateUserdataOK() { DBUser user = TestDBUtils.createDBUserByUsername(UUID.randomUUID().toString()); @@ -259,6 +298,18 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao { assertEqualDates(accessToken.getGeneratedOn(), accessToken.getCredential().getActiveFrom()); } + @Test + public void testCreateAccessTokenForUserUserNotExists() { + CredentialRO credentialRO = new CredentialRO(); + credentialRO.setCredentialType(CredentialType.ACCESS_TOKEN); + credentialRO.setDescription("test description"); + + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + () -> testInstance.createAccessTokenForUser(-100L, credentialRO)); + + MatcherAssert.assertThat(result.getMessage(), CoreMatchers.containsString("Invalid request [UserId]. Error: Can not find user id!")); + } + @Test public void testStoreCertificateCredentialForUser() throws Exception { DBUser user = TestDBUtils.createDBUserByUsername(UUID.randomUUID().toString()); @@ -280,6 +331,21 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao { assertEquals(credentialRO.getDescription(), result.getDescription()); } + @Test + public void testStoreCertificateCredentialForUserUserNotExists() throws Exception { + CertificateRO certificateRO = TestROUtils.createCertificateRO("CN=Test,OU=Test,O=Test,L=Test,ST=Test,C=EU", BigInteger.TEN); + + CredentialRO credentialRO = new CredentialRO(); + credentialRO.setCredentialType(CredentialType.CERTIFICATE); + credentialRO.setDescription("test description"); + credentialRO.setCertificate(certificateRO); + + SMPRuntimeException result = assertThrows(SMPRuntimeException.class, + () -> testInstance.storeCertificateCredentialForUser(-100L, credentialRO)); + + MatcherAssert.assertThat(result.getMessage(), CoreMatchers.containsString("Invalid request [UserId]. Error: Can not find user id!")); + } + @Test public void testUpdateUserProfile() { DBUser user = TestDBUtils.createDBUserByUsername(UUID.randomUUID().toString()); @@ -339,7 +405,7 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao { credentialRO.setCertificate(certificateRO); credentialRO = testInstance.storeCertificateCredentialForUser(user.getId(), credentialRO); // the credential id for the test is not encrypted and we can use "Long parsing". - CredentialRO result = testInstance.getUserCertificateCredential(user.getId(), new Long(credentialRO.getCredentialId())); + CredentialRO result = testInstance.getUserCertificateCredential(user.getId(), Long.valueOf(credentialRO.getCredentialId())); assertNotNull(result); assertEquals(credentialRO.getCredentialId(), result.getCredentialId()); @@ -361,7 +427,7 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao { assertEquals(1, result.size()); assertEquals(credentialRO.getDescription(), result.get(0).getDescription()); // the credential id for the test is not encrypted and we can use "Long parsing". - testInstance.deleteUserCredentials(user.getId(), new Long(result.get(0).getCredentialId()), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API); + testInstance.deleteUserCredentials(user.getId(), Long.valueOf(result.get(0).getCredentialId()), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API); result = testInstance.getUserCredentials(user.getId(), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API); assertNotNull(result); @@ -386,7 +452,7 @@ public class UIUserServiceIntegrationTest extends AbstractJunit5BaseDao { credentialRO2.setCredentialType(CredentialType.ACCESS_TOKEN); credentialRO2.setDescription("test description 2"); // the credential id for the test is not encrypted and we can use "Long parsing". - testInstance.updateUserCredentials(user.getId(), new Long(result.get(0).getCredentialId()), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API, credentialRO2); + testInstance.updateUserCredentials(user.getId(), Long.valueOf(result.get(0).getCredentialId()), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API, credentialRO2); result = testInstance.getUserCredentials(user.getId(), CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API); assertNotNull(result); diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/servlet/ResourceResponseTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/servlet/ResourceResponseTest.java index f5ab899f6e76052d101b526f6b2bae31a503bb4a..c9c15143ee70d748948138a16e4a9d2ca268db28 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/servlet/ResourceResponseTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/servlet/ResourceResponseTest.java @@ -4,10 +4,9 @@ import org.junit.jupiter.api.Test; import org.mockito.Mockito; import javax.servlet.http.HttpServletResponse; - import java.io.IOException; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; class ResourceResponseTest { diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlClientFactoryAuthenticationByClientCertHttpHeader.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlClientFactoryAuthenticationByClientCertHttpHeader.java index b714eccb3b7f6d6500809b2e3404b2b69c80a5bb..5c85a08582bac5e53ca2cdf0c93464d6142cad34 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlClientFactoryAuthenticationByClientCertHttpHeader.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlClientFactoryAuthenticationByClientCertHttpHeader.java @@ -37,7 +37,8 @@ import java.net.URL; import java.util.List; import java.util.Map; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; /** * Created by gutowpa on 08/01/2018. diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java index e57ec7eb95a10a68f2954a270ee0aa0e61cefef3..30fdb600997ba42c9eb8ee6015e2b2da262d483c 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java @@ -21,7 +21,6 @@ import eu.europa.ec.bdmsl.ws.soap.UnauthorizedFault; import eu.europa.ec.edelivery.smp.config.SmlIntegrationConfiguration; import eu.europa.ec.edelivery.smp.data.model.DBDomain; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; -import eu.europa.ec.edelivery.smp.services.AbstractServiceIntegrationTest; import eu.europa.ec.edelivery.smp.services.AbstractServiceTest; import eu.europa.ec.edelivery.smp.services.ConfigurationService; import org.junit.Before; @@ -30,11 +29,8 @@ import org.junit.Rule; import org.junit.Test; import org.junit.jupiter.api.Assertions; import org.junit.rules.ExpectedException; -import org.junit.runner.RunWith; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.util.ReflectionTestUtils; import java.util.UUID; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/DBAssertion.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/DBAssertion.java index cc9582a6e6a2c654f78a02404023386425121616..c4dff31cae72d380460c1b01f67d65c2f97476d7 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/DBAssertion.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/DBAssertion.java @@ -6,11 +6,9 @@ import eu.europa.ec.edelivery.smp.data.model.doc.DBResource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; import java.util.Optional; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; /** * Purpose of class is to test database data. Class is created as a bean so that @@ -39,15 +37,15 @@ public class DBAssertion { @Transactional public void assertServiceGroupExtensionEqual(String partId, String partSchema, byte[] expectedExt) { byte[] ext = getExtensionForServiceGroup(partId, partSchema); - assertTrue(Arrays.equals(expectedExt, ext)); + assertArrayEquals(expectedExt, ext); } @Transactional public byte[] getExtensionForServiceGroup(String partId, String partSchema) { DBResource sg = serviceGroupDao.findServiceGroup(partId, partSchema).get(); - DBDocumentVersion currentVersion = sg.getDocument()!=null && !sg.getDocument().getDocumentVersions().isEmpty()? - sg.getDocument().getDocumentVersions().stream().filter(res -> res.getVersion() == sg.getDocument().getCurrentVersion()).findFirst().orElse(null) :null; - return currentVersion!=null? currentVersion.getContent():null; + DBDocumentVersion currentVersion = sg.getDocument() != null && !sg.getDocument().getDocumentVersions().isEmpty() ? + sg.getDocument().getDocumentVersions().stream().filter(res -> res.getVersion() == sg.getDocument().getCurrentVersion()).findFirst().orElse(null) : null; + return currentVersion != null ? currentVersion.getContent() : null; } @Transactional diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/MockAlertBeans.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/MockAlertBeans.java index 4fe62d0f26c153904f017ebfb1836aeab0c4a8c1..2a4d1ab77246eeecc755a0de51c1c7248c699ed7 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/MockAlertBeans.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/MockAlertBeans.java @@ -17,5 +17,5 @@ public class MockAlertBeans { @Primary public JavaMailSenderImpl getJavaMailSender(){ return javaMailSender; - }; + } } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/SignatureUtil.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/SignatureUtil.java index 1d27d6100b0bb0bdab7cfd0e460805df0962f623..e33a7e13fe3490d39651b2de39a88b195daa6765 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/SignatureUtil.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/SignatureUtil.java @@ -20,7 +20,6 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; - import javax.xml.crypto.MarshalException; import javax.xml.crypto.dsig.*; import javax.xml.crypto.dsig.dom.DOMSignContext; @@ -30,6 +29,8 @@ import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory; import javax.xml.crypto.dsig.keyinfo.X509Data; import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec; import javax.xml.crypto.dsig.spec.TransformParameterSpec; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; @@ -37,6 +38,7 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import java.io.*; +import java.nio.charset.StandardCharsets; import java.security.*; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; @@ -61,9 +63,16 @@ public class SignatureUtil { private static KeyStore.PrivateKeyEntry privateKeyEntry; private static KeyInfo keyInfo; + private static XMLSignatureFactory getDomSigFactory() { + // According to Javadoc, only static methods of this factory are thread-safe + // We cannot share and re-use the same instance in every place + // set apache santuario xmlsec signature factory + return XMLSignatureFactory.getInstance("DOM", new org.apache.jcp.xml.dsig.internal.dom.XMLDSigRI()); + } + private static void setupSigner(String keystoreResPath, String keystorePass, String keyPairAlias, String keyPairPass) throws KeyStoreException, CertificateException, NoSuchAlgorithmException, UnrecoverableEntryException, IOException { // Initialize all stuff needed for signing: Load keys from keystore and prepare signature factory - sigFactory = XMLSignatureFactory.getInstance("DOM"); + sigFactory = getDomSigFactory(); KeyStore ks = KeyStore.getInstance("JKS"); InputStream keystoreStream = SignatureUtil.class.getResourceAsStream(keystoreResPath); ks.load(keystoreStream, keystorePass.toCharArray()); @@ -102,7 +111,7 @@ public class SignatureUtil { } public static void validateSignature(Element sigPointer) throws Exception { - XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM"); + XMLSignatureFactory fac = getDomSigFactory(); // Create a DOMValidateContext and specify a KeySelector and document context. DOMValidateContext valContext = new DOMValidateContext(new X509KeySelector(), sigPointer); @@ -122,7 +131,7 @@ public class SignatureUtil { } // Check core validation status. - if (coreValidity == false) { + if (!coreValidity) { printErrorDetails(valContext, signature); throw new Exception("+++ Signature not valild +++"); } else { @@ -135,7 +144,7 @@ public class SignatureUtil { System.err.println("Signature failed core validation"); boolean sv = signature.getSignatureValue().validate(valContext); System.out.println("signature validation status: " + sv); - if (sv == false) { + if (!sv) { // Check the validation status of each Reference. Iterator i1 = signature.getSignedInfo().getReferences().iterator(); for (int j = 0; i1.hasNext(); j++) { @@ -164,7 +173,6 @@ public class SignatureUtil { } - public static Element findServiceInfoSig(Document doc) throws ParserConfigurationException, SAXException, IOException { Element extension = findExtensionInServiceInformation(doc); return findSignatureByParentNode(extension); @@ -180,7 +188,6 @@ public class SignatureUtil { } - public static Element findExtensionInServiceInformation(Document doc) throws ParserConfigurationException, SAXException, IOException { Element serviceInformation = findFirstElementByName(doc, "ServiceInformation"); @@ -198,6 +205,19 @@ public class SignatureUtil { return extension; } + public static Document loadDocument(String docResourcePath) throws ParserConfigurationException, SAXException, IOException { + InputStream inputStreamm = SignatureUtil.class.getResourceAsStream(docResourcePath); + return getDocumentBuilder().parse(inputStreamm); + } + + + public static DocumentBuilder getDocumentBuilder() throws ParserConfigurationException { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + dbf.setNamespaceAware(true); + return dbf.newDocumentBuilder(); + } + + public static Element findFirstElementByName(Document doc, String elementName) { NodeList elements = doc.getElementsByTagNameNS(OASIS_NS, elementName); return (Element) elements.item(0); @@ -213,7 +233,7 @@ public class SignatureUtil { public static String loadDocumentAsString(String docResourcePath) throws IOException { InputStream inputStream = SignatureUtil.class.getResourceAsStream(docResourcePath); - return org.apache.commons.io.IOUtils.toString(inputStream, "UTF-8"); + return org.apache.commons.io.IOUtils.toString(inputStream, StandardCharsets.UTF_8); } } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestDBUtils.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestDBUtils.java index b49a633f9d0495024ff506186d881e696223a5a3..c3ea243b3224d73e599659eba3a91906e207205c 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestDBUtils.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestDBUtils.java @@ -20,12 +20,11 @@ import eu.europa.ec.edelivery.smp.data.model.user.DBUser; import eu.europa.ec.edelivery.smp.data.ui.enums.AlertLevelEnum; import eu.europa.ec.edelivery.smp.data.ui.enums.AlertStatusEnum; import eu.europa.ec.edelivery.smp.data.ui.enums.AlertTypeEnum; -import org.apache.commons.lang3.StringUtils; import java.time.OffsetDateTime; import java.util.UUID; -import static eu.europa.ec.edelivery.smp.testutil.TestConstants.*; +import static eu.europa.ec.edelivery.smp.testutil.TestConstants.SIMPLE_EXTENSION_XML; public class TestDBUtils { @@ -40,10 +39,10 @@ public class TestDBUtils { } public static DBGroup createDBGroup(String groupName) { - return createDBGroup(groupName, VisibilityType.PUBLIC); + return createDBGroup(groupName, VisibilityType.PUBLIC); } - public static DBGroup createDBGroup(String groupName, VisibilityType visibility){ + public static DBGroup createDBGroup(String groupName, VisibilityType visibility) { DBGroup group = new DBGroup(); group.setGroupName(groupName); group.setGroupDescription(anyString()); @@ -54,7 +53,7 @@ public class TestDBUtils { public static DBExtension createDBExtension(String identifier) { DBExtension entity = new DBExtension(); entity.setIdentifier(identifier); - entity.setImplementationName(identifier+"Name"); + entity.setImplementationName(identifier + "Name"); entity.setName(anyString()); entity.setDescription(anyString()); entity.setVersion(anyString()); @@ -82,7 +81,7 @@ public class TestDBUtils { } public static DBResourceDef createDBResourceDef(String identifier) { - return createDBResourceDef(identifier, anyString()); + return createDBResourceDef(identifier, anyString()); } public static DBAlert createDBAlert(String username) { @@ -177,7 +176,7 @@ public class TestDBUtils { public static DBDocumentVersion createDBDocumentVersion(String id, String sch) { DBDocumentVersion docuVersion = new DBDocumentVersion(); docuVersion.setContent(("<ServiceGroup xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\">" + - "<ParticipantIdentifier scheme=\""+sch+"\">"+id+"</ParticipantIdentifier>" + + "<ParticipantIdentifier scheme=\"" + sch + "\">" + id + "</ParticipantIdentifier>" + "<ServiceMetadataReferenceCollection />" + "</ServiceGroup>").getBytes()); return docuVersion; @@ -186,8 +185,8 @@ public class TestDBUtils { public static DBDocumentVersion createDBDocumentVersion(String id, String sch, String docId, String docSch) { DBDocumentVersion docuVersion = new DBDocumentVersion(); docuVersion.setContent(("<ServiceMetadata xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\"><ServiceInformation>" + - "<ParticipantIdentifier scheme=\""+sch+"\">"+id+"</ParticipantIdentifier>" + - "<DocumentIdentifier scheme=\""+docSch+"\">"+docId+"</DocumentIdentifier>" + + "<ParticipantIdentifier scheme=\"" + sch + "\">" + id + "</ParticipantIdentifier>" + + "<DocumentIdentifier scheme=\"" + docSch + "\">" + docId + "</DocumentIdentifier>" + "<ProcessList><Process>" + "<ProcessIdentifier scheme=\"[test-schema]\">[test-value]</ProcessIdentifier>" + "<ServiceEndpointList>" + @@ -211,24 +210,24 @@ public class TestDBUtils { return createDBCredential(name, "value", CredentialType.USERNAME_PASSWORD, CredentialTargetType.UI); } - public static DBCredential createDBCredentialForUser(DBUser user, OffsetDateTime from , OffsetDateTime to, OffsetDateTime lastAlertSent ) { - DBCredential credential = createDBCredential(user, user.getUsername(), "value", CredentialType.USERNAME_PASSWORD, CredentialTargetType.UI); + public static DBCredential createDBCredentialForUser(DBUser user, OffsetDateTime from, OffsetDateTime to, OffsetDateTime lastAlertSent) { + DBCredential credential = createDBCredential(user, user.getUsername(), "value", CredentialType.USERNAME_PASSWORD, CredentialTargetType.UI); credential.setExpireOn(to); credential.setActiveFrom(from); credential.setExpireAlertOn(lastAlertSent); return credential; } - public static DBCredential createDBCredentialForUserAccessToken(DBUser user, OffsetDateTime from , OffsetDateTime to, OffsetDateTime lastAlertSent ) { - DBCredential credential = createDBCredential(user, user.getUsername(), "value", CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API); + public static DBCredential createDBCredentialForUserAccessToken(DBUser user, OffsetDateTime from, OffsetDateTime to, OffsetDateTime lastAlertSent) { + DBCredential credential = createDBCredential(user, user.getUsername(), "value", CredentialType.ACCESS_TOKEN, CredentialTargetType.REST_API); credential.setExpireOn(to); credential.setActiveFrom(from); credential.setExpireAlertOn(lastAlertSent); return credential; } - public static DBCredential createDBCredentialForUserCertificate(DBUser user, OffsetDateTime from , OffsetDateTime to, OffsetDateTime lastAlertSent ) { - DBCredential credential = createDBCredential(user, user.getUsername(), "value", CredentialType.CERTIFICATE, CredentialTargetType.REST_API); + public static DBCredential createDBCredentialForUserCertificate(DBUser user, OffsetDateTime from, OffsetDateTime to, OffsetDateTime lastAlertSent) { + DBCredential credential = createDBCredential(user, user.getUsername(), "value", CredentialType.CERTIFICATE, CredentialTargetType.REST_API); credential.setExpireAlertOn(lastAlertSent); if (to != null) { credential.setExpireOn(to); @@ -248,8 +247,8 @@ public class TestDBUtils { dbCredential.setName(name); dbCredential.setCredentialType(credentialType); dbCredential.setCredentialTarget(credentialTargetType); - dbCredential.setActiveFrom(OffsetDateTime.now().minusDays(1l)); - dbCredential.setExpireOn(OffsetDateTime.now().plusDays(2l)); + dbCredential.setActiveFrom(OffsetDateTime.now().minusDays(1L)); + dbCredential.setExpireOn(OffsetDateTime.now().plusDays(2L)); dbCredential.setChangedOn(OffsetDateTime.now()); dbCredential.setExpireAlertOn(OffsetDateTime.now()); dbCredential.setSequentialLoginFailureCount(1); @@ -263,11 +262,11 @@ public class TestDBUtils { certificate.setValidTo(dbCredential.getExpireOn()); int iSplit = name.lastIndexOf(':'); - if (iSplit>0) { + if (iSplit > 0) { String subject = name.substring(0, iSplit); certificate.setSubject(subject); certificate.setIssuer(subject); - certificate.setSerialNumber(name.substring(iSplit+1)); + certificate.setSerialNumber(name.substring(iSplit + 1)); } else { certificate.setSubject(name); certificate.setIssuer(name); @@ -286,8 +285,8 @@ public class TestDBUtils { dbCredential.setName(name); dbCredential.setCredentialType(credentialType); dbCredential.setCredentialTarget(credentialTargetType); - dbCredential.setActiveFrom(OffsetDateTime.now().minusDays(1l)); - dbCredential.setExpireOn(OffsetDateTime.now().plusDays(2l)); + dbCredential.setActiveFrom(OffsetDateTime.now().minusDays(1L)); + dbCredential.setExpireOn(OffsetDateTime.now().plusDays(2L)); dbCredential.setChangedOn(OffsetDateTime.now()); dbCredential.setExpireAlertOn(OffsetDateTime.now()); dbCredential.setSequentialLoginFailureCount(1); @@ -343,7 +342,7 @@ public class TestDBUtils { public static DBUser createDBUser(String userName, String certId, OffsetDateTime validFrom, OffsetDateTime validTo) { DBUser dbuser = createDBUserByUsername(userName); - DBCredential credential = createDBCredential(dbuser, certId,"", CredentialType.CERTIFICATE, CredentialTargetType.REST_API); + DBCredential credential = createDBCredential(dbuser, certId, "", CredentialType.CERTIFICATE, CredentialTargetType.REST_API); credential.setActiveFrom(validFrom); credential.setExpireOn(validTo); credential.setCertificate(createDBCertificate(certId, validFrom, validTo)); @@ -351,7 +350,7 @@ public class TestDBUtils { return dbuser; } - public static String anyString(){ + public static String anyString() { return UUID.randomUUID().toString(); } } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509CertificateTestUtils.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509CertificateTestUtils.java index 3a0a21a385939ad92080517fe47329ad3e60c188..8ce924398e5ab13306d6b526a31c48cc98f2f9c4 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509CertificateTestUtils.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509CertificateTestUtils.java @@ -38,7 +38,7 @@ public class X509CertificateTestUtils { KeyUsage usage = new KeyUsage(244); X509Certificate cert = X509CertificateUtils.generateCertificate(serial, key.getPublic(), subject, OffsetDateTime.now().minusDays(1L), - OffsetDateTime.now().plusYears(5L), (String) null, + OffsetDateTime.now().plusYears(5L), null, key.getPrivate(), false, -1, usage, Collections.emptyList(), Collections.emptyList(), listOfPolicyOIDs); diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509KeySelector.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509KeySelector.java index c39464956efe1325a23eb5a155324f6758848b69..0357d1a9dfb4fb7e9052fa36c686ed0c770b48db 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509KeySelector.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/X509KeySelector.java @@ -14,14 +14,16 @@ package eu.europa.ec.edelivery.smp.testutil; import javax.xml.crypto.*; -import javax.xml.crypto.dsig.SignatureMethod; import javax.xml.crypto.dsig.keyinfo.KeyInfo; import javax.xml.crypto.dsig.keyinfo.X509Data; -import java.security.Key; import java.security.PublicKey; import java.security.cert.X509Certificate; import java.util.Iterator; +/** + * This test class is used to extract the public key from an X509 certificate. + * It is used in the test cases to verify the signature of the SML response. + */ public class X509KeySelector extends KeySelector { private X509Certificate certificate; @@ -50,30 +52,12 @@ public class X509KeySelector extends KeySelector { final PublicKey key = this.certificate.getPublicKey(); // Make sure the algorithm is compatible // with the method. - if (algEquals(method.getAlgorithm(), key.getAlgorithm())) { - return new KeySelectorResult() { - public Key getKey() { - return key; - } - }; - } + return () -> key; } } throw new KeySelectorException("No key found!"); } - static boolean algEquals(String algorithmURI, String algorithmName) { - if ((algorithmName.equalsIgnoreCase("DSA") && - algorithmURI.equalsIgnoreCase(SignatureMethod.DSA_SHA1)) - || (algorithmName.equalsIgnoreCase("RSA") && - algorithmURI.equalsIgnoreCase(SignatureMethod.RSA_SHA1)) - || (algorithmName.equalsIgnoreCase("RSA") - && algorithmURI.equalsIgnoreCase("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"))) { - - return true; - } - return false; - } public X509Certificate getCertificate() { return this.certificate; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/BCryptPasswordHashTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/BCryptPasswordHashTest.java index 8e9537e5ca7c1aa47986b30ce2bfbf7cf8c7a1b4..55f4dc99e7997e7afaebcbb408cee1f66e75034e 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/BCryptPasswordHashTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/BCryptPasswordHashTest.java @@ -14,7 +14,6 @@ package eu.europa.ec.edelivery.smp.utils; import org.junit.After; -import org.junit.Before; import org.junit.Test; import org.springframework.security.crypto.bcrypt.BCrypt; diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpForwardedHeadersTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpForwardedHeadersTest.java index cfeadee567824836303f258bf9a247ad719fe053..c47e66f367562897ba8a701f121f2e8a54a4b132 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpForwardedHeadersTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpForwardedHeadersTest.java @@ -4,12 +4,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.mockito.Mockito; -import org.springframework.http.HttpMethod; import javax.servlet.http.HttpServletRequest; - import java.util.Collection; -import java.util.List; import static eu.europa.ec.edelivery.smp.utils.HttpForwardedHeaders.ForwardedHeaderNameEnum.*; import static java.util.Arrays.asList; @@ -56,7 +53,6 @@ public class HttpForwardedHeadersTest { @Test public void getReadForwardHeadersFromRequest() { - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); Mockito.doReturn(hostName).when(request).getHeader(HOST.getHeaderName()); Mockito.doReturn(scheme).when(request).getHeader(PROTO.getHeaderName()); @@ -70,7 +66,5 @@ public class HttpForwardedHeadersTest { assertEquals(resultDefaultPort, testInstance.getNonDefaultPort()); assertEquals(resultScheme, testInstance.getProto()); assertEquals(resultForCall, testInstance.getForClientHost()); - } - -} \ No newline at end of file +} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpUtilsTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpUtilsTest.java index 5902b787ee1c2687773c1407aa0a655dc197f3e4..50dd40ac37bfa036baad5eeb9dadbdd323fcd3e8 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpUtilsTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/HttpUtilsTest.java @@ -7,8 +7,6 @@ import java.net.MalformedURLException; import java.net.URISyntaxException; import java.net.URL; -import static org.junit.Assert.*; - public class HttpUtilsTest { @Test public void testDoesTargetMatchNonProxyLocalhostTrue() throws URISyntaxException, MalformedURLException { @@ -73,4 +71,4 @@ public class HttpUtilsTest { boolean val = HttpUtils.doesTargetMatchNonProxy(targetUrl.getHost(), "localhost|127.0.0.1|192.168.4.*|ec.test.eu"); Assert.assertFalse(val); } -} \ No newline at end of file +} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/PropertyUtilsTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/PropertyUtilsTest.java index 8a044dbd50e078fd71dc4196789b5e2a14fa89a4..955fc7216dbbdb745a611cf2552a9869cd761e3b 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/PropertyUtilsTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/PropertyUtilsTest.java @@ -190,10 +190,10 @@ public class PropertyUtilsTest { Assert.assertEquals(Integer.class, value.getClass()); break; case LIST_STRING: - Assert.assertTrue(List.class.isInstance(value)); + Assert.assertTrue(value instanceof List); break; case MAP_STRING: - Assert.assertTrue(Map.class.isInstance(value)); + Assert.assertTrue(value instanceof Map); break; case PATH: case FILENAME: diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/SMPCookieWriterGenerateHeaderTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/SMPCookieWriterGenerateHeaderTest.java index f65e3e6378fb478c2081199baee4224d8888f5da..52571fab393c069a90922fd16f710fd0e877f421 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/SMPCookieWriterGenerateHeaderTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/utils/SMPCookieWriterGenerateHeaderTest.java @@ -1,7 +1,6 @@ package eu.europa.ec.edelivery.smp.utils; import org.apache.commons.lang3.StringUtils; -import org.hamcrest.Matchers; import org.hamcrest.core.IsNot; import org.junit.Test; import org.junit.runner.RunWith; @@ -14,9 +13,9 @@ import java.util.Arrays; import java.util.Collection; import java.util.UUID; +import static org.hamcrest.Matchers.startsWith; import static org.hamcrest.core.StringContains.containsString; import static org.junit.Assert.assertThat; -import static org.hamcrest.Matchers.startsWith; import static org.mockito.Mockito.doReturn; @RunWith(Parameterized.class) @@ -80,4 +79,4 @@ public class SMPCookieWriterGenerateHeaderTest { assertThat(result, IsNot.not(containsString(expectedResultNotContains))); } } -} \ No newline at end of file +} diff --git a/smp-server-library/src/test/resources/keystores/smp-keystore-all-keys.p12 b/smp-server-library/src/test/resources/keystores/smp-keystore-all-keys.p12 new file mode 100644 index 0000000000000000000000000000000000000000..b98490ab6f55a61121fd59f5911cbb32556aadd2 Binary files /dev/null and b/smp-server-library/src/test/resources/keystores/smp-keystore-all-keys.p12 differ diff --git a/smp-spi/src/main/java/eu/europa/ec/smp/spi/resource/ResourceHandlerSpi.java b/smp-spi/src/main/java/eu/europa/ec/smp/spi/resource/ResourceHandlerSpi.java index ecc331b1d5f940f2ad691a3414aa0282b804a2e0..3990741df5f57d3929167b7839404f7ece0b1b4b 100644 --- a/smp-spi/src/main/java/eu/europa/ec/smp/spi/resource/ResourceHandlerSpi.java +++ b/smp-spi/src/main/java/eu/europa/ec/smp/spi/resource/ResourceHandlerSpi.java @@ -4,8 +4,6 @@ import eu.europa.ec.smp.spi.api.model.RequestData; import eu.europa.ec.smp.spi.api.model.ResponseData; import eu.europa.ec.smp.spi.exceptions.ResourceException; -import java.io.InputStream; -import java.io.OutputStream; import java.util.List; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListener.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListener.java index cae76a369da5eb29ee08f22e1177fbe37d919366..1d3ecfec11486a14f9e9dadf21d759fd596edf20 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListener.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListener.java @@ -30,7 +30,7 @@ public class SMPAuthenticationEventListener implements ApplicationListener<Authe private static final SMPLogger LOG = SMPLoggerFactory.getLogger(SMPAuthenticationEventListener.class); - private ConfigurationService configurationService; + private final ConfigurationService configurationService; @Autowired public SMPAuthenticationEventListener(ConfigurationService configurationService) { diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java index f8a5fa5290e1cd5ed1d09ea52162e2837f2337c9..0d70c736daba47297eee20429147919bb029bb03 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/URLCsrfIgnoreMatcher.java @@ -6,10 +6,12 @@ import org.slf4j.Logger; import org.springframework.http.HttpMethod; import org.springframework.security.web.util.matcher.RegexRequestMatcher; import org.springframework.security.web.util.matcher.RequestMatcher; -import org.springframework.web.util.UrlPathHelper; import javax.servlet.http.HttpServletRequest; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Optional; /** * URLCsrfMatcher matches the request and validates if request can be ignored for CSRF. @@ -22,7 +24,7 @@ public class URLCsrfIgnoreMatcher implements RequestMatcher { private static final Logger LOG = SMPLoggerFactory.getLogger( URLCsrfIgnoreMatcher.class); - private List<RegexRequestMatcher> unprotectedMatcherList = new ArrayList<>(); + private final List<RegexRequestMatcher> unprotectedMatcherList = new ArrayList<>(); public URLCsrfIgnoreMatcher() { this(null, null); @@ -40,13 +42,13 @@ public class URLCsrfIgnoreMatcher implements RequestMatcher { // ignore non ui sites! String uri = request.getRequestURI(); LOG.debug("Test CSRF for uri [{}]", uri); - if(!StringUtils.startsWithAny(uri,"/ui/","/smp/ui/")) { + if (!StringUtils.startsWithAny(uri, "/ui/", "/smp/ui/")) { LOG.debug("URL is not part of the UI [{}]", uri); return false; } Optional<RegexRequestMatcher> unprotectedMatcher = unprotectedMatcherList.stream().filter(requestMatcher -> requestMatcher.matches(request)).findFirst(); if (unprotectedMatcher.isPresent()) { - LOG.debug("Ignore CSRF for: [{}] - [{}] with matcher [{}]!", request.getMethod(), request.getRequestURI(),unprotectedMatcher.get()); + LOG.debug("Ignore CSRF for: [{}] - [{}] with matcher [{}]!", request.getMethod(), request.getRequestURI(), unprotectedMatcher.get()); } return !unprotectedMatcher.isPresent(); } diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCas20ServiceTicketValidator.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCas20ServiceTicketValidator.java index 1a5d96924f14556a316a9d45f545488c86fc4a56..65a41515a813d9ee5ee72804e022c47dc1f0b220 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCas20ServiceTicketValidator.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCas20ServiceTicketValidator.java @@ -18,7 +18,7 @@ import org.slf4j.LoggerFactory; public class SMPCas20ServiceTicketValidator extends Cas20ServiceTicketValidator { private static final Logger LOG = LoggerFactory.getLogger(Cas20ServiceTicketValidator.class); - private String urlSuffix; + private final String urlSuffix; public SMPCas20ServiceTicketValidator(String casServerUrl, String urlSuffix) { super(casServerUrl); @@ -39,4 +39,4 @@ public class SMPCas20ServiceTicketValidator extends Cas20ServiceTicketValidator throws TicketValidationException { LOG.debug("Got CAS response: [{}] and test it with assertion [{}]",response,assertion ); } -} \ No newline at end of file +} diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurer.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurer.java index cfbf80d9e20acf667b131e56bc72ff4a234873a8..9c48e9c8bdcee8f5ffa60012b94f0f500320251e 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurer.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurer.java @@ -1,8 +1,8 @@ package eu.europa.ec.edelivery.smp.auth.cas; -import eu.europa.ec.edelivery.smp.utils.SmpUrlBuilder; import eu.europa.ec.edelivery.smp.services.ConfigurationService; +import eu.europa.ec.edelivery.smp.utils.SmpUrlBuilder; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -144,7 +144,7 @@ public class SMPCasConfigurer { provider.setTicketValidator(serviceTicketValidator); provider.setAuthenticationUserDetailsService(smpCasUserService); //A Key is required so CasAuthenticationProvider can identify tokens it previously authenticated - provider.setKey(SMP_CAS_KEY + UUID.randomUUID().toString()); + provider.setKey(SMP_CAS_KEY + UUID.randomUUID()); return provider; } diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasUserService.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasUserService.java index 0ab35db2d1acb95a2b1488610b6cea4320922959..552c27bf55be2ef6a69425f8f01760046470c778 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasUserService.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasUserService.java @@ -3,7 +3,6 @@ package eu.europa.ec.edelivery.smp.auth.cas; import eu.europa.ec.edelivery.security.utils.SecurityUtils; import eu.europa.ec.edelivery.smp.auth.SMPUserDetails; import eu.europa.ec.edelivery.smp.data.model.user.DBUser; - import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import eu.europa.ec.edelivery.smp.services.ui.UIUserService; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java index dec0b963bdfda8e21def6e03b5eefb83f22d466f..fdc7042be5b699fc9f05282f71aa818856a0ea44 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/WSSecurityConfigurerAdapter.java @@ -46,7 +46,6 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.configurers.ExceptionHandlingConfigurer; import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.config.web.server.SecurityWebFiltersOrder; import org.springframework.security.web.csrf.CsrfTokenRepository; import org.springframework.security.web.firewall.DefaultHttpFirewall; import org.springframework.security.web.firewall.HttpFirewall; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPCronExpressionPropertyUpdateListener.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPCronExpressionPropertyUpdateListener.java index a9fe470dcf08751694ea0bb5d4cc6c256134c3b0..0a48b5c13624277d667ebda674896a122feb113c 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPCronExpressionPropertyUpdateListener.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPCronExpressionPropertyUpdateListener.java @@ -2,8 +2,8 @@ package eu.europa.ec.edelivery.smp.config.properties; import eu.europa.ec.edelivery.smp.config.PropertyUpdateListener; import eu.europa.ec.edelivery.smp.config.SMPTaskSchedulerConfig; -import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger; import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; +import eu.europa.ec.edelivery.smp.cron.SMPDynamicCronTrigger; import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import org.apache.commons.lang3.StringUtils; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPIdentifierServicePropertyUpdateListener.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPIdentifierServicePropertyUpdateListener.java index ceb2098695570426cc858fdcc0add998378eb94a..d17f124dc69aecd2f5af4e297b0183168d3f18ee 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPIdentifierServicePropertyUpdateListener.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/config/properties/SMPIdentifierServicePropertyUpdateListener.java @@ -1,8 +1,8 @@ package eu.europa.ec.edelivery.smp.config.properties; import eu.europa.ec.edelivery.smp.config.PropertyUpdateListener; -import eu.europa.ec.edelivery.smp.conversion.IdentifierService; import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; +import eu.europa.ec.edelivery.smp.conversion.IdentifierService; import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import org.springframework.stereotype.Component; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ErrorResponseBuilder.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ErrorResponseBuilder.java index 4ad6d334226d6e16913a54aa20f7cc2a19830bbe..72b709022bcad908dcaf700c71ac26f2ed18e574 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ErrorResponseBuilder.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ErrorResponseBuilder.java @@ -13,8 +13,8 @@ package eu.europa.ec.edelivery.smp.error; -import eu.europa.ec.edelivery.smp.error.xml.ErrorResponse; import eu.europa.ec.edelivery.smp.data.ui.exceptions.ErrorResponseRO; +import eu.europa.ec.edelivery.smp.error.xml.ErrorResponse; import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,11 +42,9 @@ public class ErrorResponseBuilder { private String strErrorDescription = "Unexpected technical error occurred."; private static String getErrorUniqueId() { - StringBuilder errId = new StringBuilder(); - errId.append(OffsetDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME)) - .append(":") - .append(UUID.randomUUID()); - return String.valueOf(errId); + return OffsetDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME) + + ":" + + UUID.randomUUID(); } public ErrorResponseBuilder() { diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdvice.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdvice.java index 5be691e992e37cedfc78d12673355da86e08d09b..9cafe29d285c7d2973250d9b1e751432ab3257c9 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdvice.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdvice.java @@ -13,12 +13,11 @@ package eu.europa.ec.edelivery.smp.error; +import eu.europa.ec.edelivery.smp.error.exceptions.SMPResponseStatusException; import eu.europa.ec.edelivery.smp.error.xml.ErrorResponse; import eu.europa.ec.edelivery.smp.exceptions.BadRequestException; -import eu.europa.ec.edelivery.smp.error.exceptions.SMPResponseStatusException; import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; - import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.AccessDeniedException; @@ -26,7 +25,7 @@ import org.springframework.security.core.AuthenticationException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; -import static eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode.*; +import static eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode.FORMAT_ERROR; import static java.lang.String.format; import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.UNAUTHORIZED; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/exceptions/SMPResponseStatusException.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/exceptions/SMPResponseStatusException.java index 37a25f35fe3eefb26ea032c586778af36d23ac71..d18befb6918697491d8a836881a42e70985b832d 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/exceptions/SMPResponseStatusException.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/error/exceptions/SMPResponseStatusException.java @@ -11,7 +11,7 @@ import org.springframework.web.server.ResponseStatusException; * @since 4.2 */ public class SMPResponseStatusException extends ResponseStatusException { - private ErrorBusinessCode errorBusinessCode; + private final ErrorBusinessCode errorBusinessCode; public SMPResponseStatusException(ErrorBusinessCode errorBusinessCode, HttpStatus httpStatus, String sMsg) { super(httpStatus, sMsg); diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/AuthenticationController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/AuthenticationController.java index 1f92bf85e19591e912f7570238c9f0c66969047e..7bfe5d20ad63c5f0b0ca098957581d500bf0255d 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/AuthenticationController.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/AuthenticationController.java @@ -1,7 +1,10 @@ package eu.europa.ec.edelivery.smp.ui; -import eu.europa.ec.edelivery.smp.auth.*; +import eu.europa.ec.edelivery.smp.auth.SMPAuthenticationService; +import eu.europa.ec.edelivery.smp.auth.SMPAuthorizationService; +import eu.europa.ec.edelivery.smp.auth.SMPUserDetails; +import eu.europa.ec.edelivery.smp.auth.UILoginAuthenticationToken; import eu.europa.ec.edelivery.smp.data.ui.LoginRO; import eu.europa.ec.edelivery.smp.data.ui.UserRO; import eu.europa.ec.edelivery.smp.logging.SMPLogger; @@ -21,7 +24,8 @@ import org.springframework.web.servlet.view.RedirectView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import static eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority.*; +import static eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority.S_AUTHORITY_TOKEN_SYSTEM_ADMIN; +import static eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority.S_AUTHORITY_TOKEN_USER; import static eu.europa.ec.edelivery.smp.utils.SMPCookieWriter.SESSION_COOKIE_NAME; /** @@ -39,9 +43,9 @@ public class AuthenticationController { protected SMPAuthorizationService authorizationService; - private ConfigurationService configurationService; + private final ConfigurationService configurationService; - private CsrfTokenRepository csrfTokenRepository; + private final CsrfTokenRepository csrfTokenRepository; SMPCookieWriter smpCookieWriter; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationController.java index 1123106df3f402e9256f5e6f5db7b9792750eaf1..709cdbbf83eb081b10218b5ca2886484ca7fd38b 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationController.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationController.java @@ -17,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController; import java.util.Collections; import java.util.List; -import java.util.TimeZone; /** * @author Joze Rihtarsic diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/SearchResource.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/SearchResource.java index ce9ce67bdff25c40a466a092a6f37f5eb0d41f1a..be6ca05a63d8701a96521a4db3834f4ceb6a0381 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/SearchResource.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/SearchResource.java @@ -10,7 +10,10 @@ import eu.europa.ec.edelivery.smp.services.ui.UIResourceSearchService; import eu.europa.ec.edelivery.smp.services.ui.filters.ResourceFilter; import org.apache.commons.lang3.StringUtils; import org.springframework.util.MimeTypeUtils; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java index e0fb35aeccd73e2cedd3fea9d725689f46928c9d..397febcb98777fe946e407c8f778b307a0121d02 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/external/UserController.java @@ -2,7 +2,6 @@ package eu.europa.ec.edelivery.smp.ui.external; import eu.europa.ec.edelivery.smp.auth.SMPAuthenticationService; import eu.europa.ec.edelivery.smp.auth.SMPAuthorizationService; -import eu.europa.ec.edelivery.smp.auth.SMPUserDetails; import eu.europa.ec.edelivery.smp.data.enums.ApplicationRoleType; import eu.europa.ec.edelivery.smp.data.enums.CredentialTargetType; import eu.europa.ec.edelivery.smp.data.enums.CredentialType; @@ -11,9 +10,7 @@ import eu.europa.ec.edelivery.smp.data.ui.*; import eu.europa.ec.edelivery.smp.logging.SMPLogger; import eu.europa.ec.edelivery.smp.logging.SMPLoggerFactory; import eu.europa.ec.edelivery.smp.services.ui.UIUserService; -import eu.europa.ec.edelivery.smp.utils.SessionSecurityUtils; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.security.web.authentication.session.SessionAuthenticationException; import org.springframework.util.MimeTypeUtils; import org.springframework.web.bind.annotation.*; diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminController.java index 7ee93a6f94b87116a653ca5150c7f704ee4c5f45..dc2e4bf22f07938e1ab53f091ab92df29b460542 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminController.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/DomainAdminController.java @@ -2,7 +2,8 @@ package eu.europa.ec.edelivery.smp.ui.internal; import eu.europa.ec.edelivery.smp.data.model.DBDomain; -import eu.europa.ec.edelivery.smp.data.ui.*; +import eu.europa.ec.edelivery.smp.data.ui.DomainRO; +import eu.europa.ec.edelivery.smp.data.ui.SMLIntegrationResult; import eu.europa.ec.edelivery.smp.data.ui.enums.EntityROStatus; import eu.europa.ec.edelivery.smp.exceptions.SMPRuntimeException; import eu.europa.ec.edelivery.smp.logging.SMPLogger; @@ -16,7 +17,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.*; +import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.CONTEXT_PATH_INTERNAL_DOMAIN; /** * DomainAdminResource provides admin services for managing the domains configured in SMP. The services defined in path diff --git a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminController.java b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminController.java index 052d0491845eb376b693889a649ef2137ab9160d..11aa7a8a0466201c5aac66f6c6c054cc47ef9e61 100644 --- a/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminController.java +++ b/smp-webapp/src/main/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminController.java @@ -22,7 +22,6 @@ import java.util.List; import java.util.stream.Collectors; import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.*; -import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.PARAM_PAGINATION_FILTER; import static eu.europa.ec.edelivery.smp.utils.SessionSecurityUtils.decryptEntityId; /** diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java index b95ba201713ffa971b93f5610be6a79a20f865d6..2b3c9e1dd58a7d1a50b4156cec1bac0345258e01 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ServiceGroupBodyUtil.java @@ -13,10 +13,6 @@ package eu.europa.ec.edelivery.smp; -import org.apache.commons.lang3.StringUtils; - -import static java.lang.String.format; - /** * Created by gutowpa on 26/09/2017. */ diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListenerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListenerTest.java index 771b43e840213bf6406762cbec7a0c3fc0905ab2..fd4e7861a76fafd763a7ffee90a15fec5f5be775 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListenerTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationEventListenerTest.java @@ -3,22 +3,18 @@ package eu.europa.ec.edelivery.smp.auth; import eu.europa.ec.edelivery.smp.data.ui.auth.SMPAuthority; import eu.europa.ec.edelivery.smp.services.ConfigurationService; import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; -import org.springframework.core.convert.ConversionService; import org.springframework.security.core.GrantedAuthority; -import javax.persistence.EntityManager; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; public class SMPAuthenticationEventListenerTest { - ConfigurationService configurationService = Mockito.mock(ConfigurationService .class);; + ConfigurationService configurationService = Mockito.mock(ConfigurationService.class); // test instance SMPAuthenticationEventListener testInstance = new SMPAuthenticationEventListener(configurationService); @@ -26,7 +22,7 @@ public class SMPAuthenticationEventListenerTest { @Test public void getSessionTimeoutForRolesSMPAdmin() { // Given - Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER); + Collection<? extends GrantedAuthority> authorities = Collections.singletonList(SMPAuthority.S_AUTHORITY_USER); // when then assertTimeoutForAuthorities(authorities, false); } @@ -34,7 +30,7 @@ public class SMPAuthenticationEventListenerTest { @Test public void getSessionTimeoutForRolesSystemAdmin() { // Given - Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_SYSTEM_ADMIN); + Collection<? extends GrantedAuthority> authorities = Collections.singletonList(SMPAuthority.S_AUTHORITY_SYSTEM_ADMIN); // when then assertTimeoutForAuthorities(authorities, true); } @@ -42,7 +38,7 @@ public class SMPAuthenticationEventListenerTest { @Test public void getSessionTimeoutForRolesUser() { // Given - Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER); + Collection<? extends GrantedAuthority> authorities = Collections.singletonList(SMPAuthority.S_AUTHORITY_USER); // when then assertTimeoutForAuthorities(authorities, false); } @@ -50,7 +46,7 @@ public class SMPAuthenticationEventListenerTest { @Test public void getSessionTimeoutForRolesUserAndSystem() { // Given - Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER,SMPAuthority.S_AUTHORITY_SYSTEM_ADMIN); + Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER, SMPAuthority.S_AUTHORITY_SYSTEM_ADMIN); // when then assertTimeoutForAuthorities(authorities, true); } @@ -58,12 +54,12 @@ public class SMPAuthenticationEventListenerTest { @Test public void getSessionTimeoutForRolesUserAndSMP() { // Given - Collection<? extends GrantedAuthority> authorities = Arrays.asList(SMPAuthority.S_AUTHORITY_USER); + Collection<? extends GrantedAuthority> authorities = Collections.singletonList(SMPAuthority.S_AUTHORITY_USER); // when then assertTimeoutForAuthorities(authorities, false); } - public void assertTimeoutForAuthorities(Collection<? extends GrantedAuthority> authorities, boolean isAdmin){ + public void assertTimeoutForAuthorities(Collection<? extends GrantedAuthority> authorities, boolean isAdmin) { // Given int secondsToTimeoutAdmin = 111; int secondsToTimeoutUser = 555; diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderForUITest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderForUITest.java deleted file mode 100644 index c0cefcfab91f999c1dde1d4f83eda2cc586278e5..0000000000000000000000000000000000000000 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderForUITest.java +++ /dev/null @@ -1,34 +0,0 @@ -package eu.europa.ec.edelivery.smp.auth; - -import eu.europa.ec.edelivery.smp.data.model.user.DBUser; -import eu.europa.ec.edelivery.smp.services.CredentialService; -import org.junit.Test; -import org.mockito.Mockito; - -public class SMPAuthenticationProviderForUITest { - - - CredentialService mockCredentialService = Mockito.mock(CredentialService.class); - - SMPAuthenticationProviderForUI testInstance = new SMPAuthenticationProviderForUI(mockCredentialService); - - @Test - public void testValidateIfTokenIsSuspendedReset() { - int starFailCount = 5; - DBUser user = new DBUser(); - user.setUsername("TestToken"); - int suspensionSeconds = 100; -/* - user.setLastFailedLoginAttempt(OffsetDateTime.now().minusSeconds(suspensionSeconds+10)); - user.setSequentialLoginFailureCount(starFailCount); - doReturn(suspensionSeconds).when(mockConfigurationService).getLoginSuspensionTimeInSeconds(); - doReturn(starFailCount).when(mockConfigurationService).getLoginMaxAttempts(); - - testInstance.validateIfUserAccountIsSuspended(user, Calendar.getInstance().getTimeInMillis()); - - assertEquals(0, (int)user.getSequentialLoginFailureCount()); - assertEquals(null, user.getLastFailedLoginAttempt()); - - */ - } -} diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderTest.java index 95f16730ec9f360b85b3270e9ba2d351f579d754..2e1e8b9c4829f0e1df77f2a35440fd249c913548 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthenticationProviderTest.java @@ -2,6 +2,10 @@ package eu.europa.ec.edelivery.smp.auth; import eu.europa.ec.edelivery.smp.data.dao.CredentialDao; import eu.europa.ec.edelivery.smp.data.dao.UserDao; +import eu.europa.ec.edelivery.smp.data.enums.ApplicationRoleType; +import eu.europa.ec.edelivery.smp.data.enums.CredentialTargetType; +import eu.europa.ec.edelivery.smp.data.enums.CredentialType; +import eu.europa.ec.edelivery.smp.data.model.user.DBCredential; import eu.europa.ec.edelivery.smp.data.model.user.DBUser; import eu.europa.ec.edelivery.smp.services.CredentialService; import eu.europa.ec.edelivery.smp.services.CredentialsAlertService; @@ -32,39 +36,47 @@ import static org.mockito.Mockito.*; */ public class SMPAuthenticationProviderTest { - CredentialService mockCredentialService = Mockito.mock(CredentialService.class); + CredentialDao mockCredentialDao = Mockito.mock(CredentialDao.class); ConversionService mockConversionService = Mockito.mock(ConversionService.class); CRLVerifierService mockCrlVerifierService = Mockito.mock(CRLVerifierService.class); UITruststoreService mockTruststoreService = Mockito.mock(UITruststoreService.class); ConfigurationService mockConfigurationService = Mockito.mock(ConfigurationService.class); CredentialsAlertService mocAlertService = Mockito.mock(CredentialsAlertService.class); + UserDao mockUserDao = Mockito.mock(UserDao.class); + + CredentialService mockCredentialService = new CredentialService(mockUserDao, mockCredentialDao, mockConversionService, mockCrlVerifierService, mockTruststoreService, mockConfigurationService, mocAlertService); SMPAuthenticationProvider testInstance = new SMPAuthenticationProvider(mockCredentialService); - // response time for existing and non existing user should be "approx. equal" + + // response time for existing and nonexistent user should be "approx. equal" @Test public void authenticateByAccessTokenResponseTime() { - /* + UsernamePasswordAuthenticationToken userToken = new UsernamePasswordAuthenticationToken("User", "User"); int count = 10; DBUser user = new DBUser(); user.setId(1L); - user.setAccessTokenIdentifier("User"); - user.setAccessToken(BCrypt.hashpw("InvalidPassword", BCrypt.gensalt())); - user.setRole("MY_ROLE"); + user.setApplicationRole(ApplicationRoleType.USER); + DBCredential credential = new DBCredential(); + credential.setValue(BCrypt.hashpw("InvalidPassword", BCrypt.gensalt())); + credential.setName("User"); + credential.setUser(user); + credential.setCredentialType(CredentialType.ACCESS_TOKEN); + credential.setCredentialTarget(CredentialTargetType.REST_API); + doReturn(1000).when(mockConfigurationService).getAccessTokenLoginFailDelayInMilliSeconds(); doReturn(count+5).when(mockConfigurationService).getAccessTokenLoginMaxAttempts(); - - doReturn(Optional.of(user)).when(mockUserDao).findUserByIdentifier(any()); + doReturn(Optional.of(credential)).when(mockCredentialDao).findAccessTokenCredentialForAPI(any()); long averageExists = 0; long averageNotExist = 0; for (int i = 0; i < count; i++) { long userExistTime = Calendar.getInstance().getTimeInMillis(); try { - testInstance.authenticateByUsernameToken(userToken); + testInstance.authenticateByAuthenticationToken(userToken); } catch (BadCredentialsException ignore) { } averageExists += Calendar.getInstance().getTimeInMillis() - userExistTime; @@ -74,7 +86,7 @@ public class SMPAuthenticationProviderTest { for (int i = 0; i < count; i++) { long userExistTime = Calendar.getInstance().getTimeInMillis(); try { - testInstance.authenticateByUsernameToken(userToken); + testInstance.authenticateByAuthenticationToken(userToken); } catch (AuthenticationServiceException | BadCredentialsException ignore) { } averageNotExist += Calendar.getInstance().getTimeInMillis() - userExistTime; @@ -83,59 +95,5 @@ public class SMPAuthenticationProviderTest { // the average should be the same! assertThat("average difference between failed login must be less than 10ms", Math.abs(averageExists - averageNotExist), Matchers.lessThan(50L)); -*/ - } - /* - @Test - public void testLoginAttemptForAccessTokenFailed(){ - - int starFailCount = 2; - DBUser user = new DBUser(); - user.setSequentialTokenLoginFailureCount(starFailCount); - long starTime =Calendar.getInstance().getTimeInMillis(); - doReturn(100).when(mockConfigurationService).getAccessTokenLoginMaxAttempts(); - // when - BadCredentialsException error = assertThrows(BadCredentialsException.class, - () -> testInstance.loginAttemptForAccessTokenFailed(user,true, starTime)); - - assertEquals(SMPAuthenticationProvider.BAD_CREDENTIALS_EXCEPTION, error); - assertEquals(starFailCount+1,(int)user.getSequentialTokenLoginFailureCount()); - verify(mocAlertService, times(1)).alertCredentialVerificationFailed(user, CredentialTypeEnum.ACCESS_TOKEN); - - } - - @Test - public void testLoginAttemptForAccessTokenSuspended(){ - int starFailCount = 5; - DBUser user = new DBUser(); - user.setSequentialTokenLoginFailureCount(starFailCount); - long starTime =Calendar.getInstance().getTimeInMillis(); - doReturn(5).when(mockConfigurationService).getAccessTokenLoginMaxAttempts(); - // when - BadCredentialsException error = assertThrows(BadCredentialsException.class, - () -> testInstance.loginAttemptForAccessTokenFailed(user,true,starTime)); - - assertEquals(SMPAuthenticationProvider.SUSPENDED_CREDENTIALS_EXCEPTION, error); - assertEquals(starFailCount+1,(int)user.getSequentialTokenLoginFailureCount()); - verify(mocAlertService, times(1)).alertCredentialsSuspended(user, CredentialTypeEnum.ACCESS_TOKEN); - } - - @Test - public void testValidateIfTokenIsSuspendedReset(){ - int starFailCount = 5; - DBUser user = new DBUser(); - user.setUsername("TestToken"); - int suspensionSeconds =100; - - user.setLastTokenFailedLoginAttempt(OffsetDateTime.now().minusSeconds(suspensionSeconds+10)); - user.setSequentialTokenLoginFailureCount(starFailCount); - doReturn(suspensionSeconds).when(mockConfigurationService).getAccessTokenLoginSuspensionTimeInSeconds(); - doReturn(starFailCount).when(mockConfigurationService).getAccessTokenLoginMaxAttempts(); - - testInstance.validateIfTokenIsSuspended(user, Calendar.getInstance().getTimeInMillis()); - - assertEquals(0, (int)user.getSequentialTokenLoginFailureCount()); - assertEquals(null, user.getLastTokenFailedLoginAttempt()); } -*/ } diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthorizationServiceTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthorizationServiceTest.java index 26d550c7afc41c483b5940f07eaa71c7f500adb3..72efa36f1360391b571e3cb0678105dd9619ea8f 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthorizationServiceTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/SMPAuthorizationServiceTest.java @@ -22,7 +22,6 @@ import org.springframework.security.core.context.SecurityContextHolder; import java.time.OffsetDateTime; import java.util.Collections; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -55,7 +54,7 @@ public class SMPAuthorizationServiceTest { }}, null, Collections.singletonList(SMPAuthority.S_AUTHORITY_USER)); mockSecurityContextSystemAdmin = new SecurityContext() { - SMPAuthenticationToken smpa = new SMPAuthenticationToken("sg_admin", "test123", sysUserDetails); + final SMPAuthenticationToken smpa = new SMPAuthenticationToken("sg_admin", "test123", sysUserDetails); @Override public Authentication getAuthentication() { @@ -67,7 +66,7 @@ public class SMPAuthorizationServiceTest { } }; mockSecurityContextSMPAdmin = new SecurityContext() { - SMPAuthenticationToken smpa = new SMPAuthenticationToken("smp_admin", "test123", smpUserDetails); + final SMPAuthenticationToken smpa = new SMPAuthenticationToken("smp_admin", "test123", smpUserDetails); @Override public Authentication getAuthentication() { diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java index 318bec87f8d8bcd65ca94440aae0c3eaf39e79b7..1b7ba9c7f9112a33fd38f66fcdd636ed05a2f767 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/URLCsrfMatcherTest.java @@ -8,6 +8,7 @@ import org.springframework.http.HttpMethod; import javax.servlet.http.HttpServletRequest; import java.util.Collection; +import java.util.Collections; import java.util.List; import static java.util.Arrays.asList; @@ -19,10 +20,10 @@ public class URLCsrfMatcherTest { @Parameterized.Parameters(name = "{index}: {0}") public static Collection cookieWriterTestParameters() { return asList(new Object[][]{ - {"/test/", false, asList("/.*"), null}, - {"/ui/resource", true, asList("/!(ui/).*"), null}, - {"/test/resource", false, asList("^/(?!ui/).*"), null}, - {"/ui/resource", true, asList("^/(?!ui/).*"), null}, + {"/test/", false, Collections.singletonList("/.*"), null}, + {"/ui/resource", true, Collections.singletonList("/!(ui/).*"), null}, + {"/test/resource", false, Collections.singletonList("^/(?!ui/).*"), null}, + {"/ui/resource", true, Collections.singletonList("^/(?!ui/).*"), null}, }); } diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurerTest.java index cc5fdaabfb89361d423510e0c5a1600e09b0bb9f..ca0e068bed5de379d1295e64647d3dd04312973d 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurerTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/auth/cas/SMPCasConfigurerTest.java @@ -1,7 +1,7 @@ package eu.europa.ec.edelivery.smp.auth.cas; -import eu.europa.ec.edelivery.smp.utils.SmpUrlBuilder; import eu.europa.ec.edelivery.smp.services.ConfigurationService; +import eu.europa.ec.edelivery.smp.utils.SmpUrlBuilder; import org.junit.Test; import org.mockito.Mockito; import org.springframework.security.cas.ServiceProperties; @@ -35,7 +35,7 @@ public class SMPCasConfigurerTest { assertNotNull(serviceProperties); assertEquals(callbackString, serviceProperties.getService()); assertEquals(ServiceProperties.DEFAULT_CAS_ARTIFACT_PARAMETER, serviceProperties.getArtifactParameter()); - assertEquals(true, serviceProperties.isAuthenticateAllArtifacts()); + assertTrue(serviceProperties.isAuthenticateAllArtifacts()); } @Test diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPMailPropertyUpdateListenerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPMailPropertyUpdateListenerTest.java index b8519bf947ecbef7436e2e2a8e688fac5f46d1f1..43746ef4c136f35a457e8019020079dce8de0a34 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPMailPropertyUpdateListenerTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPMailPropertyUpdateListenerTest.java @@ -1,7 +1,7 @@ package eu.europa.ec.edelivery.smp.config; -import eu.europa.ec.edelivery.smp.config.properties.SMPMailPropertyUpdateListener; import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; +import eu.europa.ec.edelivery.smp.config.properties.SMPMailPropertyUpdateListener; import org.junit.Test; import org.mockito.ArgumentMatchers; import org.mockito.Mockito; diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPSecurityPropertyUpdateListenerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPSecurityPropertyUpdateListenerTest.java index 983d5bebd472c966cf61fa668f9f649812f847b0..662f260356d2ae4b75cd6184104ad9cd2f2f84cf 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPSecurityPropertyUpdateListenerTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SMPSecurityPropertyUpdateListenerTest.java @@ -1,7 +1,7 @@ package eu.europa.ec.edelivery.smp.config; -import eu.europa.ec.edelivery.smp.config.properties.SMPSecurityPropertyUpdateListener; import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; +import eu.europa.ec.edelivery.smp.config.properties.SMPSecurityPropertyUpdateListener; import org.junit.Test; import org.mockito.Mockito; import org.springframework.web.server.adapter.ForwardedHeaderTransformer; diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SpringSecurityTestConfig.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SpringSecurityTestConfig.java deleted file mode 100644 index 34b1e1d43311a2a8718c32ecaf962c93d71002bf..0000000000000000000000000000000000000000 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/config/SpringSecurityTestConfig.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2017 European Commission | CEF eDelivery - * - * Licensed under the EUPL, Version 1.2 or – as soon they will be approved by the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * - * You may obtain a copy of the Licence attached in file: LICENCE-EUPL-v1.2.pdf - * - * Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and limitations under the Licence. - */ - -package eu.europa.ec.edelivery.smp.config; - -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; - -/** - * Created by Flavio Santos - */ - - -@EnableWebSecurity -@ComponentScan(basePackages = { - "eu.europa.ec.cipa.smp.server.security"}) -public class SpringSecurityTestConfig { - -} diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ResourceControllerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ResourceControllerTest.java index 47157baf061208e6300e00c0bfefbda2b2a8a52e..fc40c3c2825b2e8f06dd30a6792e2b4a74d6d6f8 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ResourceControllerTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/ResourceControllerTest.java @@ -76,7 +76,7 @@ public class ResourceControllerTest extends AbstractControllerTest { @Test public void notFoundIsReturnedWhenServiceGroupDoesNotExist() throws Exception { - mvc.perform(get(format("/%s::%s", IDENTIFIER_SCHEME, UUID.randomUUID().toString()))) + mvc.perform(get(format("/%s::%s", IDENTIFIER_SCHEME, UUID.randomUUID()))) .andExpect(status().isNotFound()); } diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/RootControllerTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/RootControllerTest.java index 008bb4b702662320702c5fb6abe2501e12a53e32..b0bfe488b95936c749ca28848355e2b93d236e07 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/RootControllerTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/controllers/RootControllerTest.java @@ -9,10 +9,10 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import java.io.IOException; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; class RootControllerTest { diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdviceTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdviceTest.java index 7e4fb1b7e2f4d0ee4e3ee8933ef76ca4a07b60b0..b7762609730f8fff4a96b9054d6f818083e60c74 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdviceTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/error/ServiceErrorControllerAdviceTest.java @@ -2,13 +2,14 @@ package eu.europa.ec.edelivery.smp.error; import eu.europa.ec.edelivery.smp.error.xml.ErrorResponse; import eu.europa.ec.edelivery.smp.exceptions.BadRequestException; -import eu.europa.ec.edelivery.smp.exceptions.*; +import eu.europa.ec.edelivery.smp.exceptions.ErrorBusinessCode; +import eu.europa.ec.edelivery.smp.exceptions.MalformedIdentifierException; import org.junit.Test; import org.springframework.http.ResponseEntity; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.core.AuthenticationException; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; import static org.springframework.http.HttpStatus.*; public class ServiceErrorControllerAdviceTest { diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationClientCertTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationClientCertTest.java index 679486811fd59ac61f3e925e375c6366f0955ccf..9d75fbd2b3499d1b9ae55efd2e64a21e98d5c243 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationClientCertTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationClientCertTest.java @@ -61,8 +61,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. public class SecurityConfigurationClientCertTest { //Jul++9+23:59:00+2019+GMT" - private static DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("MMM dd HH:mm:ss yyyy 'GMT'"); - private static String CLIENT_CERT_FORMAT = "sno=%s" + + private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("MMM dd HH:mm:ss yyyy 'GMT'"); + private static final String CLIENT_CERT_FORMAT = "sno=%s" + "&subject=%s" + "&validfrom=%s" + "&validto=%s" + diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationTest.java index 673846d3516558e9ce827e9b4b6e40e4bbcc60a9..d707924f0601670aa48576b6bbe6bde041707a9c 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SecurityConfigurationTest.java @@ -14,8 +14,8 @@ package eu.europa.ec.edelivery.smp.server.security; import eu.europa.ec.edelivery.exception.ClientCertParseException; -import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao; import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; +import eu.europa.ec.edelivery.smp.data.dao.ConfigurationDao; import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig; import eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils; import eu.europa.ec.edelivery.smp.test.testutils.X509CertificateTestUtils; @@ -32,7 +32,6 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import org.springframework.test.web.servlet.result.MockMvcResultHandlers; import org.springframework.web.context.WebApplicationContext; import java.io.IOException; diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureUtil.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureUtil.java index 898cf39ec65a723f7336705e993d9272a6fc1a52..0b8d67c7da52671b23a16f257ee38dade5e080fb 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureUtil.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureUtil.java @@ -38,6 +38,7 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import java.io.*; +import java.nio.charset.StandardCharsets; import java.security.*; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; @@ -125,7 +126,7 @@ public class SignatureUtil { } // Check core validation status. - if (coreValidity == false) { + if (!coreValidity) { printErrorDetails(valContext, signature); throw new Exception("+++ Signature not valild +++"); } else { @@ -138,7 +139,7 @@ public class SignatureUtil { System.err.println("Signature failed core validation"); boolean sv = signature.getSignatureValue().validate(valContext); System.out.println("signature validation status: " + sv); - if (sv == false) { + if (!sv) { // Check the validation status of each Reference. Iterator i1 = signature.getSignedInfo().getReferences().iterator(); for (int j = 0; i1.hasNext(); j++) { @@ -241,6 +242,6 @@ public class SignatureUtil { public static String loadDocumentAsString(String docResourcePath) throws IOException { InputStream inputStream = SignatureUtil.class.getResourceAsStream(docResourcePath); - return org.apache.commons.io.IOUtils.toString(inputStream, "UTF-8"); + return org.apache.commons.io.IOUtils.toString(inputStream, StandardCharsets.UTF_8); } } diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureValidatorTest.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureValidatorTest.java index ad3fdeedcbf409d33afd08a4c89057c7e2d986c4..e3df551ad8247b26d8fdac995759ee0dd0d2f805 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureValidatorTest.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/SignatureValidatorTest.java @@ -83,7 +83,6 @@ public class SignatureValidatorTest { @Autowired private WebApplicationContext webAppContext; - private MockMvc mvc; @Before diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/X509KeySelector.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/X509KeySelector.java index c145371624000b1c790a650832007c4208fe7847..fa2449e8f578728f7f0e9eaba9f2fa3acf17b348 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/X509KeySelector.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/server/security/X509KeySelector.java @@ -63,16 +63,12 @@ public class X509KeySelector extends KeySelector { } static boolean algEquals(String algorithmURI, String algorithmName) { - if ((algorithmName.equalsIgnoreCase("DSA") && + return (algorithmName.equalsIgnoreCase("DSA") && algorithmURI.equalsIgnoreCase(SignatureMethod.DSA_SHA1)) || (algorithmName.equalsIgnoreCase("RSA") && algorithmURI.equalsIgnoreCase(SignatureMethod.RSA_SHA1)) || (algorithmName.equalsIgnoreCase("RSA") - && algorithmURI.equalsIgnoreCase("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"))) { - - return true; - } - return false; + && algorithmURI.equalsIgnoreCase("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256")); } public X509Certificate getCertificate() { diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java index 70c27371e7410841ffcde369ee7d94db7131b73a..e71a22b49386cf34e632fecd0cd74c25977742b9 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/AuthenticationResourceIT.java @@ -22,7 +22,6 @@ import org.springframework.web.context.WebApplicationContext; import javax.servlet.http.HttpSession; import java.io.IOException; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.springframework.test.context.jdbc.Sql.ExecutionPhase.BEFORE_TEST_METHOD; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java index 03c9372950313eac49fcb7913944ae4a7fced226..08b9a5d7b0fbb12b9c7b9cb17c54d74c50d4c6a8 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/edit/GroupEditControllerIT.java @@ -21,7 +21,8 @@ import java.util.UUID; import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.*; import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.*; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java index 5bfc52c0081c6ee3e3ae0b9ed9de30fa7a27df12..f551f59ce98a1ce13ea3191190dc12de09eda438 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/ApplicationResourceIT.java @@ -1,9 +1,9 @@ package eu.europa.ec.edelivery.smp.ui.external; import com.fasterxml.jackson.databind.ObjectMapper; +import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; import eu.europa.ec.edelivery.smp.data.ui.SmpConfigRO; import eu.europa.ec.edelivery.smp.data.ui.SmpInfoRO; -import eu.europa.ec.edelivery.smp.config.enums.SMPPropertyEnum; import eu.europa.ec.edelivery.smp.test.SmpTestWebAppConfig; import eu.europa.ec.edelivery.smp.ui.ResourceConstants; import org.hamcrest.MatcherAssert; @@ -27,7 +27,8 @@ import org.springframework.web.context.WebApplicationContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; -import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.*; +import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.loginWithSystemAdmin; +import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.loginWithUserGroupAdmin; import static org.hamcrest.CoreMatchers.startsWith; import static org.junit.Assert.*; import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf; @@ -158,7 +159,7 @@ public class ApplicationResourceIT { assertNotNull(res); assertEquals("Participant scheme must start with:urn:oasis:names:tc:ebcore:partyid-type:(iso6523:|unregistered:) OR must be up to 25 characters long with form [domain]-[identifierArea]-[identifierType] (ex.: 'busdox-actorid-upis') and may only contain the following characters: [a-z0-9].", res.getParticipantSchemaRegExpMessage()); assertEquals("^$|^(?!^.{26})([a-z0-9]+-[a-z0-9]+-[a-z0-9]+)$|^urn:oasis:names:tc:ebcore:partyid-type:(iso6523|unregistered)(:.+)?$", res.getParticipantSchemaRegExp()); - assertEquals(SMPPropertyEnum.PARTC_EBCOREPARTYID_CONCATENATE.getDefValue(), res.isConcatEBCorePartyId() + ""); + assertEquals(SMPPropertyEnum.PARTC_EBCOREPARTYID_CONCATENATE.getDefValue(), String.valueOf(res.isConcatEBCorePartyId())); assertFalse(res.isSmlIntegrationOn()); } } diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java index abde55fe8c84e93f73111daad462461b9c203b66..3cdb9f20605067927ffe82f9c64e2cb65ac50a91 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/external/UserResourceIT.java @@ -25,7 +25,8 @@ import javax.ws.rs.core.MediaType; import static eu.europa.ec.edelivery.smp.test.testutils.MockMvcUtils.*; import static eu.europa.ec.edelivery.smp.ui.ResourceConstants.CONTEXT_PATH_PUBLIC_SECURITY_USER; -import static org.junit.Assert.*; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf; import static org.springframework.test.context.jdbc.Sql.ExecutionPhase.BEFORE_TEST_METHOD; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java index 49970f1c25dc6d7d7da199a4d89b71362fccde45..e9abecea16f09dd5e19734e0d0a6197648a1f0c8 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/ui/internal/UserAdminControllerIT.java @@ -1,11 +1,14 @@ package eu.europa.ec.edelivery.smp.ui.internal; -import eu.europa.ec.edelivery.smp.data.ui.*; +import eu.europa.ec.edelivery.smp.data.ui.DeleteEntityValidation; +import eu.europa.ec.edelivery.smp.data.ui.PasswordChangeRO; +import eu.europa.ec.edelivery.smp.data.ui.ServiceResult; +import eu.europa.ec.edelivery.smp.data.ui.UserRO; import eu.europa.ec.edelivery.smp.ui.AbstractControllerTest; import eu.europa.ec.edelivery.smp.ui.ResourceConstants; import org.apache.commons.lang3.StringUtils; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.mock.web.MockHttpSession; import org.springframework.test.web.servlet.MvcResult; @@ -153,7 +156,6 @@ public class UserAdminControllerIT extends AbstractControllerTest { StringUtils.equals(SG_USER2_USERNAME, (String) ((Map) userMap).get("username"))).findFirst().get(); String newPassword = "TESTtest1234!@#$"; - PasswordChangeRO newPass = new PasswordChangeRO(); newPass.setUsername(SG_USER2_USERNAME); newPass.setCurrentPassword(SYS_ADMIN_PASSWD);