From 2feb0e35613dbdf868363dc8f95c6a479ef74ef0 Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Wed, 11 Dec 2024 11:11:27 +0100
Subject: [PATCH] WIP

---
 .../main/java/at/tuwien/test/BaseTest.java    | 192 +++++++++++-------
 1 file changed, 123 insertions(+), 69 deletions(-)

diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
index b0fcead7ed..64c8bef9a5 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
+++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
@@ -157,101 +157,155 @@ import static java.time.temporal.ChronoUnit.MINUTES;
  */
 public abstract class BaseTest {
 
-    public final static String[] DEFAULT_SEMANTICS_HANDLING = new String[]{"default-semantics-handling",
-            "create-semantic-unit", "execute-semantic-query", "table-semantic-analyse", "create-semantic-concept"};
+    private String[] default_semantics_handling() {
+        return new String[]{"default-semantics-handling", "create-semantic-unit", "execute-semantic-query",
+                "table-semantic-analyse", "create-semantic-concept"};
+    }
 
-    public final static String[] DEFAULT_VIEW_HANDLING = new String[]{"update-database-view", "create-database-view",
-            "delete-database-view", "list-database-views", "modify-view-visibility", "find-database-view"};
+    private String[] default_view_handling() {
+        return new String[]{"update-database-view", "create-database-view", "delete-database-view",
+                "list-database-views", "modify-view-visibility", "find-database-view"};
+    }
 
-    public final static String[] ESCALATED_SEMANTICS_HANDLING = new String[]{"escalated-semantics-handling",
-            "update-semantic-concept", "modify-foreign-table-column-semantics", "delete-ontology", "list-ontologies",
-            "update-semantic-unit", "create-ontology", "update-ontology"};
+    private String[] escalated_semantics_handling() {
+        return new String[]{"escalated-semantics-handling", "update-semantic-concept",
+                "modify-foreign-table-column-semantics", "delete-ontology", "list-ontologies", "update-semantic-unit",
+                "create-ontology", "update-ontology"};
+    }
 
-    public final static String[] DEFAULT_CONTAINER_HANDLING = new String[]{"default-container-handling",
-            "create-container", "list-containers", "modify-container-state", "find-container"};
+    private String[] default_container_handling() {
+        return new String[]{"default-container-handling", "create-container", "list-containers",
+                "modify-container-state", "find-container"};
+    }
 
-    public final static String[] ESCALATED_CONTAINER_HANDLING = new String[]{"escalated-container-handling",
-            "modify-foreign-container-state", "delete-container"};
+    private String[] escalated_container_handling() {
+        return new String[]{"escalated-container-handling", "modify-foreign-container-state", "delete-container"};
+    }
 
-    public final static String[] DEFAULT_DATABASE_HANDLING = new String[]{"default-database-handling",
-            "update-database-access", "modify-database-visibility", "create-database", "modify-database-owner",
-            "delete-database-access", "check-database-access", "list-databases", "modify-database-image",
-            "create-database-access", "find-database", "import-database-data"};
+    private String[] default_database_handling() {
+        return new String[]{"default-database-handling", "update-database-access", "modify-database-visibility",
+                "create-database", "modify-database-owner", "delete-database-access", "check-database-access",
+                "list-databases", "modify-database-image", "create-database-access", "find-database",
+                "import-database-data"};
+    }
 
-    public final static String[] ESCALATED_DATABASE_HANDLING = new String[]{"escalated-database-handling",
-            "delete-database"};
+    private String[] escalated_database_handling() {
+        return new String[]{"escalated-database-handling", "delete-database"};
+    }
 
-    public final static String[] DEFAULT_IDENTIFIER_HANDLING = new String[]{"default-identifier-handling",
-            "create-identifier", "find-identifier", "list-identifiers", "publish-identifier", "delete-identifier"};
+    private String[] default_identifier_handling() {
+        return new String[]{"default-identifier-handling", "create-identifier", "find-identifier", "list-identifiers",
+                "publish-identifier", "delete-identifier"};
+    }
 
-    public final static String[] ESCALATED_IDENTIFIER_HANDLING = new String[]{"escalated-identifier-handling",
-            "modify-identifier-metadata", "update-foreign-identifier", "create-foreign-identifier"};
+    private String[] escalated_identifier_handling() {
+        return new String[]{"escalated-identifier-handling", "modify-identifier-metadata", "update-foreign-identifier",
+                "create-foreign-identifier"};
+    }
 
-    public final static String[] DEFAULT_QUERY_HANDLING = new String[]{"default-query-handling", "view-table-data",
-            "execute-query", "view-table-history", "list-database-views", "list-queries", "view-database-view-data",
-            "export-query-data", "find-query", "create-database-view", "delete-database-view", "delete-table-data",
-            "export-table-data", "persist-query", "re-execute-query", "insert-table-data", "find-database-view"};
+    private String[] default_query_handling() {
+        return new String[]{"default-query-handling", "view-table-data", "execute-query", "view-table-history",
+                "list-database-views", "list-queries", "view-database-view-data", "export-query-data", "find-query",
+                "create-database-view", "delete-database-view", "delete-table-data", "export-table-data",
+                "persist-query", "re-execute-query", "insert-table-data", "find-database-view"};
+    }
 
-    public final static String[] ESCALATED_QUERY_HANDLING = new String[]{"escalated-query-handling"};
+    private String[] escalated_query_handling() {
+        return new String[]{"escalated-query-handling"};
+    }
 
-    public final static String[] DEFAULT_TABLE_HANDLING = new String[]{"default-table-handling",
-            "list-tables", "create-table", "modify-table-column-semantics", "find-table", "delete-table",
-            "update-table-statistic", "update-table"};
+    private String[] default_table_handling() {
+        return new String[]{"default-table-handling", "list-tables", "create-table", "modify-table-column-semantics",
+                "find-table", "delete-table", "update-table-statistic", "update-table"};
+    }
 
-    public final static String[] ESCALATED_TABLE_HANDLING = new String[]{"escalated-table-handling",
-            "delete-foreign-table"};
+    private String[] escalated_table_handling() {
+        return new String[]{"escalated-table-handling", "delete-foreign-table"};
+    }
 
-    public final static String[] DEFAULT_USER_HANDLING = new String[]{"default-user-handling", "modify-user-theme",
-            "modify-user-information"};
+    private String[] default_user_handling() {
+        return new String[]{"default-user-handling", "modify-user-theme", "modify-user-information"};
+    }
 
-    public final static String[] ESCALATED_USER_HANDLING = new String[]{"escalated-user-handling", "find-user"};
+    private String[] escalated_user_handling() {
+        return new String[]{"escalated-user-handling", "find-user"};
+    }
 
-    public final static String[] DEFAULT_RESEARCHER_ROLES = ArrayUtils.merge(List.of(new String[]{"default-researcher-roles"},
-            DEFAULT_CONTAINER_HANDLING, DEFAULT_DATABASE_HANDLING, DEFAULT_IDENTIFIER_HANDLING, DEFAULT_QUERY_HANDLING,
-            DEFAULT_TABLE_HANDLING, DEFAULT_USER_HANDLING, DEFAULT_SEMANTICS_HANDLING, DEFAULT_VIEW_HANDLING));
+    public String[] default_researcher_roles() {
+        return ArrayUtils.merge(List.of(new String[]{"default-researcher-roles"}, default_container_handling(),
+                default_database_handling(), default_identifier_handling(), default_query_handling(),
+                default_table_handling(), default_user_handling(), default_semantics_handling(),
+                default_view_handling()));
+    }
 
-    public final static String[] DEFAULT_DEVELOPER_ROLES = ArrayUtils.merge(List.of(new String[]{"default-developer-roles"},
-            DEFAULT_CONTAINER_HANDLING, DEFAULT_DATABASE_HANDLING, DEFAULT_IDENTIFIER_HANDLING, DEFAULT_QUERY_HANDLING,
-            DEFAULT_TABLE_HANDLING, DEFAULT_USER_HANDLING, ESCALATED_USER_HANDLING, ESCALATED_CONTAINER_HANDLING,
-            ESCALATED_DATABASE_HANDLING, ESCALATED_IDENTIFIER_HANDLING, ESCALATED_QUERY_HANDLING,
-            ESCALATED_TABLE_HANDLING, DEFAULT_VIEW_HANDLING));
+    public String[] default_developer_roles() {
+        return ArrayUtils.merge(List.of(new String[]{"default-developer-roles"}, default_container_handling(),
+                default_database_handling(), default_identifier_handling(), default_query_handling(),
+                default_table_handling(), default_user_handling(), escalated_user_handling(),
+                escalated_container_handling(), escalated_database_handling(), escalated_identifier_handling(),
+                escalated_query_handling(), escalated_table_handling(), default_view_handling()));
+    }
 
-    public final static String[] DEFAULT_DATA_STEWARD_ROLES = ArrayUtils.merge(List.of(new String[]{"default-data-steward-roles"},
-            ESCALATED_IDENTIFIER_HANDLING, DEFAULT_SEMANTICS_HANDLING, ESCALATED_SEMANTICS_HANDLING, DEFAULT_VIEW_HANDLING));
+    public String[] default_data_steward_roles() {
+        return ArrayUtils.merge(List.of(new String[]{"default-data-steward-roles"}, escalated_identifier_handling(),
+                default_semantics_handling(), escalated_semantics_handling(), default_view_handling()));
+    }
 
-    public final static String[] DEFAULT_LOCAL_ADMIN_ROLES = new String[]{"admin"};
+    public String[] default_admin_roles() {
+        return new String[]{"admin"};
+    }
 
-    public final static List<GrantedAuthorityDto> AUTHORITY_LOCAL_ADMIN_ROLES = Arrays.stream(DEFAULT_LOCAL_ADMIN_ROLES)
-            .map(GrantedAuthorityDto::new)
-            .collect(Collectors.toList());
+    public List<GrantedAuthorityDto> authority_admin_roles() {
+        return Arrays.stream(default_admin_roles())
+                .map(GrantedAuthorityDto::new)
+                .collect(Collectors.toList());
+    }
 
-    public final static List<GrantedAuthorityDto> AUTHORITY_DEFAULT_RESEARCHER_ROLES = Arrays.stream(DEFAULT_RESEARCHER_ROLES)
-            .map(GrantedAuthorityDto::new)
-            .collect(Collectors.toList());
+    public List<GrantedAuthorityDto> authority_researcher_roles() {
+        return Arrays.stream(default_researcher_roles())
+                .map(GrantedAuthorityDto::new)
+                .collect(Collectors.toList());
+    }
 
-    public final static List<GrantedAuthorityDto> AUTHORITY_DEFAULT_DEVELOPER_ROLES = Arrays.stream(DEFAULT_DEVELOPER_ROLES)
-            .map(GrantedAuthorityDto::new)
-            .collect(Collectors.toList());
+    public List<GrantedAuthorityDto> authority_developer_roles() {
+        return Arrays.stream(default_developer_roles())
+                .map(GrantedAuthorityDto::new)
+                .collect(Collectors.toList());
+    }
 
-    public final static List<GrantedAuthorityDto> AUTHORITY_DEFAULT_DATA_STEWARD_ROLES = Arrays.stream(DEFAULT_DATA_STEWARD_ROLES)
-            .map(GrantedAuthorityDto::new)
-            .collect(Collectors.toList());
+    public List<GrantedAuthorityDto> authority_data_steward_roles() {
+        return Arrays.stream(default_data_steward_roles())
+                .map(GrantedAuthorityDto::new)
+                .collect(Collectors.toList());
+    }
 
-    public final static List<GrantedAuthority> AUTHORITY_DEFAULT_LOCAL_ADMIN_AUTHORITIES = AUTHORITY_LOCAL_ADMIN_ROLES.stream()
-            .map(a -> new SimpleGrantedAuthority(a.getAuthority()))
-            .collect(Collectors.toList());
+    public List<GrantedAuthority> authority_admin_authorities() {
+        return authority_researcher_roles()
+                .stream()
+                .map(a -> new SimpleGrantedAuthority(a.getAuthority()))
+                .collect(Collectors.toList());
+    }
 
-    public final static List<GrantedAuthority> AUTHORITY_DEFAULT_RESEARCHER_AUTHORITIES = AUTHORITY_DEFAULT_RESEARCHER_ROLES.stream()
-            .map(a -> new SimpleGrantedAuthority(a.getAuthority()))
-            .collect(Collectors.toList());
+    public List<GrantedAuthority> authority_researcher_authorities() {
+        return authority_researcher_roles()
+                .stream()
+                .map(a -> new SimpleGrantedAuthority(a.getAuthority()))
+                .collect(Collectors.toList());
+    }
 
-    public final static List<GrantedAuthority> AUTHORITY_DEFAULT_DEVELOPER_AUTHORITIES = AUTHORITY_DEFAULT_DEVELOPER_ROLES.stream()
-            .map(a -> new SimpleGrantedAuthority(a.getAuthority()))
-            .collect(Collectors.toList());
+    public List<GrantedAuthority> authority_developer_authorities() {
+        return authority_developer_roles()
+                .stream()
+                .map(a -> new SimpleGrantedAuthority(a.getAuthority()))
+                .collect(Collectors.toList());
+    }
 
-    public final static List<GrantedAuthority> AUTHORITY_DEFAULT_DATA_STEWARD_AUTHORITIES = AUTHORITY_DEFAULT_DATA_STEWARD_ROLES.stream()
-            .map(a -> new SimpleGrantedAuthority(a.getAuthority()))
-            .collect(Collectors.toList());
+    public List<GrantedAuthority> authority_data_steward_authorities() {
+        return authority_data_steward_roles()
+                .stream()
+                .map(a -> new SimpleGrantedAuthority(a.getAuthority()))
+                .collect(Collectors.toList());
+    }
 
     public final static UUID REALM_DBREPO_ID = UUID.fromString("6264bf7b-d1d3-4562-9c07-ce4364a8f9d3");
     public final static String REALM_DBREPO_NAME = "dbrepo";
-- 
GitLab