test_class.declarator: tagRestController
test_class.modifier: @InjectMocks
      private
test_class.original_string: @InjectMocks
      private TagRestController tagRestController;
test_class.type: TagRestController
test_class.var_name: tagRestController
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-rest/src/test/java/org/finra/herd/rest/TagRestControllerTest.java
test_class.identifier: TagRestControllerTest
test_class.superclass: extends AbstractRestTest
test_case.body: @Test
      public void testUpdateTag()
      {
          // Create a parent tag key.
          TagKey parentTagKey = new TagKey(TAG_TYPE, TAG_CODE);
          TagUpdateRequest request = new TagUpdateRequest(TAG_DISPLAY_NAME_3, TAG_SEARCH_SCORE_MULTIPLIER_3, TAG_DESCRIPTION_3, parentTagKey);
  
          // Create a tag key.
          TagKey tagKey = new TagKey(TAG_TYPE, TAG_CODE_2);
          Tag tag = getNewTag(tagKey);
  
          when(tagService.updateTag(tagKey, request)).thenReturn(tag);
          // Update the tag.
          Tag updatedTag = tagRestController.updateTag(TAG_TYPE, TAG_CODE_2, request);
  
          // Verify the external calls.
          verify(tagService).updateTag(tagKey, request);
          verifyNoMoreInteractions(tagService);
  
          // Validate the returned object.
          assertEquals(tag, updatedTag);
          ;
      }
test_case.class_method_signature: TagRestControllerTest.testUpdateTag()
test_case.full_signature: @Test public void testUpdateTag()
test_case.identifier: testUpdateTag
test_case.invocations: getNewTag thenReturn when updateTag updateTag updateTag verify verifyNoMoreInteractions assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testUpdateTag()
focal_class.declarator: TAGS_URI_PREFIX = "/tags"
focal_class.modifier: public final static
focal_class.original_string: public final static String TAGS_URI_PREFIX = "/tags";
focal_class.type: String
focal_class.var_name: TAGS_URI_PREFIX
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-rest/src/main/java/org/finra/herd/rest/TagRestController.java
focal_class.identifier: TagRestController
focal_class.class_method_signature: TagRestController.createTag(@RequestBody TagCreateRequest tagCreateRequest)
focal_class.full_signature: @RequestMapping(value = TAGS_URI_PREFIX, method = RequestMethod.POST, consumes = {"application/xml", "application/json"}) @Secured(SecurityFunctions.FN_TAGS_POST) public Tag createTag(@RequestBody TagCreateRequest tagCreateRequest)
focal_class.identifier: createTag
focal_class.modifiers: @RequestMapping(value = TAGS_URI_PREFIX, method = RequestMethod.POST, consumes = {"application/xml", "application/json"}) @Secured(SecurityFunctions.FN_TAGS_POST) public
focal_class.parameters: (@RequestBody TagCreateRequest tagCreateRequest)
focal_class.return: Tag
focal_class.signature: Tag createTag(@RequestBody TagCreateRequest tagCreateRequest)
focal_class.class_method_signature: TagRestController.deleteTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode)
focal_class.full_signature: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.DELETE) @Secured(SecurityFunctions.FN_TAGS_DELETE) public Tag deleteTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode)
focal_class.identifier: deleteTag
focal_class.modifiers: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.DELETE) @Secured(SecurityFunctions.FN_TAGS_DELETE) public
focal_class.parameters: (@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode)
focal_class.return: Tag
focal_class.signature: Tag deleteTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode)
focal_class.class_method_signature: TagRestController.getTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode)
focal_class.full_signature: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_TAGS_GET) public Tag getTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode)
focal_class.identifier: getTag
focal_class.modifiers: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_TAGS_GET) public
focal_class.parameters: (@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode)
focal_class.return: Tag
focal_class.signature: Tag getTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode)
focal_class.class_method_signature: TagRestController.getTags(@PathVariable("tagTypeCode") String tagTypeCode, @RequestParam(value = "tagCode", required = false) String tagCode)
focal_class.full_signature: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_TAGS_ALL_GET) public TagListResponse getTags(@PathVariable("tagTypeCode") String tagTypeCode, @RequestParam(value = "tagCode", required = false) String tagCode)
focal_class.identifier: getTags
focal_class.modifiers: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_TAGS_ALL_GET) public
focal_class.parameters: (@PathVariable("tagTypeCode") String tagTypeCode, @RequestParam(value = "tagCode", required = false) String tagCode)
focal_class.return: TagListResponse
focal_class.signature: TagListResponse getTags(@PathVariable("tagTypeCode") String tagTypeCode, @RequestParam(value = "tagCode", required = false) String tagCode)
focal_class.class_method_signature: TagRestController.searchTags(@RequestBody TagSearchRequest request,
          @RequestParam(value = "fields", required = false, defaultValue = "") Set<String> fields)
