test_class.declarator: herdStringHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private HerdStringHelper herdStringHelper;
test_class.type: HerdStringHelper
test_class.var_name: herdStringHelper
test_class.declarator: storageUnitRestController
test_class.modifier: @InjectMocks
      private
test_class.original_string: @InjectMocks
      private StorageUnitRestController storageUnitRestController;
test_class.type: StorageUnitRestController
test_class.var_name: storageUnitRestController
test_class.declarator: storageUnitService
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StorageUnitService storageUnitService;
test_class.type: StorageUnitService
test_class.var_name: storageUnitService
test_class.file: herd-code/herd-rest/src/test/java/org/finra/herd/rest/StorageUnitRestControllerTest.java
test_class.identifier: StorageUnitRestControllerTest
test_class.superclass: extends AbstractRestTest
test_case.body: @Test
      public void getStorageUnitDownloadCredential()
      {
          // Create a business object data key.
          BusinessObjectDataKey businessObjectDataKey =
              new BusinessObjectDataKey(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE, SUBPARTITION_VALUES,
                  DATA_VERSION);
  
          // Create a delimited list of sub-partition values.
          String delimitedSubPartitionValues = String.join("|", SUBPARTITION_VALUES);
  
          // Create a storage unit download credential.
          StorageUnitDownloadCredential storageUnitDownloadCredential = new StorageUnitDownloadCredential(
              new AwsCredential(AWS_ASSUMED_ROLE_ACCESS_KEY, AWS_ASSUMED_ROLE_SECRET_KEY, AWS_ASSUMED_ROLE_SESSION_TOKEN,
                  AWS_ASSUMED_ROLE_SESSION_EXPIRATION_TIME));
  
          // Mock the external calls.
          when(herdStringHelper.splitStringWithDefaultDelimiterEscaped(delimitedSubPartitionValues)).thenReturn(SUBPARTITION_VALUES);
          when(storageUnitService.getStorageUnitDownloadCredential(businessObjectDataKey, STORAGE_NAME)).thenReturn(storageUnitDownloadCredential);
  
          // Call the method under test.
          StorageUnitDownloadCredential result = storageUnitRestController
              .getStorageUnitDownloadCredential(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, PARTITION_VALUE,
                  DATA_VERSION, STORAGE_NAME, delimitedSubPartitionValues);
  
          // Verify the external calls.
          verify(herdStringHelper).splitStringWithDefaultDelimiterEscaped(delimitedSubPartitionValues);
          verify(storageUnitService).getStorageUnitDownloadCredential(businessObjectDataKey, STORAGE_NAME);
          verifyNoMoreInteractionsHelper();
  
          // Validate the results.
          assertEquals(storageUnitDownloadCredential, result);
      }
