test_class.declarator: searchIndexUpdateJmsMessageListener
test_class.modifier: @InjectMocks
      private
test_class.original_string: @InjectMocks
      private SearchIndexUpdateJmsMessageListener searchIndexUpdateJmsMessageListener;
test_class.type: SearchIndexUpdateJmsMessageListener
test_class.var_name: searchIndexUpdateJmsMessageListener
test_class.declarator: configurationHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ConfigurationHelper configurationHelper;
test_class.type: ConfigurationHelper
test_class.var_name: configurationHelper
test_class.declarator: businessObjectDefinitionService
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private BusinessObjectDefinitionService businessObjectDefinitionService;
test_class.type: BusinessObjectDefinitionService
test_class.var_name: businessObjectDefinitionService
test_class.declarator: jsonHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private JsonHelper jsonHelper;
test_class.type: JsonHelper
test_class.var_name: jsonHelper
test_class.declarator: tagService
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private TagService tagService;
test_class.type: TagService
test_class.var_name: tagService
test_class.file: herd-code/herd-service/src/test/java/org/finra/herd/service/helper/SearchIndexUpdateJmsMessageListenerTest.java
test_class.identifier: SearchIndexUpdateJmsMessageListenerTest
test_class.superclass: extends AbstractServiceTest
test_case.body: @Test
      public void testProcessMessageOriginalMessageFormat() throws Exception
      {
          List<Long> ids = new ArrayList<>();
          SearchIndexUpdateDto searchIndexUpdateDto = new SearchIndexUpdateDto();
          searchIndexUpdateDto.setBusinessObjectDefinitionIds(ids);
          searchIndexUpdateDto.setModificationType(SEARCH_INDEX_UPDATE_TYPE_UPDATE);
  
          when(jsonHelper.unmarshallJsonToObject(SearchIndexUpdateDto.class, "PAYLOAD")).thenReturn(searchIndexUpdateDto);
  
          Map<Object, Object> allHeaders = new HashMap<>();
          allHeaders.put("jms_messageId", MESSAGE_ID);
  
          // Call the method under test
          searchIndexUpdateJmsMessageListener.processMessage("PAYLOAD", allHeaders);
  
          // Verify the calls to external methods
          verify(businessObjectDefinitionService, times(1))
              .updateSearchIndexDocumentBusinessObjectDefinition(any(SearchIndexUpdateDto.class));
      }
test_case.class_method_signature: SearchIndexUpdateJmsMessageListenerTest.testProcessMessageOriginalMessageFormat()
test_case.full_signature: @Test public void testProcessMessageOriginalMessageFormat()
test_case.identifier: testProcessMessageOriginalMessageFormat
test_case.invocations: setBusinessObjectDefinitionIds setModificationType thenReturn when unmarshallJsonToObject put processMessage updateSearchIndexDocumentBusinessObjectDefinition verify times any
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testProcessMessageOriginalMessageFormat()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(SearchIndexUpdateJmsMessageListener.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(SearchIndexUpdateJmsMessageListener.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: configurationHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private ConfigurationHelper configurationHelper;
focal_class.type: ConfigurationHelper
focal_class.var_name: configurationHelper
focal_class.declarator: businessObjectDefinitionService
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private BusinessObjectDefinitionService businessObjectDefinitionService;
focal_class.type: BusinessObjectDefinitionService
focal_class.var_name: businessObjectDefinitionService
focal_class.declarator: jsonHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private JsonHelper jsonHelper;
focal_class.type: JsonHelper
focal_class.var_name: jsonHelper
focal_class.declarator: tagService
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private TagService tagService;
focal_class.type: TagService
focal_class.var_name: tagService
focal_class.file: herd-code/herd-service/src/main/java/org/finra/herd/service/helper/SearchIndexUpdateJmsMessageListener.java
focal_class.identifier: SearchIndexUpdateJmsMessageListener
focal_class.class_method_signature: SearchIndexUpdateJmsMessageListener.controlSearchIndexUpdateJmsMessageListener()
focal_class.full_signature: @Scheduled(fixedDelay = 60000) public void controlSearchIndexUpdateJmsMessageListener()
focal_class.identifier: controlSearchIndexUpdateJmsMessageListener
focal_class.modifiers: @Scheduled(fixedDelay = 60000) public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void controlSearchIndexUpdateJmsMessageListener()
focal_class.class_method_signature: SearchIndexUpdateJmsMessageListener.processMessage(String payload, @Headers Map<Object, Object> allHeaders)
focal_class.full_signature: @JmsListener(id = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE, containerFactory = "jmsListenerContainerFactory", destination = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE) public void processMessage(String payload, @Headers Map<Object, Object> allHeaders)
focal_class.identifier: processMessage
focal_class.modifiers: @JmsListener(id = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE, containerFactory = "jmsListenerContainerFactory", destination = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE) public
focal_class.parameters: (String payload, @Headers Map<Object, Object> allHeaders)
focal_class.return: void
focal_class.signature: void processMessage(String payload, @Headers Map<Object, Object> allHeaders)
focal_class.class_method_signature: SearchIndexUpdateJmsMessageListener.processMessageWithRetry(String payload, @Headers Map<Object, Object> allHeaders)
focal_class.full_signature: @Retryable(maxAttempts = 4, value = ListenerExecutionFailedException.class, backoff = @Backoff(delay = 2000, multiplier = 2)) private void processMessageWithRetry(String payload, @Headers Map<Object, Object> allHeaders)
focal_class.identifier: processMessageWithRetry
focal_class.modifiers: @Retryable(maxAttempts = 4, value = ListenerExecutionFailedException.class, backoff = @Backoff(delay = 2000, multiplier = 2)) private
focal_class.parameters: (String payload, @Headers Map<Object, Object> allHeaders)
focal_class.return: void
focal_class.signature: void processMessageWithRetry(String payload, @Headers Map<Object, Object> allHeaders)
focal_method.body: @JmsListener(id = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE,
          containerFactory = "jmsListenerContainerFactory",
          destination = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE)
      public void processMessage(String payload, @Headers Map<Object, Object> allHeaders)
      {
          // Call the process message with retry private method.
          processMessageWithRetry(payload, allHeaders);
      }
focal_method.class_method_signature: SearchIndexUpdateJmsMessageListener.processMessage(String payload, @Headers Map<Object, Object> allHeaders)
focal_method.full_signature: @JmsListener(id = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE, containerFactory = "jmsListenerContainerFactory", destination = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE) public void processMessage(String payload, @Headers Map<Object, Object> allHeaders)
focal_method.identifier: processMessage
focal_method.invocations: processMessageWithRetry
focal_method.modifiers: @JmsListener(id = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE, containerFactory = "jmsListenerContainerFactory", destination = HerdJmsDestinationResolver.SQS_DESTINATION_SEARCH_INDEX_UPDATE_QUEUE) public
focal_method.parameters: (String payload, @Headers Map<Object, Object> allHeaders)
focal_method.return: void
focal_method.signature: void processMessage(String payload, @Headers Map<Object, Object> allHeaders)