From fbcad4be4ba460702113d1519c13c5b125797e93 Mon Sep 17 00:00:00 2001 From: Shenali Date: Sat, 22 Feb 2025 20:16:48 +0530 Subject: [PATCH 1/2] Set the default action status to INACTIVE --- .../dao/impl/ActionManagementDAOImpl.java | 3 +-- .../impl/ActionManagementServiceImpl.java | 10 ++++++-- .../dao/ActionManagementDAOFacadeTest.java | 24 ++++++++++++------- .../dao/ActionManagementDAOImplTest.java | 23 ++++++++++-------- .../ActionManagementServiceImplTest.java | 24 ++++++++++--------- 5 files changed, 50 insertions(+), 34 deletions(-) diff --git a/components/action-mgt/org.wso2.carbon.identity.action.management/src/main/java/org/wso2/carbon/identity/action/management/internal/dao/impl/ActionManagementDAOImpl.java b/components/action-mgt/org.wso2.carbon.identity.action.management/src/main/java/org/wso2/carbon/identity/action/management/internal/dao/impl/ActionManagementDAOImpl.java index b5af86712e56..6bdbbbe61720 100644 --- a/components/action-mgt/org.wso2.carbon.identity.action.management/src/main/java/org/wso2/carbon/identity/action/management/internal/dao/impl/ActionManagementDAOImpl.java +++ b/components/action-mgt/org.wso2.carbon.identity.action.management/src/main/java/org/wso2/carbon/identity/action/management/internal/dao/impl/ActionManagementDAOImpl.java @@ -212,8 +212,7 @@ private void addBasicInfo(ActionDTO actionDTO, Integer tenantId) throws ActionMg statement.setString(ActionMgtSQLConstants.Column.ACTION_NAME, actionDTO.getName()); statement.setString(ActionMgtSQLConstants.Column.ACTION_DESCRIPTION, actionDTO.getDescription()); - statement.setString(ActionMgtSQLConstants.Column.ACTION_STATUS, - String.valueOf(Action.Status.ACTIVE)); + statement.setString(ActionMgtSQLConstants.Column.ACTION_STATUS, actionDTO.getStatus().name()); statement.setInt(ActionMgtSQLConstants.Column.TENANT_ID, tenantId); statement.setString(ActionMgtSQLConstants.Column.SCHEMA_VERSION, V1); }, actionDTO, false)); diff --git a/components/action-mgt/org.wso2.carbon.identity.action.management/src/main/java/org/wso2/carbon/identity/action/management/internal/service/impl/ActionManagementServiceImpl.java b/components/action-mgt/org.wso2.carbon.identity.action.management/src/main/java/org/wso2/carbon/identity/action/management/internal/service/impl/ActionManagementServiceImpl.java index 56af3f9cfd02..2be9951332bf 100644 --- a/components/action-mgt/org.wso2.carbon.identity.action.management/src/main/java/org/wso2/carbon/identity/action/management/internal/service/impl/ActionManagementServiceImpl.java +++ b/components/action-mgt/org.wso2.carbon.identity.action.management/src/main/java/org/wso2/carbon/identity/action/management/internal/service/impl/ActionManagementServiceImpl.java @@ -401,6 +401,10 @@ private void doEndpointAuthenticationValidation(Authentication authentication) t private ActionDTO buildActionDTO(String actionType, String actionId, Action action) { + Action.ActionTypes resolvedActionType = Action.ActionTypes.valueOf(actionType); + Action.Status resolvedStatus = resolvedActionType.getCategory() == Action.ActionTypes.Category.IN_FLOW ? + Action.Status.ACTIVE : Action.Status.INACTIVE; + ActionConverter actionConverter = ActionConverterFactory.getActionConverter(Action.ActionTypes.valueOf(actionType)); if (actionConverter != null) { @@ -408,13 +412,15 @@ private ActionDTO buildActionDTO(String actionType, String actionId, Action acti return new ActionDTOBuilder(actionDTO) .id(actionId) - .type(Action.ActionTypes.valueOf(actionType)) + .type(resolvedActionType) + .status(resolvedStatus) .build(); } return new ActionDTOBuilder(action) .id(actionId) - .type(Action.ActionTypes.valueOf(actionType)) + .type(resolvedActionType) + .status(resolvedStatus) .build(); } diff --git a/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOFacadeTest.java b/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOFacadeTest.java index b2307505e3e9..ac658bbc343f 100644 --- a/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOFacadeTest.java +++ b/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOFacadeTest.java @@ -302,6 +302,16 @@ public void testUpdateCompleteAction() throws ActionMgtException { } @Test(priority = 8) + public void testActivateAction() throws ActionMgtException { + + Assert.assertEquals(actionDTORetrieved.getStatus(), Action.Status.INACTIVE); + ActionDTO activatedActionDTO = daoFacade.activateAction(PRE_UPDATE_PASSWORD_TYPE, actionDTORetrieved.getId(), + TENANT_ID); + Assert.assertEquals(activatedActionDTO.getStatus(), Action.Status.ACTIVE); + actionDTORetrieved = activatedActionDTO; + } + + @Test(priority = 9) public void testDeactivateAction() throws ActionMgtException { Assert.assertEquals(actionDTORetrieved.getStatus(), Action.Status.ACTIVE); @@ -311,14 +321,6 @@ public void testDeactivateAction() throws ActionMgtException { Assert.assertEquals(deactivatedActionDTO.getStatus(), Action.Status.INACTIVE); } - @Test(priority = 9) - public void testActivateAction() throws ActionMgtException { - - ActionDTO activatedActionDTO = daoFacade.activateAction(PRE_UPDATE_PASSWORD_TYPE, actionDTORetrieved.getId(), - TENANT_ID); - Assert.assertEquals(activatedActionDTO.getStatus(), Action.Status.ACTIVE); - } - @Test(priority = 10) public void testGetActionsCountPerType() throws ActionMgtException { @@ -330,6 +332,9 @@ public void testGetActionsCountPerType() throws ActionMgtException { @Test(priority = 11) public void testDeleteAction() throws ActionMgtException { + actionDTORetrieved = daoFacade.getActionByActionId(PRE_UPDATE_PASSWORD_TYPE, actionDTORetrieved.getId(), + TENANT_ID); + mockActionPropertyResolver(testActionPropertyResolver); try { daoFacade.deleteAction(actionDTORetrieved, TENANT_ID); @@ -579,6 +584,7 @@ private ActionDTOBuilder createActionDTOBuilderForPasswordUpdateAction() { .type(Action.ActionTypes.PRE_UPDATE_PASSWORD) .name(TEST_ACTION_NAME) .description(TEST_ACTION_DESCRIPTION) + .status(Action.Status.INACTIVE) .endpoint(new EndpointConfig.EndpointConfigBuilder() .uri(TEST_ACTION_URI) .authentication(TestUtil.buildMockBasicAuthentication(TEST_USERNAME, TEST_PASSWORD)) @@ -594,7 +600,7 @@ private void verifyActionDTO(ActionDTO actualActionDTO, ActionDTO expectedAction Assert.assertEquals(actualActionDTO.getType(), expectedActionDTO.getType()); Assert.assertEquals(actualActionDTO.getName(), expectedActionDTO.getName()); Assert.assertEquals(actualActionDTO.getDescription(), expectedActionDTO.getDescription()); - Assert.assertEquals(actualActionDTO.getStatus(), Action.Status.ACTIVE); + Assert.assertEquals(actualActionDTO.getStatus(), Action.Status.INACTIVE); Assert.assertEquals(actualActionDTO.getEndpoint().getUri(), expectedActionDTO.getEndpoint().getUri()); Authentication createdAuthentication = actualActionDTO.getEndpoint().getAuthentication(); diff --git a/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOImplTest.java b/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOImplTest.java index 50370897e182..6982c5c20816 100644 --- a/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOImplTest.java +++ b/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOImplTest.java @@ -69,6 +69,7 @@ public void testAddAction() throws ActionMgtException { .type(Action.ActionTypes.PRE_ISSUE_ACCESS_TOKEN) .name(TestUtil.TEST_ACTION_NAME) .description(TestUtil.TEST_ACTION_DESCRIPTION) + .status(Action.Status.INACTIVE) .endpoint(new EndpointConfig.EndpointConfigBuilder() .uri(TestUtil.TEST_ACTION_URI) .authentication(TestUtil.buildMockBasicAuthentication(TestUtil.TEST_USERNAME_SECRET_REFERENCE, @@ -89,7 +90,7 @@ public void testAddAction() throws ActionMgtException { Assert.assertEquals(createdActionDTO.getType(), creatingActionDTO.getType()); Assert.assertEquals(createdActionDTO.getName(), creatingActionDTO.getName()); Assert.assertEquals(createdActionDTO.getDescription(), creatingActionDTO.getDescription()); - Assert.assertEquals(createdActionDTO.getStatus(), Action.Status.ACTIVE); + Assert.assertEquals(createdActionDTO.getStatus(), Action.Status.INACTIVE); Assert.assertEquals(createdActionDTO.getEndpoint().getUri(), creatingActionDTO.getEndpoint().getUri()); Authentication createdAuthentication = createdActionDTO.getEndpoint().getAuthentication(); @@ -178,6 +179,7 @@ public void testAddActionWithoutDescription() throws ActionMgtException { .id(PRE_ISSUE_ACCESS_TOKEN_ACTION_ID) .type(Action.ActionTypes.PRE_ISSUE_ACCESS_TOKEN) .name(TestUtil.TEST_ACTION_NAME) + .status(Action.Status.INACTIVE) .endpoint(new EndpointConfig.EndpointConfigBuilder() .uri(TestUtil.TEST_ACTION_URI) .authentication(TestUtil.buildMockBasicAuthentication(TestUtil.TEST_USERNAME_SECRET_REFERENCE, @@ -197,7 +199,7 @@ public void testAddActionWithoutDescription() throws ActionMgtException { Assert.assertEquals(createdActionDTO.getType(), creatingActionDTO.getType()); Assert.assertEquals(createdActionDTO.getName(), creatingActionDTO.getName()); Assert.assertNull(createdActionDTO.getDescription()); - Assert.assertEquals(createdActionDTO.getStatus(), Action.Status.ACTIVE); + Assert.assertEquals(createdActionDTO.getStatus(), Action.Status.INACTIVE); Assert.assertEquals(createdActionDTO.getEndpoint().getUri(), creatingActionDTO.getEndpoint().getUri()); Authentication createdAuthentication = createdActionDTO.getEndpoint().getAuthentication(); @@ -505,22 +507,23 @@ public void testUpdateActionProperties() throws ActionMgtException { createdActionDTO = result; } - @Test(priority = 14) - public void testDeactivateAction() throws ActionMgtException { + public void testActivateAction() throws ActionMgtException { - Assert.assertEquals(createdActionDTO.getStatus(), Action.Status.ACTIVE); - ActionDTO deactivatedActionDTO = daoImpl.deactivateAction(PRE_ISSUE_ACCESS_TOKEN_TYPE, createdActionDTO.getId(), + Assert.assertEquals(createdActionDTO.getStatus(), Action.Status.INACTIVE); + ActionDTO activatedActionDTO = daoImpl.activateAction(PRE_ISSUE_ACCESS_TOKEN_TYPE, createdActionDTO.getId(), TENANT_ID); - Assert.assertEquals(deactivatedActionDTO.getStatus(), Action.Status.INACTIVE); + Assert.assertEquals(activatedActionDTO.getStatus(), Action.Status.ACTIVE); + createdActionDTO = activatedActionDTO; } @Test(priority = 15) - public void testActivateAction() throws ActionMgtException { + public void testDeactivateAction() throws ActionMgtException { - ActionDTO activatedActionDTO = daoImpl.activateAction(PRE_ISSUE_ACCESS_TOKEN_TYPE, createdActionDTO.getId(), + Assert.assertEquals(createdActionDTO.getStatus(), Action.Status.ACTIVE); + ActionDTO deactivatedActionDTO = daoImpl.deactivateAction(PRE_ISSUE_ACCESS_TOKEN_TYPE, createdActionDTO.getId(), TENANT_ID); - Assert.assertEquals(activatedActionDTO.getStatus(), Action.Status.ACTIVE); + Assert.assertEquals(deactivatedActionDTO.getStatus(), Action.Status.INACTIVE); } @Test(priority = 16) diff --git a/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/service/ActionManagementServiceImplTest.java b/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/service/ActionManagementServiceImplTest.java index 79437fd5fe7b..910b51162423 100644 --- a/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/service/ActionManagementServiceImplTest.java +++ b/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/service/ActionManagementServiceImplTest.java @@ -116,7 +116,7 @@ public void testAddAction() throws ActionMgtException, SecretManagementException Assert.assertNotNull(sampleAction.getId()); Assert.assertEquals(sampleAction.getName(), creatingAction.getName()); Assert.assertEquals(sampleAction.getDescription(), creatingAction.getDescription()); - Assert.assertEquals(sampleAction.getStatus(), Action.Status.ACTIVE); + Assert.assertEquals(sampleAction.getStatus(), Action.Status.INACTIVE); Assert.assertEquals(sampleAction.getType(), Action.ActionTypes.PRE_ISSUE_ACCESS_TOKEN); Assert.assertEquals(sampleAction.getEndpoint().getUri(), creatingAction.getEndpoint().getUri()); @@ -248,20 +248,13 @@ public void testUpdateAction() throws ActionMgtException, SecretManagementExcept } @Test(priority = 8) - public void testDeactivateAction() throws ActionMgtException { - - Assert.assertEquals(sampleAction.getStatus(), Action.Status.ACTIVE); - Action deactivatedAction = actionManagementService.deactivateAction(PRE_ISSUE_ACCESS_TOKEN_PATH, - sampleAction.getId(), TENANT_DOMAIN); - Assert.assertEquals(deactivatedAction.getStatus(), Action.Status.INACTIVE); - } - - @Test(priority = 9) public void testActivateAction() throws ActionMgtException { + Assert.assertEquals(sampleAction.getStatus(), Action.Status.INACTIVE); Action activatedAction = actionManagementService.activateAction(PRE_ISSUE_ACCESS_TOKEN_PATH, sampleAction.getId(), TENANT_DOMAIN); Assert.assertEquals(activatedAction.getStatus(), Action.Status.ACTIVE); + sampleAction = activatedAction; } @Test(priority = 10) @@ -278,6 +271,15 @@ public void testGetActionsCountPerType() throws ActionMgtException { } } + @Test(priority = 11) + public void testDeactivateAction() throws ActionMgtException { + + Assert.assertEquals(sampleAction.getStatus(), Action.Status.ACTIVE); + Action deactivatedAction = actionManagementService.deactivateAction(PRE_ISSUE_ACCESS_TOKEN_PATH, + sampleAction.getId(), TENANT_DOMAIN); + Assert.assertEquals(deactivatedAction.getStatus(), Action.Status.INACTIVE); + } + @Test(priority = 11) public void testUpdateEndpointConfigWithSameAuthenticationType() throws ActionMgtException, SecretManagementException { @@ -347,7 +349,7 @@ public void testAddActionWithRule() throws ActionMgtException, SecretManagementE Assert.assertNotNull(sampleAction.getId()); Assert.assertEquals(sampleAction.getName(), creatingAction.getName()); Assert.assertEquals(sampleAction.getDescription(), creatingAction.getDescription()); - Assert.assertEquals(sampleAction.getStatus(), Action.Status.ACTIVE); + Assert.assertEquals(sampleAction.getStatus(), Action.Status.INACTIVE); Assert.assertEquals(sampleAction.getType(), Action.ActionTypes.PRE_ISSUE_ACCESS_TOKEN); Assert.assertEquals(sampleAction.getEndpoint().getUri(), creatingAction.getEndpoint().getUri()); From ce0b858609308adb238db2643e521c845cc0b24a Mon Sep 17 00:00:00 2001 From: Shenali Date: Sat, 22 Feb 2025 20:18:35 +0530 Subject: [PATCH 2/2] Update action status --- .../action/management/dao/ActionManagementDAOImplTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOImplTest.java b/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOImplTest.java index 6982c5c20816..47fb676714fe 100644 --- a/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOImplTest.java +++ b/components/action-mgt/org.wso2.carbon.identity.action.management/src/test/java/org/wso2/carbon/identity/action/management/dao/ActionManagementDAOImplTest.java @@ -533,6 +533,7 @@ public void testGetActionsCountPerType() throws ActionMgtException { .id(PRE_UPDATE_PASSWORD_ACTION_ID) .type(Action.ActionTypes.PRE_UPDATE_PASSWORD) .name(TestUtil.TEST_ACTION_NAME) + .status(Action.Status.INACTIVE) .endpoint(new EndpointConfig.EndpointConfigBuilder() .uri(TestUtil.TEST_ACTION_URI) .authentication(new Authentication.NoneAuthBuilder().build())