test_class.declarator: businessObjectDataDaoHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private BusinessObjectDataDaoHelper businessObjectDataDaoHelper;
test_class.type: BusinessObjectDataDaoHelper
test_class.var_name: businessObjectDataDaoHelper
test_class.declarator: businessObjectDataHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private BusinessObjectDataHelper businessObjectDataHelper;
test_class.type: BusinessObjectDataHelper
test_class.var_name: businessObjectDataHelper
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: expireRestoredBusinessObjectDataHelperServiceImpl
test_class.modifier: @InjectMocks
      private
test_class.original_string: @InjectMocks
      private ExpireRestoredBusinessObjectDataHelperServiceImpl expireRestoredBusinessObjectDataHelperServiceImpl;
test_class.type: ExpireRestoredBusinessObjectDataHelperServiceImpl
test_class.var_name: expireRestoredBusinessObjectDataHelperServiceImpl
test_class.declarator: s3KeyPrefixHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private S3KeyPrefixHelper s3KeyPrefixHelper;
test_class.type: S3KeyPrefixHelper
test_class.var_name: s3KeyPrefixHelper
test_class.declarator: s3Service
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private S3Service s3Service;
test_class.type: S3Service
test_class.var_name: s3Service
test_class.declarator: storageFileHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StorageFileHelper storageFileHelper;
test_class.type: StorageFileHelper
test_class.var_name: storageFileHelper
test_class.declarator: storageHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StorageHelper storageHelper;
test_class.type: StorageHelper
test_class.var_name: storageHelper
test_class.declarator: storageUnitDaoHelper
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private StorageUnitDaoHelper storageUnitDaoHelper;
test_class.type: StorageUnitDaoHelper
test_class.var_name: storageUnitDaoHelper
test_class.file: herd-code/herd-service/src/test/java/org/finra/herd/service/impl/ExpireRestoredBusinessObjectDataHelperServiceImplTest.java
test_class.identifier: ExpireRestoredBusinessObjectDataHelperServiceImplTest
test_class.superclass: extends AbstractServiceTest
test_case.body: @Test
      public void testGetStorageUnitStorageUnitNotRestored()
      {
          // Create a business object data entity.
          BusinessObjectDataEntity businessObjectDataEntity = new BusinessObjectDataEntity();
  
          // Create a storage unit status entity.
          StorageUnitStatusEntity storageUnitStatusEntity = new StorageUnitStatusEntity();
          storageUnitStatusEntity.setCode(STORAGE_UNIT_STATUS);
  
          // Create a storage unit entity.
          StorageUnitEntity storageUnitEntity = new StorageUnitEntity();
          storageUnitEntity.setStatus(storageUnitStatusEntity);
  
          // Mock the external calls.
          when(storageUnitDaoHelper.getStorageUnitEntity(STORAGE_NAME, businessObjectDataEntity)).thenReturn(storageUnitEntity);
          when(businessObjectDataHelper.businessObjectDataEntityAltKeyToString(businessObjectDataEntity)).thenReturn(BUSINESS_OBJECT_DATA_KEY_AS_STRING);
  
          // Try to call the method under test.
          try
          {
              expireRestoredBusinessObjectDataHelperServiceImpl.getStorageUnit(STORAGE_NAME, businessObjectDataEntity);
          }
          catch (IllegalArgumentException e)
          {
              assertEquals(String
                  .format("S3 storage unit in \"%s\" storage must have \"%s\" status, but it actually has \"%s\" status. Business object data: {%s}",
                      STORAGE_NAME, StorageUnitStatusEntity.RESTORED, STORAGE_UNIT_STATUS, BUSINESS_OBJECT_DATA_KEY_AS_STRING), e.getMessage());
          }
  
          // Verify the external calls.
          verify(storageUnitDaoHelper).getStorageUnitEntity(STORAGE_NAME, businessObjectDataEntity);
          verify(businessObjectDataHelper).businessObjectDataEntityAltKeyToString(businessObjectDataEntity);
          verifyNoMoreInteractionsHelper();
      }
