本文整理汇总了Python中gitfs.views.current.CurrentView.release方法的典型用法代码示例。如果您正苦于以下问题:Python CurrentView.release方法的具体用法?Python CurrentView.release怎么用?Python CurrentView.release使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gitfs.views.current.CurrentView
的用法示例。
在下文中一共展示了CurrentView.release方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_mkdir
# 需要导入模块: from gitfs.views.current import CurrentView [as 别名]
# 或者: from gitfs.views.current.CurrentView import release [as 别名]
def test_mkdir(self):
from gitfs.views import current as current_view
old_mkdir = current_view.PassthroughView.mkdir
old_chmod = current_view.PassthroughView.chmod
mocked_mkdir = lambda self, path, mode: "done"
mocked_chmod = MagicMock()
mocked_chmod.return_value = None
current_view.PassthroughView.mkdir = mocked_mkdir
current_view.PassthroughView.chmod = mocked_chmod
mocked_release = MagicMock()
mocked_full_path = MagicMock()
mocked_repo = MagicMock()
mocked_full_path.return_value = "full_path"
mocked_repo._full_path = mocked_full_path
keep_path = '/path/.keep'
mode = (os.O_WRONLY | os.O_CREAT)
with patch('gitfs.views.current.os') as mocked_os:
mocked_os.path.exists.return_value = False
mocked_os.open.return_value = 10
mocked_os.O_WRONLY = os.O_WRONLY
mocked_os.O_CREAT = os.O_CREAT
current = CurrentView(repo=mocked_repo, uid=1, gid=1,
repo_path="repo_path",
ignore=CachedIgnore())
current.release = mocked_release
assert current.mkdir("/path", "mode") == "done"
mocked_full_path.assert_called_once_with(keep_path)
mocked_os.path.exists.assert_called_once_with(keep_path)
mocked_os.open.assert_called_once_with("full_path", mode)
mocked_chmod.assert_called_once_with(
keep_path,
0o644,
)
assert current.dirty == {
10: {
'message': "Create the /path directory",
'stage': True
}
}
mocked_release.assert_called_once_with(keep_path, 10)
current_view.PassthroughView.mkdir = old_mkdir
current_view.PassthroughView.chmod = old_chmod
示例2: test_release
# 需要导入模块: from gitfs.views.current import CurrentView [as 别名]
# 或者: from gitfs.views.current.CurrentView import release [as 别名]
def test_release(self):
message = "I need to stage this"
mocked_os = MagicMock()
mocked_stage = MagicMock()
mocked_os.close.return_value = 0
with patch.multiple('gitfs.views.current', os=mocked_os):
current = CurrentView(repo="repo",
repo_path="repo_path",
ignore=CachedIgnore())
current._stage = mocked_stage
current.dirty = {
4: {
'message': message
}
}
assert current.release("/path", 4) == 0
mocked_os.close.assert_called_once_with(4)
mocked_stage.assert_called_once_with(add="/path", message=message)