# Path: ddsc/exceptions.py
# class DDSUserException(Exception):
#     """
#     Exception with an error message to be displayed to the user on the command line.
#     """
#     pass


from unittest import TestCase
from ddsc.exceptions import DDSUserException
from mock.mock import patch, mock_open
import math
import ddsc.config
import multiprocessing
        self.assertEqual(config.upload_workers, num_upload_workers)
        self.assertEqual(config.download_workers, int(math.ceil(num_upload_workers)))
        self.assertEqual(config.file_download_retries, ddsc.config.DEFAULT_FILE_DOWNLOAD_RETRIES)

        config.update_properties(local_config)
        self.assertEqual(config.url, 'dataservice2.com')
        self.assertEqual(config.user_key, 'cde')
        self.assertEqual(config.agent_key, '456')
        self.assertEqual(config.auth, 'secret')
        self.assertEqual(config.upload_bytes_per_chunk, 1293892)
        self.assertEqual(config.upload_workers, 45)
        self.assertEqual(config.download_workers, 44)
        self.assertEqual(config.file_download_retries, 2)

    def test_MB_chunk_convert(self):
        config = ddsc.config.Config()
        some_config = {
            'upload_bytes_per_chunk': '10MB',
            'download_bytes_per_chunk': '20MB',
        }
        config.update_properties(some_config)
        self.assertEqual(config.upload_bytes_per_chunk, 10485760)
        some_config = {
            'upload_bytes_per_chunk': '20MB',
        }
        config.update_properties(some_config)
        self.assertEqual(config.upload_bytes_per_chunk, 20971520)

    def test_get_portal_url_base(self):
        config = ddsc.config.Config()

# Path: ddsc/exceptions.py
# class DDSUserException(Exception):
#     """
#     Exception with an error message to be displayed to the user on the command line.
#     """
#     pass


# Path: ddsc/tests/test_config.py
from unittest import TestCase
from ddsc.exceptions import DDSUserException
from mock.mock import patch, mock_open
import math
import ddsc.config
import multiprocessing

        self.assertEqual(config.upload_workers, num_upload_workers)
        self.assertEqual(config.download_workers, int(math.ceil(num_upload_workers)))
        self.assertEqual(config.file_download_retries, ddsc.config.DEFAULT_FILE_DOWNLOAD_RETRIES)

        config.update_properties(local_config)
        self.assertEqual(config.url, 'dataservice2.com')
        self.assertEqual(config.user_key, 'cde')
        self.assertEqual(config.agent_key, '456')
        self.assertEqual(config.auth, 'secret')
        self.assertEqual(config.upload_bytes_per_chunk, 1293892)
        self.assertEqual(config.upload_workers, 45)
        self.assertEqual(config.download_workers, 44)
        self.assertEqual(config.file_download_retries, 2)

    def test_MB_chunk_convert(self):
        config = ddsc.config.Config()
        some_config = {
            'upload_bytes_per_chunk': '10MB',
            'download_bytes_per_chunk': '20MB',
        }
        config.update_properties(some_config)
        self.assertEqual(config.upload_bytes_per_chunk, 10485760)
        some_config = {
            'upload_bytes_per_chunk': '20MB',
        }
        config.update_properties(some_config)
        self.assertEqual(config.upload_bytes_per_chunk, 20971520)

    def test_get_portal_url_base(self):
        config = ddsc.config.Config()

        config1 = {