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 getStorageUnitUploadCredential()
      {
          // 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 upload credential.
          StorageUnitUploadCredential storageUnitUploadCredential = new StorageUnitUploadCredential(
              new AwsCredential(AWS_ASSUMED_ROLE_ACCESS_KEY, AWS_ASSUMED_ROLE_SECRET_KEY, AWS_ASSUMED_ROLE_SESSION_TOKEN,
                  AWS_ASSUMED_ROLE_SESSION_EXPIRATION_TIME), AWS_KMS_KEY_ID);
  
          // Mock the external calls.
          when(herdStringHelper.splitStringWithDefaultDelimiterEscaped(delimitedSubPartitionValues)).thenReturn(SUBPARTITION_VALUES);
          when(storageUnitService.getStorageUnitUploadCredential(businessObjectDataKey, null, STORAGE_NAME)).thenReturn(storageUnitUploadCredential);
  
          // Call the method under test.
          StorageUnitUploadCredential result = storageUnitRestController
              .getStorageUnitUploadCredential(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).getStorageUnitUploadCredential(businessObjectDataKey, null, STORAGE_NAME);
          verifyNoMoreInteractionsHelper();
  
          // Validate the results.
          assertEquals(storageUnitUploadCredential, result);
      }
test_case.class_method_signature: StorageUnitRestControllerTest.getStorageUnitUploadCredential()
test_case.full_signature: @Test public void getStorageUnitUploadCredential()
test_case.identifier: getStorageUnitUploadCredential
test_case.invocations: join thenReturn when splitStringWithDefaultDelimiterEscaped thenReturn when getStorageUnitUploadCredential getStorageUnitUploadCredential splitStringWithDefaultDelimiterEscaped verify getStorageUnitUploadCredential verify verifyNoMoreInteractionsHelper assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getStorageUnitUploadCredential()
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/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)
      {
          return storageUnitService.getStorageUnitUploadCredential(
              new BusinessObjectDataKey(namespace, businessObjectDefinitionName, businessObjectFormatUsage, businessObjectFormatFileType,
                  businessObjectFormatVersion, partitionValue, herdStringHelper.splitStringWithDefaultDelimiterEscaped(subPartitionValues),
                  businessObjectDataVersion), null, storageName);
      }
focal_method.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_method.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_method.identifier: getStorageUnitUploadCredential
focal_method.invocations: getStorageUnitUploadCredential splitStringWithDefaultDelimiterEscaped
focal_method.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_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: StorageUnitUploadCredential
focal_method.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)