diff --git a/pom.xml b/pom.xml index b21407bab0ca08dac8df566bff8620a651516449..fc3a1f360ca1045cfc40837bf5da9dfaddbf6914 100644 --- a/pom.xml +++ b/pom.xml @@ -72,7 +72,7 @@ <jakarta.xml.bind-api.version>2.3.3</jakarta.xml.bind-api.version> <jstl.version>1.2</jstl.version> <junit.version>4.13.2</junit.version> - <junit-jupiter.version>5.9.2</junit-jupiter.version> + <junit-jupiter.version>5.10.0-RC1</junit-jupiter.version> <junit-platform-surefire-provider.version>1.3.2</junit-platform-surefire-provider.version> <junitparams.version>1.1.1</junitparams.version> <logback.version>1.2.11</logback.version> @@ -638,6 +638,12 @@ <version>${junit-jupiter.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + <version>${junit-jupiter.version}</version> + <scope>test</scope> + </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> diff --git a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata10Validator.java b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata10Validator.java index b18d58039e6a1aa3ac7302328c6766dbcc65879e..4604f7572cb3ec5bec067bf3052cc51ed6946bbc 100644 --- a/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata10Validator.java +++ b/smp-resource-extensions/oasis-smp-spi/src/main/java/eu/europa/ec/smp/spi/validation/ServiceMetadata10Validator.java @@ -96,7 +96,7 @@ public class ServiceMetadata10Validator { if (!xmlSubresourceIdentifier.equals(nrmDocIdentifierFromUrl)) { // Business identifier must equal path - throw new ResourceException(INVALID_PARAMETERS, "Document identifiers don't match between URL parameter [" + xmlSubresourceIdentifier + "] and XML body: [" + xmlSubresourceIdentifier + "]"); + throw new ResourceException(INVALID_PARAMETERS, "Document identifiers don't match between URL parameter [" + nrmDocIdentifierFromUrl + "] and XML body: [" + xmlSubresourceIdentifier + "]"); } validateProcesses(serviceInformation); return serviceInformation; diff --git a/smp-server-library/pom.xml b/smp-server-library/pom.xml index 9e548aced6ca12543bd1cdf5593ed01e6d72e22b..403df0fc6ec2ea0e79c516a81d09acba78a5f059 100644 --- a/smp-server-library/pom.xml +++ b/smp-server-library/pom.xml @@ -167,6 +167,21 @@ <artifactId>junit</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-engine</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter-params</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>pl.pragmatists</groupId> @@ -269,14 +284,6 @@ <configuration> <runOrder>alphabetical</runOrder> </configuration> - <dependencies> - <!-- Force using the latest JUnit 47 provider. Remove this when moving to JUNIT5 --> - <dependency> - <groupId>org.apache.maven.surefire</groupId> - <artifactId>surefire-junit47</artifactId> - <version>${maven-surefire-plugin.version}</version> - </dependency> - </dependencies> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> 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 new file mode 100644 index 0000000000000000000000000000000000000000..5c06e1be41b7627855021141e424207fd4135306 --- /dev/null +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/AbstractJunit5BaseDao.java @@ -0,0 +1,66 @@ +package eu.europa.ec.edelivery.smp.data.dao; + +import eu.europa.ec.edelivery.smp.config.SMPDatabaseConfig; +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; +import java.nio.file.Paths; + +import static eu.europa.ec.edelivery.smp.config.enums.SMPEnvPropertyEnum.*; + +/** + * @author Joze Rihtarsic + * @since 4.1 + */ +@ExtendWith(SpringExtension.class) +@ContextConfiguration(classes = {SMPDatabaseConfig.class, + AbstractServiceTest.DomiSMPServicesConfig.class} +) +@DirtiesContext +@Sql(scripts = {"classpath:cleanup-database.sql", + "classpath:basic_conf_data-h2.sql"}, + executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD) +public abstract class AbstractJunit5BaseDao { + + @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 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"; + public static final String DATABASE_DRIVER = "org.h2.Driver"; + public static final String DATABASE_DIALECT = "org.hibernate.dialect.H2Dialect"; + + + static { + System.setProperty(JDBC_DRIVER.getProperty(), DATABASE_DRIVER); + System.setProperty(HIBERNATE_DIALECT.getProperty(), DATABASE_DIALECT); + System.setProperty(JDBC_URL.getProperty(), DATABASE_URL); + System.setProperty(JDBC_USER.getProperty(), DATABASE_USERNAME); + System.setProperty(JDBC_PASSWORD.getProperty(), DATABASE_PASS); + System.setProperty(SMP_MODE_DEVELOPMENT.getProperty(), "true"); + System.setProperty(DATABASE_SHOW_SQL.getProperty(), "true"); + System.setProperty(DATABASE_CREATE_DDL.getProperty(), "true"); + System.setProperty(SECURITY_FOLDER.getProperty(), SECURITY_PATH.toFile().getPath()); + + } + + protected Path resourceDirectory = Paths.get("src", "test", "resources", "keystores"); + + protected void resetKeystore() throws IOException { + FileUtils.deleteDirectory(SECURITY_PATH.toFile()); + FileUtils.copyDirectory(resourceDirectory.toFile(), SECURITY_PATH.toFile()); + } + +} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DocumentDaoTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DocumentDaoTest.java index fcbac55842fcd36ca018c82cf1c6a4fbde01d666..b8b936dd699ba7d23ac7362821f75a9b22c118a7 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DocumentDaoTest.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/data/dao/DocumentDaoTest.java @@ -25,7 +25,7 @@ public class DocumentDaoTest extends AbstractBaseDao { @Test public void testPersistDocument() { - DBDocument document = testUtilsDao.createAndPersistDocument(2); + DBDocument document = testUtilsDao.createAndPersistDocument(2, "value1", "schema1"); assertNotNull(document.getId()); assertEquals(2, document.getDocumentVersions().size()); 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 2060f4e5fb573c764c7d73294011be6d70948d34..b2010dcf791c5f4781fff1d2f5ec59a430bf0d21 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 @@ -53,7 +53,7 @@ public class ResourceDaoTest extends AbstractBaseDao { testData.setDomainResourceDef(testUtilsDao.getDomainResourceDefD1R1()); DBDocument document = TestDBUtils.createDBDocument(); - document.addNewDocumentVersion(TestDBUtils.createDBDocumentVersion()); + document.addNewDocumentVersion(TestDBUtils.createDBDocumentVersion(testIdValue, testIdSchema)); testData.setDocument(document); testInstance.persistFlushDetach(testData); @@ -78,7 +78,7 @@ public class ResourceDaoTest extends AbstractBaseDao { int docCount = resource.getDocument().getDocumentVersions().size(); int docVersion = resource.getDocument().getCurrentVersion(); - resource.getDocument().addNewDocumentVersion(TestDBUtils.createDBDocumentVersion()); + resource.getDocument().addNewDocumentVersion(TestDBUtils.createDBDocumentVersion(TEST_SG_ID_1, TEST_SG_SCHEMA_1)); testInstance.persistFlushDetach(resource); testInstance.clearPersistenceContext(); 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 3c40d7ab796c139523db6705cb4ec5daff50be6e..5b6ca57d5d95f598a8af07002aaeb12b39595a7d 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 @@ -286,7 +286,7 @@ public class TestUtilsDao { @Transactional public void createResourceMemberships() { if (resourceMemberU1R1_D2G1RD1_Admin != null) { - LOG.trace("GroupMemberships are already initialized!"); + LOG.trace("ResourceMemberships are already initialized!"); return; } createUsers(); @@ -403,14 +403,14 @@ public class TestUtilsDao { } createGroups(); createResourceDefinitionsForDomains(); - documentD1G1RD1 = createDocument(2); - documentD2G1RD1 = createDocument(2); + documentD1G1RD1 = createDocument(2,TEST_SG_ID_1, TEST_SG_SCHEMA_1); resourceD1G1RD1 = TestDBUtils.createDBResource(TEST_SG_ID_1, TEST_SG_SCHEMA_1); resourceD1G1RD1.setDocument(documentD1G1RD1); resourceD1G1RD1.setGroup(groupD1G1); resourceD1G1RD1.setDomainResourceDef(domainResourceDefD1R1); + documentD2G1RD1 = createDocument(2, TEST_SG_ID_2, ""); resourceD2G1RD1 = TestDBUtils.createDBResource(TEST_SG_ID_2, null); resourceD2G1RD1.setDocument(documentD2G1RD1); @@ -453,11 +453,15 @@ public class TestUtilsDao { } createResources(); - documentD1G1RD1_S1 = createDocument(2); - documentD2G1RD1_S1 = createDocument(2); + documentD1G1RD1_S1 = createDocument(2, resourceD1G1RD1.getIdentifierValue(), resourceD1G1RD1.getIdentifierScheme(), + TEST_DOC_ID_1, TEST_DOC_SCHEMA_1); subresourceD1G1RD1_S1 = TestDBUtils.createDBSubresource( resourceD1G1RD1.getIdentifierValue(),resourceD1G1RD1.getIdentifierScheme(), TEST_DOC_ID_1, TEST_DOC_SCHEMA_1); + + + documentD2G1RD1_S1 = createDocument(2, resourceD2G1RD1.getIdentifierValue(),resourceD2G1RD1.getIdentifierScheme(), + TEST_DOC_ID_2, TEST_DOC_SCHEMA_2); subresourceD2G1RD1_S1 = TestDBUtils.createDBSubresource( resourceD2G1RD1.getIdentifierValue(),resourceD2G1RD1.getIdentifierScheme(), TEST_DOC_ID_2, TEST_DOC_SCHEMA_2); @@ -471,7 +475,6 @@ public class TestUtilsDao { subresourceD1G1RD1_S1.setSubresourceDef(subresourceDefSmp); subresourceD2G1RD1_S1.setSubresourceDef(subresourceDefSmp); - persistFlushDetach(subresourceD1G1RD1_S1); persistFlushDetach(subresourceD2G1RD1_S1); @@ -480,13 +483,8 @@ public class TestUtilsDao { } @Transactional - public DBDocument createAndPersistDocument() { - return createAndPersistDocument(3); - } - - @Transactional - public DBDocument createAndPersistDocument(int versions) { - DBDocument document = createDocument(versions); + public DBDocument createAndPersistDocument(int versions, String identifier, String schema) { + DBDocument document = createDocument(versions, identifier, schema); persistFlushDetach(document); for (int i= 0; i< versions; i++ ) { assertNotNull(document.getDocumentVersions().get(i).getId()); @@ -497,13 +495,21 @@ public class TestUtilsDao { return document; } - public DBDocument createDocument(int versions) { + public DBDocument createDocument(int versions, String identifier, String schema) { DBDocument document = createDBDocument(); // add document versions to the document for (int i= 0; i< versions; i++ ) { - document.addNewDocumentVersion(createDBDocumentVersion()); + document.addNewDocumentVersion(createDBDocumentVersion(identifier, schema)); } + return document; + } + public DBDocument createDocument(int versions, String identifier, String schema, String docIdentifier, String docSchema) { + DBDocument document = createDBDocument(); + // add document versions to the document + for (int i= 0; i< versions; i++ ) { + document.addNewDocumentVersion(createDBDocumentVersion(identifier, schema, docIdentifier, docSchema)); + } return document; } @@ -722,5 +728,11 @@ public class TestUtilsDao { return resourceMemberU1R2_D2G1RD1_Viewer; } + public DBGroupMember getGroupMemberU1D1G1Admin() { + return groupMemberU1D1G1Admin; + } + public DBGroupMember getGroupMemberU1D2G1Viewer() { + return groupMemberU1D2G1Viewer; + } } 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 38c7b4eb7916571aaac54227f36681f118c22491..0eb49a7182439f6ed3bd477ea9d986d1b2f36d6f 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 @@ -38,7 +38,7 @@ public class CredentialServiceTest extends AbstractServiceIntegrationTest { testUtilsDao.clearData(); testUtilsDao.createUsers(); resetKeystore(); - configurationDao.refreshProperties(); + configurationDao.reloadPropertiesFromDatabase(); } @Test 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 new file mode 100644 index 0000000000000000000000000000000000000000..abd79d399c4ee44b1137dce6b26ea9065aa5276f --- /dev/null +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/resource/ResourceHandlerServiceTest.java @@ -0,0 +1,145 @@ +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, + OasisSMPServiceMetadata10.class, + OasisSMPServiceGroup10Handler.class, + OasisSMPServiceMetadata10Handler.class, + ServiceMetadata10Validator.class}) +class ResourceHandlerServiceTest extends AbstractJunit5BaseDao { + + @Autowired + private ConfigurationDao configurationDao; + + @Autowired + ResourceHandlerService testInstance; + + protected ResourceRequest requestData = Mockito.mock(ResourceRequest.class); + protected ResolvedData resolvedData = Mockito.mock(ResolvedData.class); + protected ResourceResponse responseData = Mockito.mock(ResourceResponse.class); + + + @BeforeEach + public void prepareDatabase() throws IOException { + + + testUtilsDao.clearData(); + testUtilsDao.createSubresources(); + testUtilsDao.createResourceMemberships(); + resetKeystore(); + configurationDao.reloadPropertiesFromDatabase(); + + // for reading the resource Oasis SMP 1.0 + HttpServletRequest request = Mockito.mock(HttpServletRequest.class); + Mockito.doReturn("/").when(request).getContextPath(); + ServletRequestAttributes servletRequestAttributes = new ServletRequestAttributes(request); + RequestContextHolder.setRequestAttributes(servletRequestAttributes); + + } + + @Test + void createResource() { + } + + @Test + void testReadResource() { + Mockito.doReturn(resolvedData).when(requestData).getResolvedData(); + Mockito.doReturn(testUtilsDao.getResourceDefSmp()).when(resolvedData).getResourceDef(); + Mockito.doReturn(testUtilsDao.getD1()).when(resolvedData).getDomain(); + Mockito.doReturn(testUtilsDao.getResourceD1G1RD1()).when(resolvedData).getResource(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + Mockito.doReturn(baos).when(responseData).getOutputStream(); + + testInstance.readResource(requestData, responseData); + assertTrue(baos.size() > 0); + } + + @Test + void testReadSubresource() { + + Mockito.doReturn(resolvedData).when(requestData).getResolvedData(); + Mockito.doReturn(testUtilsDao.getResourceDefSmp()).when(resolvedData).getResourceDef(); + Mockito.doReturn(testUtilsDao.getSubresourceDefSmpMetadata()).when(resolvedData).getSubResourceDef(); + Mockito.doReturn(testUtilsDao.getD1()).when(resolvedData).getDomain(); + Mockito.doReturn(testUtilsDao.getResourceD1G1RD1()).when(resolvedData).getResource(); + Mockito.doReturn(testUtilsDao.getSubresourceD2G1RD1_S1()).when(resolvedData).getSubresource(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + Mockito.doReturn(baos).when(responseData).getOutputStream(); + + testInstance.readSubresource(requestData, responseData); + assertTrue(baos.size() > 0); + } + + @Test + void testCreateResource() { + Mockito.doReturn(resolvedData).when(requestData).getResolvedData(); + Mockito.doReturn(ResourceHandlerService.class.getResourceAsStream("/examples/oasis-smp-1.0/ServiceGroupOK.xml")) + .when(requestData).getInputStream(); + + Mockito.doReturn(testUtilsDao.getResourceDefSmp()).when(resolvedData).getResourceDef(); + Mockito.doReturn(testUtilsDao.getD1()).when(resolvedData).getDomain(); + Mockito.doReturn(testUtilsDao.getResourceD1G1RD1()).when(resolvedData).getResource(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + Mockito.doReturn(baos).when(responseData).getOutputStream(); + + testInstance.createResource(testUtilsDao.getUser1(), requestData, responseData); + } + + @Test + void testCreateSubResource() { + Mockito.doReturn(resolvedData).when(requestData).getResolvedData(); + Mockito.doReturn(ResourceHandlerService.class.getResourceAsStream("/examples/oasis-smp-1.0/ServiceMetadataOK.xml")) + .when(requestData).getInputStream(); + + Mockito.doReturn(testUtilsDao.getResourceDefSmp()).when(resolvedData).getResourceDef(); + Mockito.doReturn(testUtilsDao.getSubresourceDefSmpMetadata()).when(resolvedData).getSubResourceDef(); + Mockito.doReturn(testUtilsDao.getD1()).when(resolvedData).getDomain(); + Mockito.doReturn(testUtilsDao.getResourceD1G1RD1()).when(resolvedData).getResource(); + Mockito.doReturn(testUtilsDao.getSubresourceD2G1RD1_S1()).when(resolvedData).getSubresource(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + Mockito.doReturn(baos).when(responseData).getOutputStream(); + + testInstance.createSubresource(requestData, responseData); + } + +} 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 4e7e2fbcf022e4576c8c9067bffcb4d91ab38ae2..f99a013b25af1486d60e497e32d52d54aa89dccf 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 @@ -98,7 +98,7 @@ public class ResourceResolverServiceTest extends AbstractServiceIntegrationTest } public DBSubresource createSubresource(DBResource resource, DBSubresourceDef subresourceDef) { - DBDocument doc = testUtilsDao.createDocument(1); + DBDocument doc = testUtilsDao.createDocument(1, resource.getIdentifierValue(), resource.getIdentifierScheme()); DBSubresource subresource = TestDBUtils.createDBSubresource( resource.getIdentifierValue(), resource.getIdentifierScheme(), UUID.randomUUID().toString(), TEST_DOC_SCHEMA_2); 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 be69c4b1afaee4dfe2c1bf50ba264d755820676a..01f7b3b311a46b36dc4a83dffb985774f2183051 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,9 +1,13 @@ 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; @@ -106,5 +110,4 @@ public class UIDomainServiceTest extends AbstractServiceTest { assertNull(result); } - } 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 new file mode 100644 index 0000000000000000000000000000000000000000..e0d0f8a6eed2e175eb89244e6326bc6928ad809d --- /dev/null +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicServiceTest.java @@ -0,0 +1,186 @@ +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; +import eu.europa.ec.edelivery.smp.data.model.DBGroup; +import eu.europa.ec.edelivery.smp.data.model.user.DBGroupMember; +import eu.europa.ec.edelivery.smp.data.ui.GroupRO; +import eu.europa.ec.edelivery.smp.data.ui.MemberRO; +import eu.europa.ec.edelivery.smp.data.ui.ServiceResult; +import eu.europa.ec.edelivery.smp.testutil.TestROUtils; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.convert.ConversionService; + +import java.util.List; +import java.util.UUID; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +public class UIGroupPublicServiceTest extends AbstractJunit5BaseDao { + + + @Autowired + UIGroupPublicService testInstance; + @Autowired + ConversionService conversionService; + @Autowired + GroupMemberDao groupMemberDao; + + @BeforeEach + public void prepareDatabase() { + testUtilsDao.clearData(); + testUtilsDao.createResourceDefinitionsForDomains(); + testUtilsDao.createGroupMemberships(); + } + + @Test + public void testGetAllGroupsForDomainD1() { + List<GroupRO> groups = testInstance.getAllGroupsForDomain(testUtilsDao.getD1().getId()); + assertEquals(2, groups.size()); + } + + + @Test + public void testGetAllGroupsForDomainD2() { + List<GroupRO> groups = testInstance.getAllGroupsForDomain(testUtilsDao.getD2().getId()); + assertEquals(1, groups.size()); + } + + + @Test + public void testGetAllGroupsForDomainAndUserAndGroupRoleExpectedOneGroup() { + List<GroupRO> groups = testInstance.getAllGroupsForDomainAndUserAndGroupRole(testUtilsDao.getD1().getId(), + testUtilsDao.getUser1().getId(), MembershipRoleType.ADMIN); + assertEquals(1, groups.size()); + } + + @Test + public void testGetAllGroupsForDomainAndUserAndGroupRoleExpectedNullGroup() { + List<GroupRO> groups = testInstance.getAllGroupsForDomainAndUserAndGroupRole(testUtilsDao.getD1().getId(), + testUtilsDao.getUser1().getId(), MembershipRoleType.VIEWER); + assertEquals(0, groups.size()); + } + + @Test + public void testGetAllGroupsForDomainAndUserAndResourceRoleExpectedOneGroup() { + List<GroupRO> groups = testInstance.getAllGroupsForDomainAndUserAndGroupRole(testUtilsDao.getD1().getId(), + testUtilsDao.getUser1().getId(), MembershipRoleType.ADMIN); + assertEquals(1, groups.size()); + } + + @Test + public void testGetAllGroupsForDomainAndUserAndResourceRoleExpectedNullGroup() { + List<GroupRO> groups = testInstance.getAllGroupsForDomainAndUserAndGroupRole(testUtilsDao.getD1().getId(), + testUtilsDao.getUser1().getId(), MembershipRoleType.VIEWER); + assertEquals(0, groups.size()); + } + + @Test + public void testCreateGroupForDomain() { + // given + GroupRO groupRO = TestROUtils.createGroup(UUID.randomUUID().toString(), VisibilityType.PUBLIC); + DBDomain domain = testUtilsDao.getD1(); + int iGroupCount = testInstance.getAllGroupsForDomain(domain.getId()).size(); + // when + GroupRO createdGroup = testInstance.createGroupForDomain(groupRO, domain.getId(), testUtilsDao.getUser1().getId()); + // then + assertNotNull(createdGroup); + assertNotNull(createdGroup.getGroupId()); + assertEquals(groupRO.getGroupName(), createdGroup.getGroupName()); + assertEquals(groupRO.getVisibility(), createdGroup.getVisibility()); + assertEquals(iGroupCount + 1, testInstance.getAllGroupsForDomain(domain.getId()).size()); + } + + @Test + public void testSaveGroupForDomain() { + // given + DBDomain domain = testUtilsDao.getD1(); + DBGroup group = testUtilsDao.getGroupD1G1(); + GroupRO groupRO = TestROUtils.createGroup(UUID.randomUUID().toString(), VisibilityType.PRIVATE); + assertNotEquals(groupRO.getGroupName(), group.getGroupName()); + assertNotEquals(groupRO.getVisibility(), group.getVisibility()); + assertNotEquals(groupRO.getGroupDescription(), group.getGroupDescription()); + + // when + GroupRO createdGroup = testInstance.saveGroupForDomain(domain.getId(), group.getId(), groupRO); + // then + assertNotNull(createdGroup); + assertNotNull(createdGroup.getGroupId()); + assertEquals(groupRO.getGroupName(), createdGroup.getGroupName()); + assertEquals(groupRO.getVisibility(), createdGroup.getVisibility()); + assertEquals(groupRO.getGroupDescription(), createdGroup.getGroupDescription()); + } + + @Test + public void testDeleteGroupForDomain() { + // given + GroupRO groupRO = TestROUtils.createGroup(UUID.randomUUID().toString(), VisibilityType.PUBLIC); + DBDomain domain = testUtilsDao.getD1(); + int iGroupCount = testInstance.getAllGroupsForDomain(domain.getId()).size(); + GroupRO createdGroup = testInstance.createGroupForDomain(groupRO, domain.getId(), testUtilsDao.getUser1().getId()); + assertEquals(iGroupCount + 1, testInstance.getAllGroupsForDomain(domain.getId()).size()); + + // when + testInstance.deleteGroupFromDomain(domain.getId(), Long.parseLong(createdGroup.getGroupId())); + // then + assertEquals(iGroupCount, testInstance.getAllGroupsForDomain(domain.getId()).size()); + } + + @Test + public void testGetGroupMembers() { + // given + // see the data in testUtilsDao.createGroupMemberships() + // when + ServiceResult<MemberRO> members = testInstance.getGroupMembers(testUtilsDao.getGroupD1G1().getId(),testUtilsDao.getD1().getId(), -1, -1, null); + // then + assertNotNull(members); + assertEquals(1, members.getCount().intValue()); + assertEquals(testUtilsDao.getUser1().getUsername(), members.getServiceEntities().get(0).getUsername()); + } + + + + @Test + public void testAddUpdateMemberToGroupUpdate() { + // given + // see the data in testUtilsDao.createGroupMemberships() + DBGroupMember dbMember = testUtilsDao.getGroupMemberU1D1G1Admin(); + MemberRO member = conversionService.convert(dbMember, MemberRO.class); + member.setRoleType(MembershipRoleType.VIEWER); + assertNotEquals(MembershipRoleType.VIEWER, dbMember.getRole()); + // when + testInstance.addMemberToGroup(testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId(), member, dbMember.getId()); + // then + DBGroupMember result = groupMemberDao.find(dbMember.getId()); + assertNotNull(result); + assertEquals(MembershipRoleType.VIEWER, result.getRole()); + } + + @Test + public void testAddUpdateMemberToGroupAdd() { + // given + ServiceResult<MemberRO> members = testInstance.getGroupMembers(testUtilsDao.getGroupD1G1().getId(),testUtilsDao.getD1().getId(), -1, -1, null); + int memberCount = members.getCount().intValue(); + + DBGroupMember dbMember = new DBGroupMember(); + dbMember.setRole(MembershipRoleType.VIEWER); + dbMember.setUser(testUtilsDao.getUser2()); + dbMember.setGroup(testUtilsDao.getGroupD1G1()); + MemberRO member = conversionService.convert(dbMember, MemberRO.class); + + // when + testInstance.addMemberToGroup(testUtilsDao.getGroupD1G1().getId(), testUtilsDao.getD1().getId(), member, null); + // then + ServiceResult<MemberRO> resourceMembers = testInstance.getGroupMembers(testUtilsDao.getGroupD1G1().getId(),testUtilsDao.getD1().getId(), -1, -1, null); + assertEquals(memberCount + 1, resourceMembers.getCount().intValue()); + } + +} 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 83334a26608f757d6030a54460a10f1fbfd18cd9..b49a633f9d0495024ff506186d881e696223a5a3 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 @@ -159,8 +159,8 @@ public class TestDBUtils { resource.setVisibility(VisibilityType.PUBLIC); if (withExtension) { DBDocument document = createDBDocument(); - DBDocumentVersion documentVersion = createDBDocumentVersion(); - createDBDocumentVersion().setContent(generateExtension()); + DBDocumentVersion documentVersion = createDBDocumentVersion(id, sch); + createDBDocumentVersion(id, sch).setContent(generateExtension()); document.addNewDocumentVersion(documentVersion); resource.setDocument(document); } @@ -174,9 +174,31 @@ public class TestDBUtils { return doc; } - public static DBDocumentVersion createDBDocumentVersion() { + public static DBDocumentVersion createDBDocumentVersion(String id, String sch) { DBDocumentVersion docuVersion = new DBDocumentVersion(); - docuVersion.setContent(anyString().getBytes()); + docuVersion.setContent(("<ServiceGroup xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\">" + + "<ParticipantIdentifier scheme=\""+sch+"\">"+id+"</ParticipantIdentifier>" + + "<ServiceMetadataReferenceCollection />" + + "</ServiceGroup>").getBytes()); + return docuVersion; + } + + 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>" + + "<ProcessList><Process>" + + "<ProcessIdentifier scheme=\"[test-schema]\">[test-value]</ProcessIdentifier>" + + "<ServiceEndpointList>" + + "<Endpoint transportProfile=\"bdxr-transport-ebms3-as4-v1p0\">" + + "<EndpointURI>https://mypage.eu</EndpointURI>" + + "<Certificate>Q2VydGlmaWNhdGUgZGF0YSA=</Certificate>" + + "<ServiceDescription>Service description for partners </ServiceDescription>" + + "<TechnicalContactUrl>www.best-page.eu</TechnicalContactUrl>" + + "</Endpoint>" + + "</ServiceEndpointList>" + + "</Process></ProcessList></ServiceInformation></ServiceMetadata>").getBytes()); return docuVersion; } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestROUtils.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestROUtils.java index 8e5a1dc79882d3ac2b4668cae02850670e6118bf..e0e494ae2a7f64e3950584eba3772e5af4d57fd2 100644 --- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestROUtils.java +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/TestROUtils.java @@ -2,12 +2,15 @@ package eu.europa.ec.edelivery.smp.testutil; import eu.europa.ec.edelivery.smp.conversion.X509CertificateToCertificateROConverter; import eu.europa.ec.edelivery.smp.data.enums.VisibilityType; +import eu.europa.ec.edelivery.smp.data.model.DBGroup; import eu.europa.ec.edelivery.smp.data.ui.CertificateRO; +import eu.europa.ec.edelivery.smp.data.ui.GroupRO; import eu.europa.ec.edelivery.smp.data.ui.ResourceRO; import eu.europa.ec.edelivery.smp.data.ui.enums.EntityROStatus; import java.math.BigInteger; import java.security.cert.X509Certificate; +import java.util.UUID; public class TestROUtils { @@ -28,4 +31,17 @@ public class TestROUtils { X509Certificate cert = X509CertificateTestUtils.createX509CertificateForTest(certSubject, serial, null); return CERT_CONVERTER.convert(cert); } + + public static GroupRO createGroup(String groupName, VisibilityType visibility){ + GroupRO group = new GroupRO(); + group.setGroupName(groupName); + group.setGroupDescription(anyString()); + group.setVisibility(visibility); + return group; + } + + + public static String anyString(){ + return UUID.randomUUID().toString(); + } } diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/params/VariableArgumentsProvider.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/params/VariableArgumentsProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..bc64b4c6cf4520d6b71b1ecec2b5dd57688dcb52 --- /dev/null +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/params/VariableArgumentsProvider.java @@ -0,0 +1,47 @@ +package eu.europa.ec.edelivery.smp.testutil.params; + +import org.junit.jupiter.api.extension.ExtensionContext; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.ArgumentsProvider; +import org.junit.jupiter.params.support.AnnotationConsumer; + +import java.lang.reflect.Field; +import java.util.stream.Stream; + +public class VariableArgumentsProvider + implements ArgumentsProvider, AnnotationConsumer<VariableSource> { + + private String variableName; + + @Override + public Stream<? extends Arguments> provideArguments(ExtensionContext context) { + return context.getTestClass() + .map(this::getField) + .map(this::getValue) + .orElseThrow(() -> + new IllegalArgumentException("Failed to load test arguments")); + } + + @Override + public void accept(VariableSource variableSource) { + variableName = variableSource.value(); + } + + private Field getField(Class<?> clazz) { + try { + return clazz.getDeclaredField(variableName); + } catch (Exception e) { + return null; + } + } + + @SuppressWarnings("unchecked") + private Stream<Arguments> getValue(Field field) { + Object value = null; + try { + value = field.get(null); + } catch (Exception ignored) {} + + return value == null ? null : (Stream<Arguments>) value; + } +} diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/params/VariableSource.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/params/VariableSource.java new file mode 100644 index 0000000000000000000000000000000000000000..efc2201b98c8a4018c8b1d5f6b9954a4401711a2 --- /dev/null +++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/testutil/params/VariableSource.java @@ -0,0 +1,17 @@ +package eu.europa.ec.edelivery.smp.testutil.params; + +import org.junit.jupiter.params.provider.ArgumentsSource; + +import java.lang.annotation.*; + +@Documented +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@ArgumentsSource(VariableArgumentsProvider.class) +public @interface VariableSource { + + /** + * The name of the static variable + */ + String value(); +} diff --git a/smp-server-library/src/test/resources/examples/conversion/ServiceGroupOK.xml b/smp-server-library/src/test/resources/examples/conversion/ServiceGroupOK.xml deleted file mode 100644 index 397a71f79b77538edcbaf215cc5906d7f873ff93..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/conversion/ServiceGroupOK.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ParticipantIdentifier/> - <ServiceMetadataReferenceCollection> - <ServiceMetadataReference href="http://poland.pl"/> - </ServiceMetadataReferenceCollection> -</ServiceGroup> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/conversion/ServiceGroupWithDOCTYPE.xml b/smp-server-library/src/test/resources/examples/conversion/ServiceGroupWithDOCTYPE.xml deleted file mode 100644 index 827c0bed4ba7a41c9576b25e8e1c0b61865cc637..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/conversion/ServiceGroupWithDOCTYPE.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE testingxxe [<!ENTITY value "SAMPLE VALUE" >]> -<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ParticipantIdentifier/> - <ServiceMetadataReferenceCollection> - <ServiceMetadataReference href="&value;"/> - </ServiceMetadataReferenceCollection> -</ServiceGroup> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/conversion/ServiceGroupWithExtension.xml b/smp-server-library/src/test/resources/examples/conversion/ServiceGroupWithExtension.xml deleted file mode 100644 index efcea09a5480f2f0333ec15b4e7e0c180be437a3..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/conversion/ServiceGroupWithExtension.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ParticipantIdentifier scheme="ehealth-actorid-qns">urn:eu:ncpb:utest</ParticipantIdentifier> - <ServiceMetadataReferenceCollection/> - <Extension xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"><ex:dummynode xmlns:ex="http://test.eu">Sample not mandatory extension</ex:dummynode></Extension> -</ServiceGroup> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataMissingMandatoryFields.xml b/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataMissingMandatoryFields.xml deleted file mode 100644 index e26c01216db038f71681387417cc6ddd200e22d7..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataMissingMandatoryFields.xml +++ /dev/null @@ -1,3 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ServiceMetadata xmlns="http://busdox.org/serviceMetadata/publishing/1.0/"> -</ServiceMetadata> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithDOCTYPE.xml b/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithDOCTYPE.xml deleted file mode 100644 index b3160cd17f63c4714ff517a621fd63b6424489d0..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithDOCTYPE.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE testingxxe [<!ENTITY cert "CERT SAMPLE VALUE" >]> -<ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <Redirect href="http://poland.pl"> - <CertificateUID>&cert;</CertificateUID> - </Redirect> -</ServiceMetadata> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithRedirect.xml b/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithRedirect.xml deleted file mode 100644 index 8e77a434bed261354c7cf5fc4ba770f1ff043b63..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithRedirect.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <Redirect href="http://poland.pl"> - <CertificateUID>SAMPLE CERTIFICATE VALUE</CertificateUID> - </Redirect> -</ServiceMetadata> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithServiceInformation.xml b/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithServiceInformation.xml deleted file mode 100644 index dc8146280a7e650d62dbf0df26ddf4f15d1232be..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithServiceInformation.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ServiceInformation> - <ParticipantIdentifier scheme="ehealth-actorid-qns">urn:poland:ncpb</ParticipantIdentifier> - <DocumentIdentifier scheme="ehealth-resid-qns">urn::epsos##services:extended:epsos::107</DocumentIdentifier> - <ProcessList> - <Process> - <ProcessIdentifier scheme="ehealth-procid-qns">urn:epsosPatientService::List</ProcessIdentifier> - <ServiceEndpointList> - <Endpoint transportProfile="urn:ihe:iti:2013:xcpd"> - <EndpointURI>http://poland.pl/ncp/patient/list</EndpointURI> - <RequireBusinessLevelSignature>false</RequireBusinessLevelSignature> - <MinimumAuthenticationLevel>urn:epSOS:loa:1</MinimumAuthenticationLevel> - <ServiceActivationDate>2016-06-06T11:06:02.000+02:00</ServiceActivationDate> - <ServiceExpirationDate>2026-06-06T11:06:02+02:00</ServiceExpirationDate> - <Certificate>MIID7jCCA1egAwIBAgICA+YwDQYJKoZIhvcNAQENBQAwOjELMAkGA1UEBhMCRlIxEzARBgNVBAoMCklIRSBFdXJvcGUxFjAUBgNVBAMMDUlIRSBFdXJvcGUgQ0EwHhcNMTYwNjAxMTQzNTUzWhcNMjYwNjAxMTQzNTUzWjCBgzELMAkGA1UEBhMCUFQxDDAKBgNVBAoMA01vSDENMAsGA1UECwwEU1BNUzENMAsGA1UEKgwESm9hbzEOMAwGA1UEBRMFQ3VuaGExHTAbBgNVBAMMFHFhZXBzb3MubWluLXNhdWRlLnB0MRkwFwYDVQQMDBBTZXJ2aWNlIFByb3ZpZGVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1eN4qPSSRZqjVFG9TlcPlxf2WiSimQK9L1nf9Z/s0ezeGQjCukDeDq/Wzqd9fpHhaMMq+XSSOtyEtIr5K/As4kFrViONUUkG12J6UllSWogp0NYFwA4wIqKSFiTnQS5/nRTs05oONCCGILCyJNNeO53JzPlaq3/QbPLssuSAr6XucPE8wBBGM8b/TsB2G/zjG8yuSTgGbhaZekq/Vnf9ftj1fr/vJDDAQgH6Yvzd88Z0DACJPHfW1p4F/OWLI386Bq7g/bo1DUPAyEwlf+CkLgJWRKki3yJlOCIZ9enMA5O7rfeG3rXdgYGmWS7tNEgKXxgC+heiYvi7ZWd7M+/SUwIDAQABo4IBMzCCAS8wPgYDVR0fBDcwNTAzoDGgL4YtaHR0cHM6Ly9nYXplbGxlLmloZS5uZXQvcGtpL2NybC82NDMvY2FjcmwuY3JsMDwGCWCGSAGG+EIBBAQvFi1odHRwczovL2dhemVsbGUuaWhlLm5ldC9wa2kvY3JsLzY0My9jYWNybC5jcmwwPAYJYIZIAYb4QgEDBC8WLWh0dHBzOi8vZ2F6ZWxsZS5paGUubmV0L3BraS9jcmwvNjQzL2NhY3JsLmNybDAfBgNVHSMEGDAWgBTsMw4TyCJeouFrr0N7el3Sd3MdfjAdBgNVHQ4EFgQU1GQ/K1ykIwWFgiONzWJLQzufF/8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBSAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQENBQADgYEAZ7t1Qkr9wz3q6+WcF6p/YX7Jr0CzVe7w58FvJFk2AsHeYkSlOyO5hxNpQbs1L1v6JrcqziNFrh2QKGT2v6iPdWtdCT8HBLjmuvVWxxnfzYjdQ0J+kdKMAEV6EtWU78OqL60CCtUZKXE/NKJUq7TTUCFP2fwiARy/t1dTD2NZo8c=</Certificate> - <ServiceDescription>This is the epSOS Patient Service List for the Polish NCP</ServiceDescription> - <TechnicalContactUrl>http://poland.pl/contact</TechnicalContactUrl> - <TechnicalInformationUrl>http://poland.pl/contact</TechnicalInformationUrl> - </Endpoint> - <Endpoint transportProfile="urn:ihe:iti:2013:xcpd"> - <EndpointURI>http://poland.pl/ncp/patient/list</EndpointURI> - <RequireBusinessLevelSignature>false</RequireBusinessLevelSignature> - <MinimumAuthenticationLevel>urn:epSOS:loa:1</MinimumAuthenticationLevel> - <ServiceActivationDate>2016-06-06T11:06:02.000+02:00</ServiceActivationDate> - <ServiceExpirationDate>2026-06-06T11:06:02+02:00</ServiceExpirationDate> - <Certificate>MIID7jCCA1egAwIBAgICA+YwDQYJKoZIhvcNAQENBQAwOjELMAkGA1UEBhMCRlIxEzARBgNVBAoMCklIRSBFdXJvcGUxFjAUBgNVBAMMDUlIRSBFdXJvcGUgQ0EwHhcNMTYwNjAxMTQzNTUzWhcNMjYwNjAxMTQzNTUzWjCBgzELMAkGA1UEBhMCUFQxDDAKBgNVBAoMA01vSDENMAsGA1UECwwEU1BNUzENMAsGA1UEKgwESm9hbzEOMAwGA1UEBRMFQ3VuaGExHTAbBgNVBAMMFHFhZXBzb3MubWluLXNhdWRlLnB0MRkwFwYDVQQMDBBTZXJ2aWNlIFByb3ZpZGVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1eN4qPSSRZqjVFG9TlcPlxf2WiSimQK9L1nf9Z/s0ezeGQjCukDeDq/Wzqd9fpHhaMMq+XSSOtyEtIr5K/As4kFrViONUUkG12J6UllSWogp0NYFwA4wIqKSFiTnQS5/nRTs05oONCCGILCyJNNeO53JzPlaq3/QbPLssuSAr6XucPE8wBBGM8b/TsB2G/zjG8yuSTgGbhaZekq/Vnf9ftj1fr/vJDDAQgH6Yvzd88Z0DACJPHfW1p4F/OWLI386Bq7g/bo1DUPAyEwlf+CkLgJWRKki3yJlOCIZ9enMA5O7rfeG3rXdgYGmWS7tNEgKXxgC+heiYvi7ZWd7M+/SUwIDAQABo4IBMzCCAS8wPgYDVR0fBDcwNTAzoDGgL4YtaHR0cHM6Ly9nYXplbGxlLmloZS5uZXQvcGtpL2NybC82NDMvY2FjcmwuY3JsMDwGCWCGSAGG+EIBBAQvFi1odHRwczovL2dhemVsbGUuaWhlLm5ldC9wa2kvY3JsLzY0My9jYWNybC5jcmwwPAYJYIZIAYb4QgEDBC8WLWh0dHBzOi8vZ2F6ZWxsZS5paGUubmV0L3BraS9jcmwvNjQzL2NhY3JsLmNybDAfBgNVHSMEGDAWgBTsMw4TyCJeouFrr0N7el3Sd3MdfjAdBgNVHQ4EFgQU1GQ/K1ykIwWFgiONzWJLQzufF/8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBSAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQENBQADgYEAZ7t1Qkr9wz3q6+WcF6p/YX7Jr0CzVe7w58FvJFk2AsHeYkSlOyO5hxNpQbs1L1v6JrcqziNFrh2QKGT2v6iPdWtdCT8HBLjmuvVWxxnfzYjdQ0J+kdKMAEV6EtWU78OqL60CCtUZKXE/NKJUq7TTUCFP2fwiARy/t1dTD2NZo8c=</Certificate> - <ServiceDescription>This is the second epSOS Patient Service List for the Polish NCP</ServiceDescription> - <TechnicalContactUrl>http://poland.pl/contact</TechnicalContactUrl> - <TechnicalInformationUrl>http://poland.pl/contact</TechnicalInformationUrl> - </Endpoint> - </ServiceEndpointList> - </Process> - </ProcessList> - <Extension><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><DigestValue>CJeDJ72nQkwsZ2XWc8eput8pcBzfHSwO6uHr77/xbQo=</DigestValue></Reference></SignedInfo><SignatureValue>WlCUwlHJy9sehansEjFXSPkAobodbeM8OxXfLjQVYs7Vh085dESYaAbcDoDZ6t8IaHbsRtkiCgZG - yVRvOwB42EVRkhyWu0zVnlowfieBgvMqtZdYMbx6Z7Npwvo0UDcYI/HnHnzsyHhklKKNGPymXJXH - waEt4QJw+ne2n7Tb0Qg=</SignatureValue><KeyInfo><X509Data><X509SubjectName>CN=Sample National Infrastructure,OU=Sante,C=PT</X509SubjectName><X509Certificate>MIICAzCCAWygAwIBAgIEWCRzHjANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQGEwJQVDEOMAwGA1UE - CwwFU2FudGUxJzAlBgNVBAMMHlNhbXBsZSBOYXRpb25hbCBJbmZyYXN0cnVjdHVyZTAeFw0xNjEx - MTAxMzE2NTBaFw0yNjExMTAxMzE2NTBaMEYxCzAJBgNVBAYTAlBUMQ4wDAYDVQQLDAVTYW50ZTEn - MCUGA1UEAwweU2FtcGxlIE5hdGlvbmFsIEluZnJhc3RydWN0dXJlMIGfMA0GCSqGSIb3DQEBAQUA - A4GNADCBiQKBgQCywt50WXEWIiWytRGcMqzeMM/EyxruNthPdiUEUTbs9un7lzGGjpfFMTgd83wJ - haB6FgpaVd8V2w/JBdkim5Ltuhu2vA0d6hHOsa58neIfe4z1ZhswwNmB0+mDTjwnd/gg8IJyQhhY - c5G4x7m0ZGdDKZDizjtDTEPTsl8D4FzBFwIDAQABMA0GCSqGSIb3DQEBCwUAA4GBACKxUpAx0PYm - ZZi4DfAzBkQ0+CvQw/l6Yo8wonVdpcQXO3khpWIcXhgYhTLHwm8IwJLEyFatmMyCKklSA3CLebJU - L4XH1GcdCg6oPKPUc+ovbgN7/iR265Elp4qHfpVteBijBTyZReH4oAK9hRhK1gLwtjI7vpjVaPXv - vkV1fbrz</X509Certificate></X509Data></KeyInfo></Signature></Extension> - </ServiceInformation> -</ServiceMetadata> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithServiceInformationUtf8.xml b/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithServiceInformationUtf8.xml deleted file mode 100644 index 5157afe6fc03d570e617e2e83b1d6824c6d6f01a..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/conversion/ServiceMetadataWithServiceInformationUtf8.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?><!-- - ~ 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. - --> - -<ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ServiceInformation> - <ParticipantIdentifier scheme="ehealth-actorid-qns">urn:poland:ncpb</ParticipantIdentifier> - <DocumentIdentifier scheme="ehealth-resid-qns">urn::epsos##services:extended:epsos::107</DocumentIdentifier> - <ProcessList> - <Process> - <ProcessIdentifier scheme="ehealth-procid-qns">urn:epsosPatientService::List</ProcessIdentifier> - <ServiceEndpointList> - <Endpoint transportProfile="urn:ihe:iti:2013:xcpd"> - <EndpointURI>http://poland.pl/ncp/patient/list</EndpointURI> - <Certificate>QUE=</Certificate> - <ServiceDescription>--ö--ẞßÄäPLżółćNOÆæØøÅå</ServiceDescription> - <TechnicalContactUrl>http://poland.pl/contact</TechnicalContactUrl> - <TechnicalInformationUrl>http://poland.pl/contact</TechnicalInformationUrl> - </Endpoint> - </ServiceEndpointList> - </Process> - </ProcessList> - </ServiceInformation> -</ServiceMetadata> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/extensions/extensionCustom.xml b/smp-server-library/src/test/resources/examples/extensions/extensionCustom.xml deleted file mode 100644 index a5038039ef20bc4925f0589d80c27bdbf940b1aa..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/extensions/extensionCustom.xml +++ /dev/null @@ -1,3 +0,0 @@ -<Extension xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ext:example xmlns:ext="http://my.namespace.eu">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</ext:example> -</Extension> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/extensions/extensionCustomText.xml b/smp-server-library/src/test/resources/examples/extensions/extensionCustomText.xml deleted file mode 100644 index 08e00ed29169d1c8876c8d593fc2d675df3b61bf..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/extensions/extensionCustomText.xml +++ /dev/null @@ -1 +0,0 @@ -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/extensions/extensionInvalid.xml b/smp-server-library/src/test/resources/examples/extensions/extensionInvalid.xml deleted file mode 100644 index 61fe8faf7bdeb82acb066d631f029f099855b9ea..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/extensions/extensionInvalid.xml +++ /dev/null @@ -1,11 +0,0 @@ -<Extension xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ExtensionName>name1</ExtensionName> - <ExtensionID>id1</ExtensionID> - <ExtensionName>name1</ExtensionName> - <ExtensionAgencyName>agencyName1</ExtensionAgencyName> - <ExtensionAgencyURI>agencyUri1</ExtensionAgencyURI> - <ExtensionVersionID>versionId1</ExtensionVersionID> - <ExtensionReasonCode>reasonCode1</ExtensionReasonCode> - <ExtensionReason>reason1</ExtensionReason> - <ext:example xmlns:ext="http://my.namespace.eu">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</ext:example> -</Extension> diff --git a/smp-server-library/src/test/resources/examples/extensions/extensionMarshal.xml b/smp-server-library/src/test/resources/examples/extensions/extensionMarshal.xml deleted file mode 100644 index 7c20d3eb5940f9c5ce4e815afda0b33ccfac8de4..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/extensions/extensionMarshal.xml +++ /dev/null @@ -1 +0,0 @@ -<Extension xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"><ExtensionID>id1</ExtensionID><ExtensionName>name1</ExtensionName><ExtensionAgencyName>agencyName1</ExtensionAgencyName><ExtensionAgencyURI>agencyUri1</ExtensionAgencyURI><ExtensionVersionID>versionId1</ExtensionVersionID><ExtensionReasonCode>reasonCode1</ExtensionReasonCode><ExtensionReason>reason1</ExtensionReason></Extension> diff --git a/smp-server-library/src/test/resources/examples/extensions/extensionMarshalMore.xml b/smp-server-library/src/test/resources/examples/extensions/extensionMarshalMore.xml deleted file mode 100644 index a1aafe93346c5e746b3464af0d03180ea0eb37c5..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/extensions/extensionMarshalMore.xml +++ /dev/null @@ -1,18 +0,0 @@ -<Extension xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ExtensionID>id1</ExtensionID> - <ExtensionName>name1</ExtensionName> - <ExtensionAgencyName>agencyName1</ExtensionAgencyName> - <ExtensionAgencyURI>agencyUri1</ExtensionAgencyURI> - <ExtensionVersionID>versionId1</ExtensionVersionID> - <ExtensionReasonCode>reasonCode1</ExtensionReasonCode> - <ExtensionReason>reason1</ExtensionReason> -</Extension> -<Extension xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ExtensionID>id2</ExtensionID> - <ExtensionName>name2</ExtensionName> - <ExtensionAgencyName>agencyName2</ExtensionAgencyName> - <ExtensionAgencyURI>agencyUri2</ExtensionAgencyURI> - <ExtensionVersionID>versionId2</ExtensionVersionID> - <ExtensionReasonCode>reasonCode2</ExtensionReasonCode> - <ExtensionReason>reason2</ExtensionReason> -</Extension> diff --git a/smp-server-library/src/test/resources/examples/extensions/extensionValidMultiple.xml b/smp-server-library/src/test/resources/examples/extensions/extensionValidMultiple.xml deleted file mode 100644 index 579531c7734f33f32106afcadb3008ecfade2c3b..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/extensions/extensionValidMultiple.xml +++ /dev/null @@ -1,20 +0,0 @@ -<Extension xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ExtensionID>id1</ExtensionID> - <ExtensionName>name1</ExtensionName> - <ExtensionAgencyName>agencyName1</ExtensionAgencyName> - <ExtensionAgencyURI>agencyUri1</ExtensionAgencyURI> - <ExtensionVersionID>versionId1</ExtensionVersionID> - <ExtensionReasonCode>reasonCode1</ExtensionReasonCode> - <ExtensionReason>reason1</ExtensionReason> - <ext:example xmlns:ext="http://my.namespace.eu">token1</ext:example> -</Extension> -<Extension xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> -<ExtensionID>id1</ExtensionID> -<ExtensionName>name1</ExtensionName> -<ExtensionAgencyName>agencyName1</ExtensionAgencyName> -<ExtensionAgencyURI>agencyUri1</ExtensionAgencyURI> -<ExtensionVersionID>versionId1</ExtensionVersionID> -<ExtensionReasonCode>reasonCode1</ExtensionReasonCode> -<ExtensionReason>reason1</ExtensionReason> -<ext:example xmlns:ext="http://my.namespace.eu">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</ext:example> -</Extension> \ No newline at end of file diff --git a/smp-server-library/src/test/resources/examples/extensions/extensionValidOne.xml b/smp-server-library/src/test/resources/examples/extensions/extensionValidOne.xml deleted file mode 100644 index 3c667f4119e5e035099a612fd033e3c4dd2e4515..0000000000000000000000000000000000000000 --- a/smp-server-library/src/test/resources/examples/extensions/extensionValidOne.xml +++ /dev/null @@ -1,10 +0,0 @@ -<Extension xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> - <ExtensionID>id1</ExtensionID> - <ExtensionName>name1</ExtensionName> - <ExtensionAgencyName>agencyName1</ExtensionAgencyName> - <ExtensionAgencyURI>agencyUri1</ExtensionAgencyURI> - <ExtensionVersionID>versionId1</ExtensionVersionID> - <ExtensionReasonCode>reasonCode1</ExtensionReasonCode> - <ExtensionReason>reason1</ExtensionReason> - <ext:example xmlns:ext="http://my.namespace.eu">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</ext:example> -</Extension> diff --git a/smp-server-library/src/test/resources/examples/oasis-smp-1.0/ServiceGroupOK.xml b/smp-server-library/src/test/resources/examples/oasis-smp-1.0/ServiceGroupOK.xml new file mode 100644 index 0000000000000000000000000000000000000000..660efd8c9fa41f243aa68f94f2da19c5c6e21bd3 --- /dev/null +++ b/smp-server-library/src/test/resources/examples/oasis-smp-1.0/ServiceGroupOK.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> + <ParticipantIdentifier scheme="iso6523-actorid-upis">0007:001:utest</ParticipantIdentifier> + <ServiceMetadataReferenceCollection /> +</ServiceGroup> diff --git a/smp-server-library/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataOK.xml b/smp-server-library/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataOK.xml new file mode 100644 index 0000000000000000000000000000000000000000..dd7d846b21ce32bfb4fa1eefee3267ac7ae4bbf0 --- /dev/null +++ b/smp-server-library/src/test/resources/examples/oasis-smp-1.0/ServiceMetadataOK.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?><ServiceMetadata xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"> + <ServiceInformation> + <ParticipantIdentifier scheme="iso6523-actorid-upis">0007:001:utest</ParticipantIdentifier> + <DocumentIdentifier scheme="ehealth-resid-qns">docid.007</DocumentIdentifier> + <ProcessList> + <Process> + <ProcessIdentifier scheme="ehealth-procid-qns">urn:epsosPatientService::List</ProcessIdentifier> + <ServiceEndpointList> + <Endpoint transportProfile="urn:ihe:iti:2013:xcpd"> + <EndpointURI>http://poland.pl/ncp/patient/list</EndpointURI> + <RequireBusinessLevelSignature>false</RequireBusinessLevelSignature> + <MinimumAuthenticationLevel>urn:epSOS:loa:1</MinimumAuthenticationLevel> + <ServiceActivationDate>2016-06-06T11:06:02.000+02:00</ServiceActivationDate> + <ServiceExpirationDate>2026-06-06T11:06:02+02:00</ServiceExpirationDate> + <Certificate>MIID7jCCA1egAwIBAgICA+YwDQYJKoZIhvcNAQENBQAwOjELMAkGA1UEBhMCRlIxEzARBgNVBAoMCklIRSBFdXJvcGUxFjAUBgNVBAMMDUlIRSBFdXJvcGUgQ0EwHhcNMTYwNjAxMTQzNTUzWhcNMjYwNjAxMTQzNTUzWjCBgzELMAkGA1UEBhMCUFQxDDAKBgNVBAoMA01vSDENMAsGA1UECwwEU1BNUzENMAsGA1UEKgwESm9hbzEOMAwGA1UEBRMFQ3VuaGExHTAbBgNVBAMMFHFhZXBzb3MubWluLXNhdWRlLnB0MRkwFwYDVQQMDBBTZXJ2aWNlIFByb3ZpZGVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1eN4qPSSRZqjVFG9TlcPlxf2WiSimQK9L1nf9Z/s0ezeGQjCukDeDq/Wzqd9fpHhaMMq+XSSOtyEtIr5K/As4kFrViONUUkG12J6UllSWogp0NYFwA4wIqKSFiTnQS5/nRTs05oONCCGILCyJNNeO53JzPlaq3/QbPLssuSAr6XucPE8wBBGM8b/TsB2G/zjG8yuSTgGbhaZekq/Vnf9ftj1fr/vJDDAQgH6Yvzd88Z0DACJPHfW1p4F/OWLI386Bq7g/bo1DUPAyEwlf+CkLgJWRKki3yJlOCIZ9enMA5O7rfeG3rXdgYGmWS7tNEgKXxgC+heiYvi7ZWd7M+/SUwIDAQABo4IBMzCCAS8wPgYDVR0fBDcwNTAzoDGgL4YtaHR0cHM6Ly9nYXplbGxlLmloZS5uZXQvcGtpL2NybC82NDMvY2FjcmwuY3JsMDwGCWCGSAGG+EIBBAQvFi1odHRwczovL2dhemVsbGUuaWhlLm5ldC9wa2kvY3JsLzY0My9jYWNybC5jcmwwPAYJYIZIAYb4QgEDBC8WLWh0dHBzOi8vZ2F6ZWxsZS5paGUubmV0L3BraS9jcmwvNjQzL2NhY3JsLmNybDAfBgNVHSMEGDAWgBTsMw4TyCJeouFrr0N7el3Sd3MdfjAdBgNVHQ4EFgQU1GQ/K1ykIwWFgiONzWJLQzufF/8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBSAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQENBQADgYEAZ7t1Qkr9wz3q6+WcF6p/YX7Jr0CzVe7w58FvJFk2AsHeYkSlOyO5hxNpQbs1L1v6JrcqziNFrh2QKGT2v6iPdWtdCT8HBLjmuvVWxxnfzYjdQ0J+kdKMAEV6EtWU78OqL60CCtUZKXE/NKJUq7TTUCFP2fwiARy/t1dTD2NZo8c=</Certificate> + <ServiceDescription>This is the epSOS Patient Service List for the Polish NCP</ServiceDescription> + <TechnicalContactUrl>http://poland.pl/contact</TechnicalContactUrl> + <TechnicalInformationUrl>http://poland.pl/contact</TechnicalInformationUrl> + </Endpoint> + </ServiceEndpointList> + </Process> + </ProcessList> + </ServiceInformation> +</ServiceMetadata> diff --git a/smp-soapui-tests/soapui/test/DomiSMP-soapui-project.xml b/smp-soapui-tests/soapui/test/DomiSMP-soapui-project.xml index 69b4f50149ffc60a899e271cbb6f64e8a14407aa..f254c63327403eb8e98c2f215e36ed837b65ff83 100644 --- a/smp-soapui-tests/soapui/test/DomiSMP-soapui-project.xml +++ b/smp-soapui-tests/soapui/test/DomiSMP-soapui-project.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<con:soapui-project activeEnvironment="Default" name="DomiSMP-SOAPUI-Tests" resourceRoot="" soapui-version="5.7.0" abortOnError="false" runType="SEQUENTIAL" id="8147b356-07e4-4ff9-ade6-4e92e0597a38" xmlns:con="http://eviware.com/soapui/config"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.actions.iface.tools.soapui.ProTestRunnerAction@values-local"><![CDATA[<xml-fragment xmlns:con="http://eviware.com/soapui/config"> +<con:soapui-project activeEnvironment="Default" name="DomiSMP-SOAPUI-Tests" resourceRoot="" soapui-version="5.5.0" abortOnError="false" runType="SEQUENTIAL" id="8147b356-07e4-4ff9-ade6-4e92e0597a38" xmlns:con="http://eviware.com/soapui/config"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.actions.iface.tools.soapui.ProTestRunnerAction@values-local"><![CDATA[<xml-fragment xmlns:con="http://eviware.com/soapui/config"> <con:entry key="Environment" value="Default"/> <con:entry key="Global Properties" value=""/> <con:entry key="TestSuite" value="<all>"/>