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 1093d07cfad0a5f600c35e1bbfa8a0068831fd63..62feb70a8242b9cfebc0f4284f4a2d3cadd504e8 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 7fe801d8ee282568e2a3dae31c9f46cab3be2121..f177f473621bd5ea81a01b2279e61570b0f57fcf 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 aa61fd3af5ccaef94db48fab41515e901bfc1b3d..936aa27e6704be9efcd843e87829199ffaf175a8 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");