diff --git a/pom.xml b/pom.xml index 548cf6c6dc9af2f14b2b703ce8b21b16bfa96974..ea1d8e521634dc981a99cdf04412bfefdc32ce7d 100644 --- a/pom.xml +++ b/pom.xml @@ -79,6 +79,7 @@ <mysql.jdbc.version>8.0.33</mysql.jdbc.version> <metro.version>2.2.1-1</metro.version> <mockito.version>4.10.0</mockito.version> + <org.apache.santuario.xmlsec.version>2.3.3</org.apache.santuario.xmlsec.version> <orika.version>1.5.4</orika.version> <servlet-api.version>3.0.1</servlet-api.version> <slf4j.version>1.7.36</slf4j.version> @@ -256,24 +257,8 @@ <dependency> <groupId>org.apache.santuario</groupId> <artifactId>xmlsec</artifactId> - <version>2.3.3</version> + <version>${org.apache.santuario.xmlsec.version}</version> </dependency> - - <!-- dependency> - <groupId>javax.xml.bind</groupId> - <artifactId>jaxb-api</artifactId> - <version>${jaxb-api.version}</version> - </dependency> - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-impl</artifactId> - <version>${jaxb.version}</version> - </dependency> - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-core</artifactId> - <version>${jaxb.version}</version> - </dependency --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> diff --git a/smp-angular/src/app/edit/edit-domain/domain-group-panel/domain-group.component.ts b/smp-angular/src/app/edit/edit-domain/domain-group-panel/domain-group.component.ts index 6b9cb6708352d16c04433a4048870853f869d25f..cea46c407229e156de64b655e7d843409870c133 100644 --- a/smp-angular/src/app/edit/edit-domain/domain-group-panel/domain-group.component.ts +++ b/smp-angular/src/app/edit/edit-domain/domain-group-panel/domain-group.component.ts @@ -182,6 +182,8 @@ export class DomainGroupComponent implements BeforeLeaveGuard { this.editDomainService.deleteDomainGroupObservable(domain.domainId, group.groupId).subscribe((result: GroupRo) => { if (result) { this.alertService.success("Domain group [" + result.groupName + "] deleted"); + this.onGroupSelected(null); + this.refresh() } }, (error) => { this.alertService.error(error.error?.errorDescription) 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 abf215fc08a5eba335cfc1f80ab5c0b3a0e546cf..ee038b7a41c6cb5842c289a8f32d8044f3f01d6b 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 @@ -15,6 +15,8 @@ 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; @@ -22,6 +24,9 @@ import org.hibernate.envers.Audited; import javax.persistence.*; +import java.util.ArrayList; +import java.util.List; + import static eu.europa.ec.edelivery.smp.data.dao.QueryNames.*; /** @@ -79,6 +84,14 @@ public class DBGroup extends BaseEntity { @Column(name = "VISIBILITY", length = CommonColumnsLengths.MAX_TEXT_LENGTH_128) private VisibilityType visibility = VisibilityType.PUBLIC; + // set only the remove to cascade! + @OneToMany( + mappedBy = "group", + cascade = CascadeType.REMOVE, + fetch = FetchType.LAZY + ) + private List<DBGroupMember> groupMembers = new ArrayList<>(); + @Override public Long getId() { @@ -121,6 +134,11 @@ public class DBGroup extends BaseEntity { this.visibility = visibility; } + + public List<DBGroupMember> getMembers() { + return this.groupMembers; + } + @Override public String toString() { return "DBGroup{" + diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicService.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicService.java index 4916e1c274bbbcb7ba11a1530f52585387d67653..da190203ed4b7d951a3ffe98e95b2ddbcfb31645 100644 --- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicService.java +++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/services/ui/UIGroupPublicService.java @@ -81,14 +81,6 @@ public class UIGroupPublicService extends UIServiceBase<DBGroup, GroupRO> { .collect(Collectors.toList()); } - @Transactional - public List<GroupRO> getAllGroupsForDomainAndUser(Long userId, MembershipRoleType role) { - List<DBGroup> domainGroups = groupDao.getGroupsByUserIdAndRoles(userId, role); - - return domainGroups.stream().map(domain -> conversionService.convert(domain, GroupRO.class)) - .collect(Collectors.toList()); - } - @Transactional public List<GroupRO> getAllGroupsForDomainAndUserAndGroupRole(Long domainId, Long userId, MembershipRoleType role) { List<DBGroup> domainGroups = groupDao.getGroupsByDomainUserIdAndGroupRoles(domainId, userId, role); @@ -152,11 +144,6 @@ public class UIGroupPublicService extends UIServiceBase<DBGroup, GroupRO> { throw new SMPRuntimeException(ErrorCode.INVALID_REQUEST, "DeleteGroup", "Group has resources [" + resCount + "] and can not be deleted"); } - Long userCount = groupMemberDao.getGroupMemberCount(groupId, null); - if (userCount > 0) { - throw new SMPRuntimeException(ErrorCode.INVALID_REQUEST, "DeleteGroup", "Group has members [" + userCount + "] and can not be deleted"); - } - groupDao.remove(group); return conversionService.convert(group, GroupRO.class); } 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 21dc696838fa836d02a5f0f1d0cbc57b24fe15a7..f6bd8732f31ee4699cb0dd58450bee681df501fc 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 @@ -15,28 +15,36 @@ package eu.europa.ec.edelivery.smp.controllers; 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; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.mock.web.MockServletContext; +import org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.jdbc.Sql; 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.MvcResult; +import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.request.RequestPostProcessor; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.ContextLoaderListener; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.server.adapter.ForwardedHeaderTransformer; +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; import java.io.IOException; import java.net.URLEncoder; import java.util.UUID; -import static eu.europa.ec.edelivery.smp.ServiceGroupBodyUtil.*; +import static eu.europa.ec.edelivery.smp.ServiceGroupBodyUtil.generateServiceMetadata; +import static eu.europa.ec.edelivery.smp.ServiceGroupBodyUtil.getSampleServiceGroupBody; import static java.lang.String.format; import static org.hamcrest.Matchers.stringContainsInOrder; import static org.springframework.http.MediaType.APPLICATION_XML_VALUE; @@ -52,14 +60,16 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. @RunWith(SpringRunner.class) @WebAppConfiguration @ContextConfiguration(classes = {SmpTestWebAppConfig.class}) -@Ignore +@Sql(scripts = { + "classpath:/cleanup-database.sql", + "classpath:/webapp_integration_test_data.sql"}, + executionPhase = BEFORE_TEST_METHOD) public class ResourceControllerTest { - private static final String IDENTIFIER_SCHEME = "ehealth-participantid-qns"; - private static final String PARTICIPANT_ID = "urn:test:resource:01"; + public static final Logger LOG = LoggerFactory.getLogger(ResourceControllerTest.class); + private static final String IDENTIFIER_SCHEME = "ehealth-participantid-qns"; private static final String DOCUMENT_SCHEME = "doctype"; - private static final String DOCUMENT_ID = "invoice:01"; private static final String HTTP_HEADER_KEY_DOMAIN = "Domain"; private static final String HTTP_HEADER_KEY_SERVICE_GROUP_OWNER = "ServiceGroup-Owner"; @@ -83,16 +93,24 @@ public class ResourceControllerTest { @Before public void setup() throws IOException { - forwardedHeaderTransformer.setRemoveOnly(false); X509CertificateTestUtils.reloadKeystores(); - mvc = MockMvcUtils.initializeMockMvc(webAppContext); - configurationDao.reloadPropertiesFromDatabase(); + mvc = MockMvcBuilders.webAppContextSetup(webAppContext) + .apply(SecurityMockMvcConfigurers.springSecurity()) + .build(); + + initServletContext(); + } + private void initServletContext() { + MockServletContext sc = new MockServletContext(""); + ServletContextListener listener = new ContextLoaderListener(webAppContext); + ServletContextEvent event = new ServletContextEvent(sc); + listener.contextInitialized(event); } @Test public void notFoundIsReturnedWhenServiceGroupDoesNotExist() throws Exception { - mvc.perform(get(format("/%s::%s", IDENTIFIER_SCHEME, PARTICIPANT_ID))) + mvc.perform(get(format("/%s::%s", IDENTIFIER_SCHEME, UUID.randomUUID().toString()))) .andExpect(status().isNotFound()); } @@ -168,11 +186,12 @@ public class ResourceControllerTest { public void existingServiceMetadataCanBeRetrievedByEverybody() throws Exception { String participantId = UUID.randomUUID().toString(); + String documentId = UUID.randomUUID().toString(); String resourceExample = getSampleServiceGroupBody(IDENTIFIER_SCHEME, participantId); String urlPath = format("/%s::%s", IDENTIFIER_SCHEME, participantId); - String docUrlPath = format("%s/services/%s::%s", urlPath, DOCUMENT_SCHEME, DOCUMENT_ID); + String docUrlPath = format("%s/services/%s::%s", urlPath, DOCUMENT_SCHEME, documentId); - String xmlMD = generateServiceMetadata(participantId, IDENTIFIER_SCHEME, DOCUMENT_ID, DOCUMENT_SCHEME, "test"); + String xmlMD = generateServiceMetadata(participantId, IDENTIFIER_SCHEME, documentId, DOCUMENT_SCHEME, "test"); // crate service group mvc.perform(put(urlPath) .with(ADMIN_CREDENTIALS) @@ -190,14 +209,14 @@ public class ResourceControllerTest { .andExpect(status().isCreated()); mvc.perform(get(urlPath)) - .andExpect(content().xml(generateExpectedServiceGroup("http://localhost/", IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, DOCUMENT_ID))); + .andExpect(content().xml(generateExpectedServiceGroup("http://localhost/", IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, documentId))); mvc.perform(get(docUrlPath)) .andExpect(status().isOk()); } @Test - public void getExistingServiceMetadatWithReverseProxyHost() throws Exception { + public void getExistingServiceMetadataWithReverseProxyHost() throws Exception { //given String participantId = UUID.randomUUID().toString(); String documentId = UUID.randomUUID().toString(); @@ -210,7 +229,7 @@ public class ResourceControllerTest { .header("X-Forwarded-Host", "ec.test.eu") .header("X-Forwarded-Port", "") .header("X-Forwarded-Proto", "http")) - .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, DOCUMENT_ID))); + .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, documentId))); } @Test @@ -227,10 +246,11 @@ public class ResourceControllerTest { mvc.perform(get(urlPath) .header("X-Forwarded-Port", "") .header("X-Forwarded-Proto", "http")) - .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, DOCUMENT_ID))); + .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, documentId))); } @Test + @Ignore public void getExistingServiceMetadataWithReverseProxyPort() throws Exception { //given String participantId = UUID.randomUUID().toString(); @@ -239,11 +259,11 @@ public class ResourceControllerTest { prepareForGet(participantId,documentId); // when then.. - String expectedUrl = "http://ec.test.eu:8443/"; + String expectedUrl = "https://ec.test.eu:8443/"; mvc.perform(get(urlPath) .header("X-Forwarded-Host", "ec.test.eu:8443") - .header("X-Forwarded-Proto", "http")) - .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, DOCUMENT_ID))); + .header("X-Forwarded-Proto", "https")) + .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, documentId))); } @Test @@ -260,7 +280,7 @@ public class ResourceControllerTest { .header("X-Forwarded-Port", "8443") .header("X-Forwarded-Host", "ec.test.eu") .header("X-Forwarded-Proto", "https")) - .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, DOCUMENT_ID))); + .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, documentId))); } @Test @@ -269,6 +289,8 @@ public class ResourceControllerTest { String participantId = UUID.randomUUID().toString(); String documentId = UUID.randomUUID().toString(); String urlPath = format("/%s::%s", IDENTIFIER_SCHEME, participantId); + + LOG.info("Create service metadata: getExistingServiceMetadataWithReverseProxySkipDefaultPortHttps [{}]", urlPath); prepareForGet(participantId,documentId); // when then.. @@ -277,7 +299,7 @@ public class ResourceControllerTest { .header("X-Forwarded-Port", "443") .header("X-Forwarded-Host", "ec.test.eu") .header("X-Forwarded-Proto", "https")) - .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, DOCUMENT_ID))); + .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, documentId))); } @Test @@ -294,10 +316,11 @@ public class ResourceControllerTest { .header("X-Forwarded-Port", "80") .header("X-Forwarded-Host", "ec.test.eu") .header("X-Forwarded-Proto", "http")) - .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, DOCUMENT_ID))); + .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, documentId))); } @Test + @Ignore public void getExistingServiceMetadataWithReverseProxyPortInHost() throws Exception { //given String participantId = UUID.randomUUID().toString(); @@ -311,7 +334,7 @@ public class ResourceControllerTest { .header("X-Forwarded-Port", "8443") .header("X-Forwarded-Host", "ec.test.eu:8443") .header("X-Forwarded-Proto", "https")) - .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, DOCUMENT_ID))); + .andExpect(content().xml(generateExpectedServiceGroup(expectedUrl, IDENTIFIER_SCHEME, participantId, DOCUMENT_SCHEME, documentId))); } public String generateExpectedServiceGroup(String expectedUrl, String resourceScheme, String resourceValue, String subresourceScheme, String subresourceValue) { @@ -465,15 +488,17 @@ public class ResourceControllerTest { String xmlSG = getSampleServiceGroupBody(IDENTIFIER_SCHEME, participantId); String xmlMD = generateServiceMetadata(participantId, IDENTIFIER_SCHEME, documentId, DOCUMENT_SCHEME, "test"); // crate service group - mvc.perform(put(urlPath) + LOG.info("create service service group: [{}]", docUrlPath); + mvc.perform(put(urlPath) .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE) .with(ADMIN_CREDENTIALS) .contentType(APPLICATION_XML_VALUE) .content(xmlSG)) .andExpect(status().isCreated()); // add service metadata - mvc.perform(put(docUrlPath) + LOG.info("create service metadata: [{}]", docUrlPath); + ResultActions actions = mvc.perform(put(docUrlPath) .header(HTTP_HEADER_KEY_DOMAIN, HTTP_DOMAIN_VALUE) .with(ADMIN_CREDENTIALS) .contentType(APPLICATION_XML_VALUE) diff --git a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/test/PropertiesTestConfig.java b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/test/PropertiesTestConfig.java index 54ca933cb7a3ed6d5d1e42f53783400876264b06..856a813f1d4e1d9a55a9c83b8a1ee096f5a7ac95 100644 --- a/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/test/PropertiesTestConfig.java +++ b/smp-webapp/src/test/java/eu/europa/ec/edelivery/smp/test/PropertiesTestConfig.java @@ -56,7 +56,6 @@ public class PropertiesTestConfig { //System.setProperty("spring.jpa.properties.hibernate.format_sql", "true"); System.setProperty("logging.level.org.hibernate.type", "trace"); - System.setProperty(KEYSTORE_PASSWORD.getProperty(), "{DEC}{test123}"); System.setProperty(TRUSTSTORE_PASSWORD.getProperty(), "{DEC}{test123}"); System.setProperty(PARTC_SCH_MANDATORY.getProperty(), "false"); diff --git a/smp-webapp/src/test/resources/webapp_integration_test_data.sql b/smp-webapp/src/test/resources/webapp_integration_test_data.sql index 2bb475c36d25f2184c5a25d9f7ff07576624aff5..850c4356bbfa629a802d799d14605f8b6cacf3fc 100644 --- a/smp-webapp/src/test/resources/webapp_integration_test_data.sql +++ b/smp-webapp/src/test/resources/webapp_integration_test_data.sql @@ -1,3 +1,5 @@ +-- because h2 "ID bigint generated by default as identity", is not detecting used ids (throws primary key vialation ) +-- use negative values for preset ids insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) values ('encryption.key.filename','encryptionKey.key', NOW(), NOW()); insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) values ('smp.keystore.password', 'FarFJE2WUfY39SVRTFOqSg==', NOW(), NOW()); @@ -124,31 +126,31 @@ insert into SMP_DOMAIN_RESOURCE_DEF (ID, FK_RESOURCE_DEF_ID, FK_DOMAIN_ID,CREATE -- ---------------------------------- -- add documents insert into SMP_DOCUMENT (ID, CURRENT_VERSION, MIME_TYPE, NAME,CREATED_ON, LAST_UPDATED_ON) values -(1, 1, 'application/xml', 'service-group', NOW(), NOW()), -(2, 1, 'application/xml', 'service-group', NOW(), NOW()), -(3, 1, 'application/xml', 'service-metadata', NOW(), NOW()); +(-1, 1, 'application/xml', 'service-group', NOW(), NOW()), +(-2, 1, 'application/xml', 'service-group', NOW(), NOW()), +(-3, 1, 'application/xml', 'service-metadata', NOW(), NOW()); insert into SMP_DOCUMENT_VERSION (ID, FK_DOCUMENT_ID, VERSION, DOCUMENT_CONTENT, CREATED_ON, LAST_UPDATED_ON) values -(1, 1, 1, '<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"><ParticipantIdentifier scheme="iso6523-actorid-upis">0088:777002abzz777</ParticipantIdentifier><ServiceMetadataReferenceCollection/></ServiceGroup>' , NOW(), NOW()), -(2, 2, 1, '<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"><ParticipantIdentifier scheme="iso6523-actorid-upis">0088:777002abzz777</ParticipantIdentifier><ServiceMetadataReferenceCollection/></ServiceGroup>' , NOW(), NOW()), -(3, 3, 1, FILE_READ('classpath:/input/ServiceMetadata.xml') , NOW(), NOW()); +(-1, -1, 1, '<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"><ParticipantIdentifier scheme="iso6523-actorid-upis">0088:777002abzz777</ParticipantIdentifier><ServiceMetadataReferenceCollection/></ServiceGroup>' , NOW(), NOW()), +(-2, -2, 1, '<ServiceGroup xmlns="http://docs.oasis-open.org/bdxr/ns/SMP/2016/05"><ParticipantIdentifier scheme="iso6523-actorid-upis">0088:777002abzz777</ParticipantIdentifier><ServiceMetadataReferenceCollection/></ServiceGroup>' , NOW(), NOW()), +(-3, -3, 1, FILE_READ('classpath:/input/ServiceMetadata.xml') , NOW(), NOW()); insert into SMP_RESOURCE ( ID, FK_GROUP_ID, FK_DOCUMENT_ID, FK_DOREDEF_ID, IDENTIFIER_SCHEME, IDENTIFIER_VALUE, SML_REGISTERED, VISIBILITY, CREATED_ON, LAST_UPDATED_ON) values -(100000, 1, 1, 1, 'ehealth-actorid-qns', 'urn:australia:ncpb', 0, 'PUBLIC', NOW(), NOW()), -(200000, 1, 2, 1, 'ehealth-actorid-qns', 'urn:brazil:ncpb', 0, 'PUBLIC', NOW(), NOW()); +(-1, 1, -1, 1, 'ehealth-actorid-qns', 'urn:australia:ncpb', 0, 'PUBLIC', NOW(), NOW()), +(-2, 1, -2, 1, 'ehealth-actorid-qns', 'urn:brazil:ncpb', 0, 'PUBLIC', NOW(), NOW()); insert into SMP_SUBRESOURCE (ID, FK_RESOURCE_ID,FK_SUREDEF_ID, FK_DOCUMENT_ID, IDENTIFIER_SCHEME, IDENTIFIER_VALUE, CREATED_ON, LAST_UPDATED_ON) values -(1, 100000, 1, 3, 'busdox-docid-qn', 'doc_7', NOW(), NOW()); +(-1, -1, 1, -3, 'busdox-docid-qn', 'doc_7', NOW(), NOW()); insert into SMP_GROUP_MEMBER (ID, FK_GROUP_ID, FK_USER_ID, MEMBERSHIP_ROLE, CREATED_ON, LAST_UPDATED_ON) values (1, 1, 1, 'ADMIN', NOW(), NOW()); -- set ownership insert into SMP_RESOURCE_MEMBER (ID, FK_RESOURCE_ID, FK_USER_ID, MEMBERSHIP_ROLE, CREATED_ON, LAST_UPDATED_ON) values -(1, 100000, 1, 'ADMIN', NOW(), NOW()), -(2, 200000, 1, 'ADMIN', NOW(), NOW()), -(3, 100000, 5, 'ADMIN', NOW(), NOW()), -(4, 100000, 2, 'ADMIN', NOW(), NOW()), -(5, 100000, 6, 'ADMIN', NOW(), NOW()); +(-1, -1, 1, 'ADMIN', NOW(), NOW()), +(-2, -2, 1, 'ADMIN', NOW(), NOW()), +(-3, -1, 5, 'ADMIN', NOW(), NOW()), +(-4, -1, 2, 'ADMIN', NOW(), NOW()), +(-5, -1, 6, 'ADMIN', NOW(), NOW()); diff --git a/smp-webapp/src/test/resources/webapp_integration_test_data_one_domain.sql b/smp-webapp/src/test/resources/webapp_integration_test_data_one_domain.sql index 2cf0b018399194b0883b944e2d72f7de832b84bd..dcf19c585709cbec71554f4542313e468dd3d6f4 100644 --- a/smp-webapp/src/test/resources/webapp_integration_test_data_one_domain.sql +++ b/smp-webapp/src/test/resources/webapp_integration_test_data_one_domain.sql @@ -11,7 +11,7 @@ insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('configuration.dir','./target/keystores/',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('encryption.key.filename','encryptionKey.key',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.password', 'FarFJE2WUfY39SVRTFOqSg==',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); -insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.filename', 'smp-keystore.jks',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); +insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.filename', 'smp-keystore.p12',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.type', 'JKS',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('contextPath.output', 'true',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP()); insert into SMP_CONFIGURATION (PROPERTY_NAME, PROPERTY_VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.automation.authentication.external.tls.clientCert.enabled', 'true',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());