示例#1
0
  def test_getFile( self ):
    """ Test the output of getFile"""
    global mocked_xrootclient
    global mocked_xrootd

    resource = XROOTStorage( 'storageName', self.parameterDict )

    statusMock = xrootStatusMock()
    statusMock.makeOk()

    mocked_xrootclient.copy.return_value = statusMock, 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.getFile( "a", "/tmp" )
    self.assertEqual( True, res['OK'] )
    self.assertEqual( {"a" :-1}, res['Value']['Successful'] )
    self.assertEqual( {}, res['Value']['Failed'] )


    # Here the sizes should not match
    statInfoMock.size = 1000
    updateStatMockReferences(infoval = statInfoMock)
    res = resource.getFile( "a", "/tmp" )
    self.assertEqual( True, res['OK'] )
    self.assertEqual( {}, res['Value']['Successful'] )
    self.assertEqual( "a", res['Value']['Failed'].keys()[0] )
    statInfoMock.size = -1


    # Here we should not be able to get the file from storage
    statusMock.makeError()
    updateStatMockReferences(statusMock)
    res = resource.getFile( "a", "/tmp" )
    self.assertEqual( True, res['OK'] )
    self.assertEqual( {}, res['Value']['Successful'] )
    self.assertEqual( "a", res['Value']['Failed'].keys()[0] )

    # Fatal error in getting the file from storage
    updateStatMockReferences(statusMock)
    statusMock.makeFatal()
    res = resource.getFile( "a", "/tmp" )
    self.assertEqual( True, res['OK'] )
    self.assertEqual( {}, res['Value']['Successful'] )
    self.assertEqual( "a", res['Value']['Failed'].keys()[0] )
示例#2
0
  def test_getFile(self):
    """ Test the output of getFile"""
    global mocked_xrootclient
    global mocked_xrootd

    resource = XROOTStorage('storageName', self.parameterDict)

    statusMock = xrootStatusMock()
    statusMock.makeOk()

    mocked_xrootclient.copy.return_value = statusMock, 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.getFile("a", "/tmp")
    self.assertEqual(True, res['OK'])
    self.assertEqual({"a": -1}, res['Value']['Successful'])
    self.assertEqual({}, res['Value']['Failed'])

    # Here the sizes should not match
    statInfoMock.size = 1000
    updateStatMockReferences(infoval=statInfoMock)
    res = resource.getFile("a", "/tmp")
    self.assertEqual(True, res['OK'])
    self.assertEqual({}, res['Value']['Successful'])
    self.assertEqual("a", res['Value']['Failed'].keys()[0])
    statInfoMock.size = -1

    # Here we should not be able to get the file from storage
    statusMock.makeError()
    updateStatMockReferences(statusMock)
    res = resource.getFile("a", "/tmp")
    self.assertEqual(True, res['OK'])
    self.assertEqual({}, res['Value']['Successful'])
    self.assertEqual("a", res['Value']['Failed'].keys()[0])

    # Fatal error in getting the file from storage
    updateStatMockReferences(statusMock)
    statusMock.makeFatal()
    res = resource.getFile("a", "/tmp")
    self.assertEqual(True, res['OK'])
    self.assertEqual({}, res['Value']['Successful'])
    self.assertEqual("a", res['Value']['Failed'].keys()[0])