test_client_script.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:commctl 作者: projectatomic 项目源码 文件源码
def test_client_script_put(self):
        """
        Verify use cases for the client_script put requests.
        """
        sys.argv = ['']
        read_data = six.b('1234567890')
        with mock.patch('requests.Session.put') as _put, \
                mock.patch('os.path.realpath') as _realpath, \
                mock.patch(
                    'argparse.FileType.__call__',
                    mock.mock_open(read_data=read_data),
                    create=True) as _filetype:
            _realpath.return_value = self.conf
            for cmd in (
                    ['cluster', 'create'],
                    ['cluster', 'create', '-n', 'default'],
                    ['cluster', 'create', '-t', 'kubernetes'],
                    ['cluster', 'create', '-t', 'kubernetes', '-n', 'default'],
                    ['cluster', 'deploy', 'start'],
                    ['cluster', 'restart', 'start'],
                    ['cluster', 'upgrade', 'start'],
                    ['container_manager', 'create'],
                    ['container_manager', 'create', '-o', '{}'],
                    ['container_manager', 'create'],
                    ['host', 'create', '-c', 'honeynut', '1.2.3.4'],
                    ['host', 'join', '1.2.3.4'],
                    ['network', 'create', '-n', 'test']):
                mock_return = requests.Response()
                mock_return._content = six.b('{}')
                mock_return.status_code = 201
                mock_return.request = mock.MagicMock(path_url='/fake/path')
                _put.return_value = mock_return

                sys.argv[1:] = cmd + ['test']
                if cmd[1] == 'deploy':
                    sys.argv.append('1')  # arbitrary version
                print(sys.argv)
                client_script.main()
                self.assertEquals(1, _put.call_count)
                _put.reset_mock()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号