### Question:
AsperaTransferManager { public void checkMultiSessionAllGlobalConfig(TransferSpecs transferSpecs) { if(asperaTransferManagerConfig.isMultiSession()){ for(TransferSpec transferSpec : transferSpecs.transfer_specs) { transferSpec.setRemote_host(updateRemoteHost(transferSpec.getRemote_host())); } } } protected  AsperaTransferManager(AmazonS3 s3Client, TokenManager tokenManager, AsperaConfig asperaConfig, 
			AsperaTransferManagerConfig asperaTransferManagerConfig); Future<AsperaTransaction> upload(String bucket, File localFileName, String remoteFileName); Future<AsperaTransaction> upload(String bucket, File localFileName, String remoteFileName, AsperaConfig sessionDetails, ProgressListener progressListener); Future<AsperaTransaction> download(String bucket, File localFileName, String remoteFileName); Future<AsperaTransaction> download(String bucket, File localFileName, String remoteFileName, AsperaConfig sessionDetails, ProgressListener listenerChain); Future<AsperaTransaction> downloadDirectory(String bucketName, String virtualDirectoryKeyPrefix, File directory); Future<AsperaTransaction> downloadDirectory(String bucketName, String virtualDirectoryKeyPrefix, File directory,
			AsperaConfig sessionDetails, ProgressListener progressListener); Future<AsperaTransaction> uploadDirectory(String bucketName, String virtualDirectoryKeyPrefix, File directory,
			boolean includeSubdirectories); Future<AsperaTransaction> uploadDirectory(String bucketName, String virtualDirectoryKeyPrefix, File directory,
			boolean includeSubdirectories, AsperaConfig sessionDetails, ProgressListener progressListener); AsperaTransaction processTransfer(String transferSpecStr, String bucketName, String key, String fileName, ProgressListener progressListener); FASPConnectionInfo getFaspConnectionInfo(String bucketName); TransferSpecs getTransferSpec(FASPConnectionInfo faspConnectionInfo, String localFileName, String remoteFileName, String direction); void checkMultiSessionAllGlobalConfig(TransferSpecs transferSpecs); void modifyTransferSpec(AsperaConfig sessionDetails, TransferSpecs transferSpecs); void excludeSubdirectories(File directory, TransferSpecs transferSpecs); void shutdownThreadPools();  }### Answer:
@Test public void testRemoteHostUpdatedWhenAsperaTransferManagerConfigMultiSessionTrue() { AsperaTransferManagerConfig asperaTransferManagerConfig = new AsperaTransferManagerConfig(); asperaTransferManagerConfig.setMultiSession(true); TransferSpec transferSpec = new TransferSpec(); transferSpec.setRemote_host("mysubDomain.domain.realm"); TransferSpecs transferSpecs = new TransferSpecs(); List<TransferSpec> list = new ArrayList<TransferSpec>(); list.add(transferSpec); transferSpecs.setTransfer_specs(list); AsperaTransferManager atm = new AsperaTransferManager(mockS3Client, mockTokenManager, mockAsperaConfig, asperaTransferManagerConfig); atm.checkMultiSessionAllGlobalConfig(transferSpecs); TransferSpec modifiedTransferSpec = transferSpecs.getTransfer_specs().get(0); assertEquals("mysubDomain-all.domain.realm", modifiedTransferSpec.getRemote_host()); }
@Test public void testRemoteHostUpdatedWhenAsperaTransferManagerConfigMultiSessionFalse() { PowerMockito .when( AsperaLibraryLoader.load() ).thenReturn("/tmp"); AsperaTransferManagerConfig asperaTransferManagerConfig = new AsperaTransferManagerConfig(); asperaTransferManagerConfig.setMultiSession(false); TransferSpec transferSpec = new TransferSpec(); transferSpec.setRemote_host("mysubDomain.domain.realm"); TransferSpecs transferSpecs = new TransferSpecs(); List<TransferSpec> list = new ArrayList<TransferSpec>(); list.add(transferSpec); transferSpecs.setTransfer_specs(list); AsperaTransferManager atm = new AsperaTransferManager(mockS3Client, mockTokenManager, mockAsperaConfig, asperaTransferManagerConfig); atm.checkMultiSessionAllGlobalConfig(transferSpecs); TransferSpec modifiedTransferSpec = transferSpecs.getTransfer_specs().get(0); assertEquals("mysubDomain.domain.realm", modifiedTransferSpec.getRemote_host()); }