test_case.class_method_signature: ExpireRestoredBusinessObjectDataHelperServiceImplTest.testGetStorageUnitStorageUnitNotRestored()
test_case.full_signature: @Test public void testGetStorageUnitStorageUnitNotRestored()
test_case.identifier: testGetStorageUnitStorageUnitNotRestored
test_case.invocations: setCode setStatus thenReturn when getStorageUnitEntity thenReturn when businessObjectDataEntityAltKeyToString getStorageUnit assertEquals format getMessage getStorageUnitEntity verify businessObjectDataEntityAltKeyToString verify verifyNoMoreInteractionsHelper
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetStorageUnitStorageUnitNotRestored()
focal_class.declarator: businessObjectDataDaoHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private BusinessObjectDataDaoHelper businessObjectDataDaoHelper;
focal_class.type: BusinessObjectDataDaoHelper
focal_class.var_name: businessObjectDataDaoHelper
focal_class.declarator: businessObjectDataHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private BusinessObjectDataHelper businessObjectDataHelper;
focal_class.type: BusinessObjectDataHelper
focal_class.var_name: businessObjectDataHelper
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: s3KeyPrefixHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private S3KeyPrefixHelper s3KeyPrefixHelper;
focal_class.type: S3KeyPrefixHelper
focal_class.var_name: s3KeyPrefixHelper
focal_class.declarator: s3Service
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private S3Service s3Service;
focal_class.type: S3Service
focal_class.var_name: s3Service
focal_class.declarator: storageFileHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StorageFileHelper storageFileHelper;
focal_class.type: StorageFileHelper
focal_class.var_name: storageFileHelper
focal_class.declarator: storageHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StorageHelper storageHelper;
focal_class.type: StorageHelper
focal_class.var_name: storageHelper
focal_class.declarator: storageUnitDaoHelper
focal_class.modifier: @Autowired
      private
focal_class.original_string: @Autowired
      private StorageUnitDaoHelper storageUnitDaoHelper;
