Make the getFiles and getFilesWithMetadata safer

From https://mattermost.web.cern.ch/lhcb/pl/yacxb5umc7nubb4hnizcscs9nh:

Currently the testing code does this:

(Pdb) bkQueryDict
{'FileType': 'DIGI', 'EventType': '13104051', 'ConfigName': 'MC', 'ConfigVersion': 'Dev', 'DataTakingConditions': 'Beam6800GeV-expected-2024-MagDown-Nu7.6-25ns-Pythia8', 'ProcessingPass': 'Sim10c', 'DataQualityFlag': 'OK'}
(Pdb) returnValueOrRaise(BookkeepingClient().getFilesWithMetadata(bkQueryDict))["TotalRecords"]
1462

However the real productions use this call to get input LFNs:

(Pdb) len(returnValueOrRaise(BookkeepingClient().getFiles(bkQueryDict)))
593

The two have a different defintion of the "bookkeeping query"... 🤦

If I set ConditionDescription in the query to be the same as DataTakingConditions

(Pdb) bkQueryDict["ConditionDescription"] = bkQueryDict["DataTakingConditions"]
(Pdb) returnValueOrRaise(BookkeepingClient().getFilesWithMetadata(bkQueryDict))["TotalRecords"],  len(returnValueOrRaise(BookkeepingClient().getFiles(bkQueryDict)))
(593, 593)

@azhelezo I fear we can't change the behavior of these but can we make it so that getFilesWithMetadata and getFiles fail with a sensible error if the query isn't formed in the way they expect?

Edited by Chris Burr