From c6a513ca3a318c2fc5c3aca6864c38ad7a74836e Mon Sep 17 00:00:00 2001 From: AMIT KUMAR <amit.kumar@tarento.com> Date: Mon, 27 Dec 2021 18:06:12 +0530 Subject: [PATCH] Issue #SB-27874 feat:updating audit data with user declaration (#1021) * Issue #SB-27874 feat:updating audit data with user declaration --- .../UserSelfDeclarationManagementActor.java | 4 ++++ .../java/org/sunbird/util/user/UserUtil.java | 4 ++-- ...serSelfDeclarationManagementActorTest.java | 24 ++++++++++++++++++- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/service/src/main/java/org/sunbird/actor/user/UserSelfDeclarationManagementActor.java b/service/src/main/java/org/sunbird/actor/user/UserSelfDeclarationManagementActor.java index 1093d07cf..62feb70a8 100644 --- a/service/src/main/java/org/sunbird/actor/user/UserSelfDeclarationManagementActor.java +++ b/service/src/main/java/org/sunbird/actor/user/UserSelfDeclarationManagementActor.java @@ -82,6 +82,10 @@ public class UserSelfDeclarationManagementActor extends BaseActor { List<UserDeclareEntity> userDeclareEntityList = new ArrayList<>(); for (Map<String, Object> declareFieldMap : declarations) { + String custodianOrgId = DataCacheHandler.getConfigSettings().get(JsonKey.CUSTODIAN_ORG_ID); + if (((String) declareFieldMap.get(JsonKey.ORG_ID)).equalsIgnoreCase(custodianOrgId)) { + ProjectCommonException.throwClientErrorException(ResponseCode.invalidOrgId); + } UserDeclareEntity userDeclareEntity = UserUtil.createUserDeclaredObject(declareFieldMap, callerId); Map userInfo = userDeclareEntity.getUserInfo(); diff --git a/service/src/main/java/org/sunbird/util/user/UserUtil.java b/service/src/main/java/org/sunbird/util/user/UserUtil.java index 7fe801d8e..f177f4736 100644 --- a/service/src/main/java/org/sunbird/util/user/UserUtil.java +++ b/service/src/main/java/org/sunbird/util/user/UserUtil.java @@ -775,9 +775,9 @@ public class UserUtil { } userDeclareEntity.setOperation((String) declareFieldMap.get(JsonKey.OPERATION)); if (JsonKey.ADD.equals(userDeclareEntity.getOperation())) { - userDeclareEntity.setCreatedBy((String) declareFieldMap.get(JsonKey.CREATED_BY)); + userDeclareEntity.setCreatedBy(callerId); } else { - userDeclareEntity.setUpdatedBy((String) declareFieldMap.get(JsonKey.UPDATED_BY)); + userDeclareEntity.setUpdatedBy(callerId); userDeclareEntity.setStatus((String) declareFieldMap.get(JsonKey.STATUS)); } if (StringUtils.isBlank((String) declareFieldMap.get(JsonKey.STATUS))) { diff --git a/service/src/test/java/org/sunbird/actor/user/UserSelfDeclarationManagementActorTest.java b/service/src/test/java/org/sunbird/actor/user/UserSelfDeclarationManagementActorTest.java index aa61fd3af..936aa27e6 100644 --- a/service/src/test/java/org/sunbird/actor/user/UserSelfDeclarationManagementActorTest.java +++ b/service/src/test/java/org/sunbird/actor/user/UserSelfDeclarationManagementActorTest.java @@ -11,6 +11,8 @@ import akka.actor.ActorSystem; import akka.actor.Props; import akka.dispatch.Futures; import akka.testkit.javadsl.TestKit; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; @@ -56,7 +58,6 @@ import scala.concurrent.Promise; EsClientFactory.class, ElasticSearchRestHighImpl.class, UserUtil.class, - DataCacheHandler.class }) @PowerMockIgnore({ "javax.management.*", @@ -245,6 +246,27 @@ public class UserSelfDeclarationManagementActorTest { Assert.assertEquals(JsonKey.SUCCESS, response.getResult().get(JsonKey.RESPONSE)); } + @Test + public void testUpdateUserSelfDeclaredDetails() { + + TestKit probe = new TestKit(system); + ActorRef subject = system.actorOf(props); + + Request request = new Request(); + request.setOperation(ActorOperations.UPDATE_USER_DECLARATIONS.getValue()); + List<Map<String, Object>> list = new ArrayList<>(); + UserDeclareEntity userDeclareEntity = editOrgChangeUserDeclaredEntity(); + userDeclareEntity.setOrgId("anyOrgId"); + ObjectMapper mapper = new ObjectMapper(); + + list.add(mapper.convertValue(userDeclareEntity, new TypeReference<Map<String, Object>>() {})); + Map<String, Object> requestMap = new HashMap<>(); + requestMap.put(JsonKey.DECLARATIONS, list); + request.setRequest(requestMap); + subject.tell(request, probe.getRef()); + probe.expectMsgClass(duration("100 second"), ProjectCommonException.class); + } + private UserDeclareEntity addUserDeclaredEntity() { UserDeclareEntity userDeclareEntity = new UserDeclareEntity(); userDeclareEntity.setOrgId("01234848481"); -- GitLab