本文整理匯總了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'])