From 390d2fe79c6ef33c9fb2b82d0c545d835823a303 Mon Sep 17 00:00:00 2001 From: JeethJJ Date: Wed, 16 Oct 2024 10:50:41 +0530 Subject: [PATCH] Add testcase fix. --- .../mgt/dao/impl/ApplicationDAOImpl.java | 19 +++++++++++-------- .../mgt/dao/impl/ApplicationMgtDBQueries.java | 3 ++- .../ApplicationManagementServiceImplTest.java | 4 ++-- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/main/java/org/wso2/carbon/identity/application/mgt/dao/impl/ApplicationDAOImpl.java b/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/main/java/org/wso2/carbon/identity/application/mgt/dao/impl/ApplicationDAOImpl.java index c37daaf44de..dabb855da93 100644 --- a/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/main/java/org/wso2/carbon/identity/application/mgt/dao/impl/ApplicationDAOImpl.java +++ b/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/main/java/org/wso2/carbon/identity/application/mgt/dao/impl/ApplicationDAOImpl.java @@ -2107,7 +2107,7 @@ public ApplicationBasicInfo[] getApplicationBasicInfo(String filter, int offset, List filterValues = filterData.getFilterValues(); String filterString = filterData.getFilterString(); - String excludeSystemPortalsQueryString = populateSystemPortalsExcludeQuery(excludeSystemPortals); + String excludeSystemPortalsQueryString = populateSystemPortalsExcludeQuery(excludeSystemPortals, true); String databaseProductName = connection.getMetaData().getDatabaseProductName(); if (databaseProductName.contains("MySQL") @@ -2184,16 +2184,19 @@ public ApplicationBasicInfo[] getApplicationBasicInfo(String filter, int offset, /** * Get query to exclude system portals if excludeSystemPortals is true. * - * @param excludeSystemPortals Exclude system portals. - * @return + * @param excludeSystemPortals Exclude system portals. + * @param useTableNameInQuery Use the table name in query. + * @return String Query to exclude system portals. */ - private String populateSystemPortalsExcludeQuery(Boolean excludeSystemPortals) { + private String populateSystemPortalsExcludeQuery(Boolean excludeSystemPortals, Boolean useTableNameInQuery) { if (excludeSystemPortals) { + String excludeSystemPortalsQuery = useTableNameInQuery ? + ApplicationMgtDBQueries.EXCLUDE_SYSTEM_PORTALS_BY_TABLE_NAME_AND_NAME : + ApplicationMgtDBQueries.EXCLUDE_SYSTEM_PORTALS_BY_NAME; Set systemPortals = getSystemPortalsFromConfiguration(SYSTEM_PORTALS); return systemPortals.isEmpty() ? "" : - String.format(ApplicationMgtDBQueries.EXCLUDE_SYSTEM_PORTALS_BY_NAME, - systemPortals.stream() + String.format(excludeSystemPortalsQuery, systemPortals.stream() .map(s -> "'" + s + "'") .collect(Collectors.joining(", "))); } else { @@ -4061,7 +4064,7 @@ public int getCountOfApplications(String filter, Boolean excludeSystemPortals) FilterData filterData = getFilterDataForDBQuery(filter); String filterString = filterData.getFilterString(); - String excludeSystemPortalsQueryString = populateSystemPortalsExcludeQuery(excludeSystemPortals); + String excludeSystemPortalsQueryString = populateSystemPortalsExcludeQuery(excludeSystemPortals, true); try { String filterValueResolvedForSQL; @@ -4223,7 +4226,7 @@ public ApplicationBasicInfo[] getApplicationBasicInfo(int offset, int limit, Boo ResultSet appNameResultSet = null; String sqlQuery; ArrayList appInfo = new ArrayList(); - String excludeSystemPortalsQueryString = populateSystemPortalsExcludeQuery(excludeSystemPortals); + String excludeSystemPortalsQueryString = populateSystemPortalsExcludeQuery(excludeSystemPortals, false); try { String databaseProductName = connection.getMetaData().getDatabaseProductName(); diff --git a/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/main/java/org/wso2/carbon/identity/application/mgt/dao/impl/ApplicationMgtDBQueries.java b/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/main/java/org/wso2/carbon/identity/application/mgt/dao/impl/ApplicationMgtDBQueries.java index d1900e9be28..f59a91d5c78 100644 --- a/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/main/java/org/wso2/carbon/identity/application/mgt/dao/impl/ApplicationMgtDBQueries.java +++ b/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/main/java/org/wso2/carbon/identity/application/mgt/dao/impl/ApplicationMgtDBQueries.java @@ -259,7 +259,8 @@ public class ApplicationMgtDBQueries { "THUMBPRINTS, IS_FIDO_TRUSTED FROM SP_TRUSTED_APPS WHERE SP_ID = ? AND TENANT_ID = ?"; public static final String LOAD_TRUSTED_APPS_BY_PLATFORM_TYPE = "SELECT APP_IDENTIFIER, THUMBPRINTS, " + "IS_FIDO_TRUSTED FROM SP_TRUSTED_APPS WHERE PLATFORM_TYPE = ?"; - public static final String EXCLUDE_SYSTEM_PORTALS_BY_NAME = "AND SP_APP.APP_NAME NOT IN (%s)"; + public static final String EXCLUDE_SYSTEM_PORTALS_BY_TABLE_NAME_AND_NAME = "AND SP_APP.APP_NAME NOT IN (%s)"; + public static final String EXCLUDE_SYSTEM_PORTALS_BY_NAME = "AND APP_NAME NOT IN (%s)"; // DELETE queries public static final String REMOVE_APP_FROM_APPMGT_APP = "DELETE FROM SP_APP WHERE APP_NAME = ? AND TENANT_ID = ?"; diff --git a/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/test/java/org/wso2/carbon/identity/application/mgt/ApplicationManagementServiceImplTest.java b/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/test/java/org/wso2/carbon/identity/application/mgt/ApplicationManagementServiceImplTest.java index 66f632859ba..09d24fb231a 100644 --- a/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/test/java/org/wso2/carbon/identity/application/mgt/ApplicationManagementServiceImplTest.java +++ b/components/application-mgt/org.wso2.carbon.identity.application.mgt/src/test/java/org/wso2/carbon/identity/application/mgt/ApplicationManagementServiceImplTest.java @@ -113,7 +113,7 @@ import static org.wso2.carbon.identity.application.common.util.IdentityApplicationConstants.PlatformType; import static org.wso2.carbon.identity.application.common.util.IdentityApplicationConstants.TEMPLATE_ID_SP_PROPERTY_NAME; import static org.wso2.carbon.identity.application.common.util.IdentityApplicationConstants.TEMPLATE_VERSION_SP_PROPERTY_NAME; -import static org.wso2.carbon.identity.application.mgt.ApplicationConstants.APPLICATION_NAME_CONFIG_ELEMENT; +import static org.wso2.carbon.identity.application.mgt.ApplicationConstants.PORTAL_NAME_CONFIG_ELEMENT; import static org.wso2.carbon.identity.application.mgt.ApplicationConstants.SYSTEM_PORTALS; import static org.wso2.carbon.identity.application.mgt.ApplicationConstants.TRUSTED_APP_CONSENT_REQUIRED_PROPERTY; import static org.wso2.carbon.utils.multitenancy.MultitenantConstants.SUPER_TENANT_DOMAIN_NAME; @@ -505,7 +505,7 @@ private void setupExcludeSystemPortalsEnv() throws IdentityApplicationManagement OMElement mockPortalsOMElement = mock(OMElement.class); when(mockConfigParser.getConfigElement(SYSTEM_PORTALS)).thenReturn(mockOMElement); - when(mockOMElement.getChildrenWithLocalName(APPLICATION_NAME_CONFIG_ELEMENT)).thenReturn(portals); + when(mockOMElement.getChildrenWithLocalName(PORTAL_NAME_CONFIG_ELEMENT)).thenReturn(portals); when(portals.hasNext()).thenReturn(true).thenReturn(false); when(portals.next()).thenReturn(mockPortalsOMElement); when(mockPortalsOMElement.getText()).thenReturn(APPLICATION_NAME_3);