focal_class.full_signature: @RequestMapping(value = TAGS_URI_PREFIX + "/search", method = RequestMethod.POST, consumes = {"application/xml", "application/json"}) @Secured(SecurityFunctions.FN_TAGS_SEARCH_POST) public TagSearchResponse searchTags(@RequestBody TagSearchRequest request,
          @RequestParam(value = "fields", required = false, defaultValue = "") Set<String> fields)
focal_class.identifier: searchTags
focal_class.modifiers: @RequestMapping(value = TAGS_URI_PREFIX + "/search", method = RequestMethod.POST, consumes = {"application/xml", "application/json"}) @Secured(SecurityFunctions.FN_TAGS_SEARCH_POST) public
focal_class.parameters: (@RequestBody TagSearchRequest request,
          @RequestParam(value = "fields", required = false, defaultValue = "") Set<String> fields)
focal_class.return: TagSearchResponse
focal_class.signature: TagSearchResponse searchTags(@RequestBody TagSearchRequest request,
          @RequestParam(value = "fields", required = false, defaultValue = "") Set<String> fields)
focal_class.class_method_signature: TagRestController.updateTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode,
          @RequestBody TagUpdateRequest tagUpdateRequest)
focal_class.full_signature: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.PUT, consumes = {"application/xml", "application/json"}) @Secured(SecurityFunctions.FN_TAGS_PUT) public Tag updateTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode,
          @RequestBody TagUpdateRequest tagUpdateRequest)
focal_class.identifier: updateTag
focal_class.modifiers: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.PUT, consumes = {"application/xml", "application/json"}) @Secured(SecurityFunctions.FN_TAGS_PUT) public
focal_class.parameters: (@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode,
          @RequestBody TagUpdateRequest tagUpdateRequest)
focal_class.return: Tag
focal_class.signature: Tag updateTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode,
          @RequestBody TagUpdateRequest tagUpdateRequest)
focal_method.body: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.PUT,
          consumes = {"application/xml", "application/json"})
      @Secured(SecurityFunctions.FN_TAGS_PUT)
      public Tag updateTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode,
          @RequestBody TagUpdateRequest tagUpdateRequest)
      {
          TagKey tagKey = new TagKey(tagTypeCode, tagCode);
          return tagService.updateTag(tagKey, tagUpdateRequest);
      }
focal_method.class_method_signature: TagRestController.updateTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode,
          @RequestBody TagUpdateRequest tagUpdateRequest)
focal_method.full_signature: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.PUT, consumes = {"application/xml", "application/json"}) @Secured(SecurityFunctions.FN_TAGS_PUT) public Tag updateTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode,
          @RequestBody TagUpdateRequest tagUpdateRequest)
focal_method.identifier: updateTag
focal_method.invocations: updateTag
focal_method.modifiers: @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.PUT, consumes = {"application/xml", "application/json"}) @Secured(SecurityFunctions.FN_TAGS_PUT) public
focal_method.parameters: (@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode,
          @RequestBody TagUpdateRequest tagUpdateRequest)
focal_method.return: Tag
focal_method.signature: Tag updateTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode,
          @RequestBody TagUpdateRequest tagUpdateRequest)