def test_listDirectory( self ): """ Try to list the directory""" global mocked_xrootclient resource = XROOTStorage( 'storageName', self.parameterDict ) statusMock = xrootStatusMock() statusMock.makeOk() statInfoMock = xrootStatInfoMock() statInfoMock.makeDir() updateStatMockReferences( statusMock, statInfoMock ) statDir1 = xrootStatInfoMock() statDir1.makeDir() statDir1.size = 1 dir1 = xrootListEntryMock( "dir1", "host", statDir1 ) statDir2 = xrootStatInfoMock() statDir2.makeDir() statDir2.size = 2 dir2 = xrootListEntryMock( "dir2", "host", statDir2 ) statFile1 = xrootStatInfoMock() statFile1.makeFile() statFile1.size = 4 file1 = xrootListEntryMock( "file1", "host", statFile1 ) directoryListMock = xrootDirectoryListMock( "parent", [dir1, dir2, file1] ) parentdir = xrootStatInfoMock() parentdir.makeDir() setMockDirectory(directoryListMock) # We created a Directory which contains 2 subdir and 1 file res = resource.listDirectory( "A" ) self.assertEqual( True, res['OK'] ) self.assertEqual( {}, res['Value']['Failed'] ) SubDirs = res['Value']['Successful']["A"]["SubDirs"] SubFiles = res['Value']['Successful']["A"]["Files"] self.assertEqual( 2 , len( SubDirs ) ) self.assertEqual( 1 , len( SubFiles ) ) self.assertEqual( SubFiles["root://host/A/file1"]["Size"], 4 ) #Cleanup old side effect mocked_xrootclient.stat.side_effect = None # Let's try on a File. It should fail statInfoMock.makeFile() updateStatMockReferences( infoval = statInfoMock ) res = resource.listDirectory( "A" ) self.assertEqual( True, res['OK'] ) self.assertEqual( {}, res['Value']['Successful'] ) self.assertEqual( "A" , res['Value']['Failed'].keys()[0] )
def test_listDirectory(self): """ Try to list the directory""" global mocked_xrootclient resource = XROOTStorage('storageName', self.parameterDict) statusMock = xrootStatusMock() statusMock.makeOk() statInfoMock = xrootStatInfoMock() statInfoMock.makeDir() updateStatMockReferences(statusMock, statInfoMock) statDir1 = xrootStatInfoMock() statDir1.makeDir() statDir1.size = 1 dir1 = xrootListEntryMock("dir1", "host", statDir1) statDir2 = xrootStatInfoMock() statDir2.makeDir() statDir2.size = 2 dir2 = xrootListEntryMock("dir2", "host", statDir2) statFile1 = xrootStatInfoMock() statFile1.makeFile() statFile1.size = 4 file1 = xrootListEntryMock("file1", "host", statFile1) directoryListMock = xrootDirectoryListMock("parent", [dir1, dir2, file1]) parentdir = xrootStatInfoMock() parentdir.makeDir() setMockDirectory(directoryListMock) resource.se = MagicMock() voName = "A" resource.se.vo = voName # We created a Directory which contains 2 subdir and 1 file aUrl = resource.constructURLFromLFN("/A")['Value'] res = resource.listDirectory(aUrl) self.assertEqual(True, res['OK']) self.assertEqual({}, res['Value']['Failed']) SubDirs = res['Value']['Successful'][aUrl]["SubDirs"] SubFiles = res['Value']['Successful'][aUrl]["Files"] self.assertEqual(2, len(SubDirs)) self.assertEqual(1, len(SubFiles)) self.assertEqual(SubFiles["/A/file1"]["Size"], 4) #Cleanup old side effect mocked_xrootclient.stat.side_effect = None # Let's try on a File. It should fail statInfoMock.makeFile() updateStatMockReferences(infoval=statInfoMock) res = resource.listDirectory(aUrl) self.assertEqual(True, res['OK']) self.assertEqual({}, res['Value']['Successful']) self.assertEqual(aUrl, res['Value']['Failed'].keys()[0])