Skip to content

Commit

Permalink
[Mosip-30241]adding trim functionality based on property (mosip#1837)
Browse files Browse the repository at this point in the history
Signed-off-by: khuddus shariff <[email protected]>
Signed-off-by: Sowmya Ujjappa Banakar <[email protected]>
  • Loading branch information
Khuddusshariff0022 authored and Sowmya Ujjappa Banakar committed Jan 30, 2024
1 parent b9c2bfd commit bd4209c
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,9 @@ public class UinGeneratorStage extends MosipVerticleAPIManager {
@Value("${uingenerator.lost.packet.allowed.update.fields:null}")
private String updateInfo;

@Value("${mosip.regproc.uin.generator.trim-whitespaces.simpleType-value:false}")
private boolean trimWhitespaces;

/** The core audit request builder. */
@Autowired
private AuditLogRequestBuilder auditLogRequestBuilder;
Expand Down Expand Up @@ -323,7 +326,6 @@ public MessageDTO process(MessageDTO object) {
description);
}
}

}
regProcLogger.info(LoggerFileConstant.SESSIONID.toString(), LoggerFileConstant.REGISTRATIONID.toString(),
registrationId, description.getMessage());
Expand Down Expand Up @@ -477,6 +479,9 @@ else if (json instanceof JSONArray) {
for (int i = 0; i < jsonArray.length(); i++) {
Object obj = jsonArray.get(i);
HashMap<String, Object> hashMap = objectMapper.readValue(obj.toString(), HashMap.class);
if(trimWhitespaces && hashMap.get("value") instanceof String) {
hashMap.put("value",((String)hashMap.get("value")).trim());
}
jsonList.add(hashMap);
}
demographicIdentity.putIfAbsent(e.getKey(), jsonList);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package io.mosip.registration.processor.stages.uigenerator;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.*;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyDouble;
import static org.mockito.ArgumentMatchers.anyList;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.*;

import java.io.ByteArrayInputStream;
import java.io.File;
Expand All @@ -15,13 +14,19 @@
import java.io.InputStream;
import java.lang.reflect.Field;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.databind.JsonNode;
import io.mosip.kernel.core.util.DateUtils;
import io.mosip.registration.processor.packet.manager.dto.IdRequestDto;
import io.mosip.registration.processor.stages.uingenerator.dto.VidResponseDto;
import org.apache.commons.io.IOUtils;
import org.assertj.core.util.Lists;
import org.json.JSONException;
Expand All @@ -30,11 +35,7 @@
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.Spy;
import org.mockito.*;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
Expand Down Expand Up @@ -2432,4 +2433,46 @@ public void testUinGenerationIDRepoDraftReprocessableException() throws Exceptio
assertTrue(result.getInternalError());
assertTrue(result.getIsValid());
}

@Test
public void testUinGenerationSuccessWithEmptyName() throws Exception {
ReflectionTestUtils.setField(uinGeneratorStage,"trimWhitespaces",true);
Map<String, String> fieldMap = new HashMap<>();
fieldMap.put("firstName","[ {\n" +
" \"language\" : \"eng\",\n" +
" \"value\" : \" \"\n" +
"} ]");
fieldMap.put("email", "[email protected]");
fieldMap.put("phone", "23456");
fieldMap.put("dob", "11/11/2011");
when(packetManagerService.getFields(any(),any(),any(),any())).thenReturn(fieldMap);
ArgumentCaptor<io.mosip.registration.processor.packet.manager.dto.IdRequestDto> argumentCaptor = ArgumentCaptor.forClass(IdRequestDto.class);

MessageDTO messageDTO = new MessageDTO();
messageDTO.setRid("27847657360002520181210094052");
messageDTO.setReg_type(RegistrationType.NEW.name());

IdResponseDTO idResponseDTO = new IdResponseDTO();
ResponseDTO responseDTO = new ResponseDTO();
responseDTO.setStatus("ACTIVATED");
idResponseDTO.setErrors(null);
idResponseDTO.setId("mosip.id.update");
idResponseDTO.setResponse(responseDTO);
idResponseDTO.setResponsetime("2019-01-17T06:29:01.940Z");
idResponseDTO.setVersion("1.0");

when(idrepoDraftService.idrepoUpdateDraft(anyString(), any(), any())).thenReturn(idResponseDTO);
when(utility.getRegistrationProcessorMappingJson(MappingJsonConstants.IDENTITY)).thenReturn(identityObj);
when(utility.getRegistrationProcessorMappingJson(MappingJsonConstants.DOCUMENT)).thenReturn(documentObj);

MessageDTO result = uinGeneratorStage.process(messageDTO);
verify(idrepoDraftService).idrepoUpdateDraft(any(), any(), argumentCaptor.capture());
ObjectMapper objectMapper = new ObjectMapper();
String jsonobject=objectMapper.writeValueAsString(argumentCaptor.getAllValues().get(0).getRequest().getIdentity());
JsonNode jsonNode=objectMapper.readTree(jsonobject);

assertEquals("",jsonNode.get("firstName").asText());
assertFalse(result.getInternalError());
assertTrue(result.getIsValid());
}
}

0 comments on commit bd4209c

Please sign in to comment.