focal_class.type: StorageUnitDaoHelper
focal_class.var_name: storageUnitDaoHelper
focal_class.file: herd-code/herd-service/src/main/java/org/finra/herd/service/impl/ExpireRestoredBusinessObjectDataHelperServiceImpl.java
focal_class.identifier: ExpireRestoredBusinessObjectDataHelperServiceImpl
focal_class.interfaces: implements ExpireRestoredBusinessObjectDataHelperService
focal_class.class_method_signature: ExpireRestoredBusinessObjectDataHelperServiceImpl.completeStorageUnitExpiration(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.full_signature: @PublishNotificationMessages @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public void completeStorageUnitExpiration(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.identifier: completeStorageUnitExpiration
focal_class.modifiers: @PublishNotificationMessages @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public
focal_class.parameters: (BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.return: void
focal_class.signature: void completeStorageUnitExpiration(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.class_method_signature: ExpireRestoredBusinessObjectDataHelperServiceImpl.executeS3SpecificSteps(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.full_signature: @Override @Transactional(propagation = Propagation.NOT_SUPPORTED) public void executeS3SpecificSteps(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.identifier: executeS3SpecificSteps
focal_class.modifiers: @Override @Transactional(propagation = Propagation.NOT_SUPPORTED) public
focal_class.parameters: (BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.return: void
focal_class.signature: void executeS3SpecificSteps(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.class_method_signature: ExpireRestoredBusinessObjectDataHelperServiceImpl.prepareToExpireStorageUnit(BusinessObjectDataStorageUnitKey storageUnitKey)
focal_class.full_signature: @PublishNotificationMessages @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public BusinessObjectDataRestoreDto prepareToExpireStorageUnit(BusinessObjectDataStorageUnitKey storageUnitKey)
focal_class.identifier: prepareToExpireStorageUnit
focal_class.modifiers: @PublishNotificationMessages @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public
focal_class.parameters: (BusinessObjectDataStorageUnitKey storageUnitKey)
focal_class.return: BusinessObjectDataRestoreDto
focal_class.signature: BusinessObjectDataRestoreDto prepareToExpireStorageUnit(BusinessObjectDataStorageUnitKey storageUnitKey)
focal_class.class_method_signature: ExpireRestoredBusinessObjectDataHelperServiceImpl.completeStorageUnitExpirationImpl(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.full_signature: protected void completeStorageUnitExpirationImpl(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.identifier: completeStorageUnitExpirationImpl
focal_class.modifiers: protected
focal_class.parameters: (BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.return: void
focal_class.signature: void completeStorageUnitExpirationImpl(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.class_method_signature: ExpireRestoredBusinessObjectDataHelperServiceImpl.executeS3SpecificStepsImpl(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.full_signature: protected void executeS3SpecificStepsImpl(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.identifier: executeS3SpecificStepsImpl
focal_class.modifiers: protected
focal_class.parameters: (BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.return: void
focal_class.signature: void executeS3SpecificStepsImpl(BusinessObjectDataRestoreDto businessObjectDataRestoreDto)
focal_class.class_method_signature: ExpireRestoredBusinessObjectDataHelperServiceImpl.getStorageUnit(String storageName, BusinessObjectDataEntity businessObjectDataEntity)
focal_class.full_signature: protected StorageUnitEntity getStorageUnit(String storageName, BusinessObjectDataEntity businessObjectDataEntity)
focal_class.identifier: getStorageUnit
focal_class.modifiers: protected
focal_class.parameters: (String storageName, BusinessObjectDataEntity businessObjectDataEntity)
focal_class.return: StorageUnitEntity
focal_class.signature: StorageUnitEntity getStorageUnit(String storageName, BusinessObjectDataEntity businessObjectDataEntity)
focal_class.class_method_signature: ExpireRestoredBusinessObjectDataHelperServiceImpl.prepareToExpireStorageUnitImpl(BusinessObjectDataStorageUnitKey storageUnitKey)
focal_class.full_signature: protected BusinessObjectDataRestoreDto prepareToExpireStorageUnitImpl(BusinessObjectDataStorageUnitKey storageUnitKey)
focal_class.identifier: prepareToExpireStorageUnitImpl
focal_class.modifiers: protected
focal_class.parameters: (BusinessObjectDataStorageUnitKey storageUnitKey)
focal_class.return: BusinessObjectDataRestoreDto
focal_class.signature: BusinessObjectDataRestoreDto prepareToExpireStorageUnitImpl(BusinessObjectDataStorageUnitKey storageUnitKey)
focal_method.body: protected StorageUnitEntity getStorageUnit(String storageName, BusinessObjectDataEntity businessObjectDataEntity)
      {
          // Get the storage unit and make sure it exists.
          StorageUnitEntity storageUnitEntity = storageUnitDaoHelper.getStorageUnitEntity(storageName, businessObjectDataEntity);
  
          // Get the storage unit status.
          String storageUnitStatus = storageUnitEntity.getStatus().getCode();
  
          // Validate that S3 storage unit is in RESTORED state.
          if (!StorageUnitStatusEntity.RESTORED.equals(storageUnitStatus))
          {
              throw new IllegalArgumentException(String
                  .format("S3 storage unit in \"%s\" storage must have \"%s\" status, but it actually has \"%s\" status. Business object data: {%s}", storageName,
                      StorageUnitStatusEntity.RESTORED, storageUnitStatus,
                      businessObjectDataHelper.businessObjectDataEntityAltKeyToString(businessObjectDataEntity)));
          }
  
          return storageUnitEntity;
      }
focal_method.class_method_signature: ExpireRestoredBusinessObjectDataHelperServiceImpl.getStorageUnit(String storageName, BusinessObjectDataEntity businessObjectDataEntity)
focal_method.full_signature: protected StorageUnitEntity getStorageUnit(String storageName, BusinessObjectDataEntity businessObjectDataEntity)
focal_method.identifier: getStorageUnit
focal_method.invocations: getStorageUnitEntity getCode getStatus equals format businessObjectDataEntityAltKeyToString
focal_method.modifiers: protected
focal_method.parameters: (String storageName, BusinessObjectDataEntity businessObjectDataEntity)
focal_method.return: StorageUnitEntity
focal_method.signature: StorageUnitEntity getStorageUnit(String storageName, BusinessObjectDataEntity businessObjectDataEntity)