diff --git a/gcloud/tests/external_plugins/mock.py b/gcloud/tests/external_plugins/mock.py index 28c80fbccf..0ae472e076 100644 --- a/gcloud/tests/external_plugins/mock.py +++ b/gcloud/tests/external_plugins/mock.py @@ -102,6 +102,16 @@ def client(self, name, endpoint_url, aws_access_key_id, aws_secret_access_key): return MockBoto3Cleint(name, endpoint_url, aws_access_key_id, aws_secret_access_key, self.files) +class MockShutil(object): + def __init__(self): + self.from_path = None + self.to_path = None + + def move(self, from_path, to_path): + self.from_path = from_path + self.to_path = to_path + + def mock_os_walk(local): root = local result = [(local, None, ['file'])] diff --git a/gcloud/tests/external_plugins/mock_settings.py b/gcloud/tests/external_plugins/mock_settings.py index 096702754c..544db4462a 100644 --- a/gcloud/tests/external_plugins/mock_settings.py +++ b/gcloud/tests/external_plugins/mock_settings.py @@ -20,6 +20,7 @@ GCLOUD_EXTERNAL_PLUGINS_PROTOCOL_READERS_BOTO3 = 'gcloud.external_plugins.protocol.readers.boto3' GCLOUD_EXTERNAL_PLUGINS_PROTOCOL_READERS_REPO = 'gcloud.external_plugins.protocol.readers.Repo' GCLOUD_EXTERNAL_PLUGINS_PROTOCOL_WRITERS_BOTO3 = 'gcloud.external_plugins.protocol.writers.boto3' +GCLOUD_EXTERNAL_PLUGINS_PROTOCOL_WRITERS_SHUTIL = 'gcloud.external_plugins.protocol.writers.shutil' GCLOUD_EXTERNAL_PLUGINS_MODELS_CACHE_WRITER_CLS_FACTORY = \ 'gcloud.external_plugins.models.cache.writer_cls_factory' diff --git a/gcloud/tests/external_plugins/protocol/test_writers.py b/gcloud/tests/external_plugins/protocol/test_writers.py index 7f580c9864..e0f9256261 100644 --- a/gcloud/tests/external_plugins/protocol/test_writers.py +++ b/gcloud/tests/external_plugins/protocol/test_writers.py @@ -84,5 +84,10 @@ def setUp(self): @patch(OS_PATH_EXISTS, MagicMock(return_value=True)) @patch(SHUTIL_MOVE, MagicMock(return_value=True)) def test_write(self): - file_system_writer = FileSystemWriter(self.from_path, MagicMock(return_value='')) - file_system_writer.write() + fs_writer = FileSystemWriter(self.from_path, MagicMock(return_value='')) + + mock_shutil = MockShutil() + with patch(GCLOUD_EXTERNAL_PLUGINS_PROTOCOL_WRITERS_SHUTIL, mock_shutil): + fs_writer.write() + self.assertEquals(mock_shutil.from_path, fs_writer.from_path) + self.assertEquals(mock_shutil.to_path, fs_writer.base_source.path)