Skip to content

Commit

Permalink
minor: 优化单元测试 TencentBlueKing#275
Browse files Browse the repository at this point in the history
  • Loading branch information
pagezz-canway committed May 21, 2019
1 parent e4e02c6 commit 51b0433
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 2 deletions.
10 changes: 10 additions & 0 deletions gcloud/tests/external_plugins/mock.py
Expand Up @@ -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'])]
Expand Down
1 change: 1 addition & 0 deletions gcloud/tests/external_plugins/mock_settings.py
Expand Up @@ -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'
Expand Down
9 changes: 7 additions & 2 deletions gcloud/tests/external_plugins/protocol/test_writers.py
Expand Up @@ -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)

0 comments on commit 51b0433

Please sign in to comment.