本文整理汇总了Python中DIRAC.Resources.Storage.XROOTStorage.XROOTStorage.putFile方法的典型用法代码示例。如果您正苦于以下问题:Python XROOTStorage.putFile方法的具体用法?Python XROOTStorage.putFile怎么用?Python XROOTStorage.putFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DIRAC.Resources.Storage.XROOTStorage.XROOTStorage
的用法示例。
在下文中一共展示了XROOTStorage.putFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_putFile
# 需要导入模块: from DIRAC.Resources.Storage.XROOTStorage import XROOTStorage [as 别名]
# 或者: from DIRAC.Resources.Storage.XROOTStorage.XROOTStorage import putFile [as 别名]
def test_putFile(self):
""" Test the output of putFile"""
global mocked_xrootclient
resource = XROOTStorage('storageName', self.parameterDict)
statusMock = xrootStatusMock()
statusMock.makeOk()
mocked_xrootclient.copy.return_value = statusMock, None
statusMkDirMock = xrootStatusMock()
statusMkDirMock.makeOk()
mocked_xrootclient.mkdir.return_value = statusMkDirMock, None
statusRmMock = xrootStatusMock()
statusRmMock.makeOk()
mocked_xrootclient.rm.return_value = statusRmMock, None
statusStatMock = xrootStatusMock()
statusStatMock.makeOk()
statInfoMock = xrootStatInfoMock()
statInfoMock.makeFile()
statInfoMock.size = 1
updateStatMockReferences(statusStatMock, statInfoMock)
# This test should be completely okay
copymock = mock.Mock()
copymock.run.return_value = (statusMock, None)
mocked_xrootd.client.CopyProcess = mock.Mock(return_value=copymock)
res = resource.putFile({"remoteA": "localA"})
self.assertEqual(True, res['OK'])
self.assertEqual({"remoteA": 1}, res['Value']['Successful'])
self.assertEqual({}, res['Value']['Failed'])
# Here the sizes should not match
statInfoMock.size = 1000
res = resource.putFile({"remoteA": "localA"})
self.assertEqual(True, res['OK'])
self.assertEqual({}, res['Value']['Successful'])
self.assertEqual("remoteA", res['Value']['Failed'].keys()[0])
statInfoMock.size = 1
# Here we should not be able to get the file from storage
statusMock.makeError()
res = resource.putFile({"remoteA": "localA"})
self.assertEqual(True, res['OK'])
self.assertEqual({}, res['Value']['Successful'])
self.assertEqual("remoteA", res['Value']['Failed'].keys()[0])
# Fatal error in getting the file from storage
statusMock.makeFatal()
res = resource.putFile({"remoteA": "localA"})
self.assertEqual(True, res['OK'])
self.assertEqual({}, res['Value']['Successful'])
self.assertEqual("remoteA", res['Value']['Failed'].keys()[0])
# Bad input
res = resource.putFile("remoteA")
self.assertEqual(False, res['OK'])
# Error, but not 3011 when checking existance of file, and then successful anyway
statusMock.makeOk()
with mock.patch.object(XROOTStorage, '_XROOTStorage__singleExists',
return_value=S_OK(S_ERROR("error checking existance "))):
res = resource.putFile({"remoteA": "localA"})
self.assertEqual(True, res['OK'])
self.assertEqual({'remoteA': 1}, res['Value']['Successful'])