Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ public class GenerateUpgradeSQL {
DROP TABLE TypeExtension_AnyTypeClass;
DROP TABLE TypeExtension;

UPDATE SyncopeGroup SET userOwner_id=uManager_id;
UPDATE SyncopeGroup SET uManager_id=userOwner_id;
ALTER TABLE SyncopeGroup DROP COLUMN userOwner_id;
UPDATE SyncopeGroup SET groupOwner_id=gManager_id;
UPDATE SyncopeGroup SET gManager_id=groupOwner_id;
ALTER TABLE SyncopeGroup DROP COLUMN groupOwner_id;

INSERT INTO OIDCOpEntity SELECT id,json AS jwks,'{}' AS customScopes FROM OIDCJWKS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
package org.apache.syncope.core.persistence.jpa.upgrade;

import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;

import io.zonky.test.db.postgres.embedded.EmbeddedPostgres;
Expand All @@ -27,7 +28,10 @@
import java.sql.SQLException;
import java.util.function.Supplier;
import javax.sql.DataSource;
import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -40,6 +44,7 @@
import org.springframework.test.context.DynamicPropertySource;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@SpringJUnitConfig(classes = PersistenceUpgraderContext.class)
class GenerateUpgradeSQLTest {

Expand Down Expand Up @@ -88,6 +93,7 @@ static void registerTestProperties(final DynamicPropertyRegistry registry) {
@Autowired
private GenerateUpgradeSQL generateUpgradeSQL;

@Order(1)
@Test
void run() throws IOException, SQLException {
StringWriter out = new StringWriter();
Expand All @@ -100,4 +106,18 @@ void run() throws IOException, SQLException {
new ResourceDatabasePopulator(new ByteArrayResource(out.toString().getBytes())),
SYNCOPE_DS);
}

@Order(2)
@Test
void issue1986() {
JdbcTemplate jdbcTemplate = new JdbcTemplate(SYNCOPE_DS);
// root group has user owner rossini
assertEquals("1417acbe-cbf6-4277-9372-e75e04f97000",
jdbcTemplate.queryForObject("SELECT uManager_id FROM SyncopeGroup WHERE id = ?", String.class,
"37d15e4c-cdc1-460b-a591-8505c8133806"));
// child group has group owner root
assertEquals("37d15e4c-cdc1-460b-a591-8505c8133806",
jdbcTemplate.queryForObject("SELECT gManager_id FROM SyncopeGroup WHERE id = ?", String.class,
"b1f7c12d-ec83-441f-a50e-1691daaedf3b"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4352,8 +4352,8 @@ INSERT INTO public.syncopedomain VALUES ('Two', '{"_class":"org.apache.syncope.c
-- Data for Name: syncopegroup; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO public.syncopegroup VALUES ('37d15e4c-cdc1-460b-a591-8505c8133806', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, 'root', '[{"schema": "icon", "values": [{"stringValue": "niceIcon"}]}, {"schema": "show", "values": [{"booleanValue": true}]}, {"schema": "rderived_sx", "values": [{"stringValue": "sx"}]}, {"schema": "rderived_dx", "values": [{"stringValue": "dx"}]}]', 'e4c28e7a-9dbf-4ee7-9441-93812a0d4a28', NULL, NULL);
INSERT INTO public.syncopegroup VALUES ('b1f7c12d-ec83-441f-a50e-1691daaedf3b', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, 'child', '[{"schema": "icon", "values": [{"stringValue": "badIcon"}]}]', 'e4c28e7a-9dbf-4ee7-9441-93812a0d4a28', NULL, NULL);
INSERT INTO public.syncopegroup VALUES ('37d15e4c-cdc1-460b-a591-8505c8133806', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, 'root', '[{"schema": "icon", "values": [{"stringValue": "niceIcon"}]}, {"schema": "show", "values": [{"booleanValue": true}]}, {"schema": "rderived_sx", "values": [{"stringValue": "sx"}]}, {"schema": "rderived_dx", "values": [{"stringValue": "dx"}]}]', 'e4c28e7a-9dbf-4ee7-9441-93812a0d4a28', NULL, '1417acbe-cbf6-4277-9372-e75e04f97000');
INSERT INTO public.syncopegroup VALUES ('b1f7c12d-ec83-441f-a50e-1691daaedf3b', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, 'child', '[{"schema": "icon", "values": [{"stringValue": "badIcon"}]}]', 'e4c28e7a-9dbf-4ee7-9441-93812a0d4a28', '37d15e4c-cdc1-460b-a591-8505c8133806', NULL);
INSERT INTO public.syncopegroup VALUES ('29f96485-729e-4d31-88a1-6fc60e4677f3', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, 'citizen', NULL, 'e4c28e7a-9dbf-4ee7-9441-93812a0d4a28', NULL, NULL);
INSERT INTO public.syncopegroup VALUES ('8fb2d51e-c605-4e80-a72b-13ffecf1aa9a', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, 'employee', '[{"schema": "icon", "values": [{"stringValue": "icon4"}]}]', 'e4c28e7a-9dbf-4ee7-9441-93812a0d4a28', NULL, NULL);
INSERT INTO public.syncopegroup VALUES ('a3c1a693-a6be-483f-a2b3-5cfec146f4bf', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, '2010-10-20 10:00:00+00', 'admin', NULL, 'secretary', NULL, 'e4c28e7a-9dbf-4ee7-9441-93812a0d4a28', NULL, NULL);
Expand Down
Loading