test_base.py 文件源码

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

项目:lxdock 作者: lxdock 项目源码 文件源码
def test_can_copy_directory(self, mock_close, mock_add):
        class DummyGuest(Guest):
            name = 'dummy'
        guest = DummyGuest(FakeContainer())
        guest.lxd_container.files.put.return_value = True
        with tempfile.TemporaryDirectory() as d:
            os.mkdir('{}/d1'.format(d))
            os.mkdir('{}/d1/d2'.format(d))
            with open('{}/d1/f1'.format(d), 'wb') as f1:
                f1.write(b'dummy f1')
            with open('{}/d1/d2/f2'.format(d), 'wb') as f2:
                f2.write(b'dummy f2')
            with open('{}/f3'.format(d), 'wb') as f3:
                f3.write(b'dummy f3')
            guest.copy_directory(pathlib.Path(d), pathlib.PurePosixPath('/a/b/c'))

        assert mock_add.call_count == 1
        assert mock_add.call_args[0][0] == str(pathlib.Path(d))
        assert mock_add.call_args[1]['arcname'] == '.'

        assert mock_close.call_count == 1

        assert guest.lxd_container.execute.call_count == 4
        assert guest.lxd_container.execute.call_args_list[0][0] == (['mkdir', '-p', '/a/b/c'], )
        assert guest.lxd_container.execute.call_args_list[1][0] == ([
            'mkdir', '-p', str(pathlib.PurePosixPath(guest._guest_temporary_tar_path).parent)], )
        assert guest.lxd_container.execute.call_args_list[2][0] == ([
            'tar', '-xf', guest._guest_temporary_tar_path, '-C', '/a/b/c'], )
        assert guest.lxd_container.execute.call_args_list[3][0] == ([
            'rm', '-f', guest._guest_temporary_tar_path], )

        assert guest.lxd_container.files.put.call_count == 1
        assert guest.lxd_container.files.put.call_args[0][0] == guest._guest_temporary_tar_path
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号