test_case.class_method_signature: StorageUnitRestControllerTest.getStorageUnitDownloadCredential()
test_case.full_signature: @Test public void getStorageUnitDownloadCredential()
test_case.identifier: getStorageUnitDownloadCredential
test_case.invocations: join thenReturn when splitStringWithDefaultDelimiterEscaped thenReturn when getStorageUnitDownloadCredential getStorageUnitDownloadCredential splitStringWithDefaultDelimiterEscaped verify getStorageUnitDownloadCredential verify verifyNoMoreInteractionsHelper assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getStorageUnitDownloadCredential()
focal_class.declarator: herdStringHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private HerdStringHelper herdStringHelper;
focal_class.type: HerdStringHelper
focal_class.var_name: herdStringHelper
focal_class.declarator: storageUnitService
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StorageUnitService storageUnitService;
focal_class.type: StorageUnitService
focal_class.var_name: storageUnitService
focal_class.file: herd-code/herd-rest/src/main/java/org/finra/herd/rest/StorageUnitRestController.java
focal_class.identifier: StorageUnitRestController
focal_class.class_method_signature: StorageUnitRestController.getStorageUnitUploadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_class.full_signature: @RequestMapping(value = "/storageUnits/upload/credential/namespaces/{namespace}/businessObjectDefinitionNames/{businessObjectDefinitionName}" + "/businessObjectFormatUsages/{businessObjectFormatUsage}/businessObjectFormatFileTypes/{businessObjectFormatFileType}" + "/businessObjectFormatVersions/{businessObjectFormatVersion}/partitionValues/{partitionValue}/businessObjectDataVersions/{businessObjectDataVersion}" + "/storageNames/{storageName}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_STORAGE_UNIT_UPLOAD_CREDENTIAL_GET) public StorageUnitUploadCredential getStorageUnitUploadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_class.identifier: getStorageUnitUploadCredential
focal_class.modifiers: @RequestMapping(value = "/storageUnits/upload/credential/namespaces/{namespace}/businessObjectDefinitionNames/{businessObjectDefinitionName}" + "/businessObjectFormatUsages/{businessObjectFormatUsage}/businessObjectFormatFileTypes/{businessObjectFormatFileType}" + "/businessObjectFormatVersions/{businessObjectFormatVersion}/partitionValues/{partitionValue}/businessObjectDataVersions/{businessObjectDataVersion}" + "/storageNames/{storageName}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_STORAGE_UNIT_UPLOAD_CREDENTIAL_GET) public
focal_class.parameters: (@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_class.return: StorageUnitUploadCredential
focal_class.signature: StorageUnitUploadCredential getStorageUnitUploadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_class.class_method_signature: StorageUnitRestController.getStorageUnitDownloadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_class.full_signature: @RequestMapping(value = "/storageUnits/download/credential/namespaces/{namespace}/businessObjectDefinitionNames/{businessObjectDefinitionName}" + "/businessObjectFormatUsages/{businessObjectFormatUsage}/businessObjectFormatFileTypes/{businessObjectFormatFileType}" + "/businessObjectFormatVersions/{businessObjectFormatVersion}/partitionValues/{partitionValue}/businessObjectDataVersions/{businessObjectDataVersion}" + "/storageNames/{storageName}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_STORAGE_UNIT_DOWNLOAD_CREDENTIAL_GET) public StorageUnitDownloadCredential getStorageUnitDownloadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_class.identifier: getStorageUnitDownloadCredential
focal_class.modifiers: @RequestMapping(value = "/storageUnits/download/credential/namespaces/{namespace}/businessObjectDefinitionNames/{businessObjectDefinitionName}" + "/businessObjectFormatUsages/{businessObjectFormatUsage}/businessObjectFormatFileTypes/{businessObjectFormatFileType}" + "/businessObjectFormatVersions/{businessObjectFormatVersion}/partitionValues/{partitionValue}/businessObjectDataVersions/{businessObjectDataVersion}" + "/storageNames/{storageName}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_STORAGE_UNIT_DOWNLOAD_CREDENTIAL_GET) public
focal_class.parameters: (@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_class.return: StorageUnitDownloadCredential
focal_class.signature: StorageUnitDownloadCredential getStorageUnitDownloadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_class.superclass: extends HerdBaseController
focal_method.body: @RequestMapping(value = "/storageUnits/download/credential/namespaces/{namespace}/businessObjectDefinitionNames/{businessObjectDefinitionName}" +
          "/businessObjectFormatUsages/{businessObjectFormatUsage}/businessObjectFormatFileTypes/{businessObjectFormatFileType}" +
          "/businessObjectFormatVersions/{businessObjectFormatVersion}/partitionValues/{partitionValue}/businessObjectDataVersions/{businessObjectDataVersion}" +
          "/storageNames/{storageName}", method = RequestMethod.GET)
      @Secured(SecurityFunctions.FN_STORAGE_UNIT_DOWNLOAD_CREDENTIAL_GET)
      public StorageUnitDownloadCredential getStorageUnitDownloadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
      {
          return storageUnitService.getStorageUnitDownloadCredential(
              new BusinessObjectDataKey(namespace, businessObjectDefinitionName, businessObjectFormatUsage, businessObjectFormatFileType,
                  businessObjectFormatVersion, partitionValue, herdStringHelper.splitStringWithDefaultDelimiterEscaped(subPartitionValues),
                  businessObjectDataVersion), storageName);
      }
focal_method.class_method_signature: StorageUnitRestController.getStorageUnitDownloadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_method.full_signature: @RequestMapping(value = "/storageUnits/download/credential/namespaces/{namespace}/businessObjectDefinitionNames/{businessObjectDefinitionName}" + "/businessObjectFormatUsages/{businessObjectFormatUsage}/businessObjectFormatFileTypes/{businessObjectFormatFileType}" + "/businessObjectFormatVersions/{businessObjectFormatVersion}/partitionValues/{partitionValue}/businessObjectDataVersions/{businessObjectDataVersion}" + "/storageNames/{storageName}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_STORAGE_UNIT_DOWNLOAD_CREDENTIAL_GET) public StorageUnitDownloadCredential getStorageUnitDownloadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_method.identifier: getStorageUnitDownloadCredential
focal_method.invocations: getStorageUnitDownloadCredential splitStringWithDefaultDelimiterEscaped
focal_method.modifiers: @RequestMapping(value = "/storageUnits/download/credential/namespaces/{namespace}/businessObjectDefinitionNames/{businessObjectDefinitionName}" + "/businessObjectFormatUsages/{businessObjectFormatUsage}/businessObjectFormatFileTypes/{businessObjectFormatFileType}" + "/businessObjectFormatVersions/{businessObjectFormatVersion}/partitionValues/{partitionValue}/businessObjectDataVersions/{businessObjectDataVersion}" + "/storageNames/{storageName}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_STORAGE_UNIT_DOWNLOAD_CREDENTIAL_GET) public
focal_method.parameters: (@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)
focal_method.return: StorageUnitDownloadCredential
focal_method.signature: StorageUnitDownloadCredential getStorageUnitDownloadCredential(@PathVariable("namespace") String namespace,
          @PathVariable("businessObjectDefinitionName") String businessObjectDefinitionName,
          @PathVariable("businessObjectFormatUsage") String businessObjectFormatUsage,
          @PathVariable("businessObjectFormatFileType") String businessObjectFormatFileType,
          @PathVariable("businessObjectFormatVersion") Integer businessObjectFormatVersion, @PathVariable("partitionValue") String partitionValue,
          @PathVariable("businessObjectDataVersion") Integer businessObjectDataVersion, @PathVariable("storageName") String storageName,
          @RequestParam(value = "subPartitionValues", required = false) String subPartitionValues)