self.api = mock.MagicMock()
self.api._rootDesc = get_rootDesc()
+ def tearDown(self):
+ root_logger = logging.getLogger('')
+
+ # Remove existing RuntimeStatusLoggingHandlers if they exist
+ handlers = [h for h in root_logger.handlers if not isinstance(h, arvados_cwl.executor.RuntimeStatusLoggingHandler)]
+ root_logger.handlers = handlers
+
@mock.patch("arvados.collection.Collection")
@mock.patch("arvados.collection.CollectionReader")
def test_make_output_collection(self, reader, col):
# This output describes a single file listed in 2 different directories
_, runner.final_output_collection = runner.make_output_collection("Test output", ["foo"], "", { 'out': [
{
- 'basename': 'testdir1',
+ 'basename': 'testdir1',
'listing': [
- {
- 'basename': 'test.txt',
- 'nameroot': 'test',
- 'nameext': '.txt',
- 'location': 'keep:99999999999999999999999999999991+99/test.txt',
- 'class': 'File',
+ {
+ 'basename': 'test.txt',
+ 'nameroot': 'test',
+ 'nameext': '.txt',
+ 'location': 'keep:99999999999999999999999999999991+99/test.txt',
+ 'class': 'File',
'size': 16
}
- ],
+ ],
'location': '_:99999999999999999999999999999992+99',
'class': 'Directory'
- },
+ },
{
- 'basename': 'testdir2',
+ 'basename': 'testdir2',
'listing': [
{
- 'basename': 'test.txt',
- 'nameroot': 'test',
- 'nameext': '.txt',
- 'location': 'keep:99999999999999999999999999999991+99/test.txt',
- 'class':
- 'File',
+ 'basename': 'test.txt',
+ 'nameroot': 'test',
+ 'nameext': '.txt',
+ 'location': 'keep:99999999999999999999999999999991+99/test.txt',
+ 'class':
+ 'File',
'size': 16
}
- ],
+ ],
'location': '_:99999999999999999999999999999993+99',
'class': 'Directory'
}]})
# This output describes two literals with the same basename
_, runner.final_output_collection = runner.make_output_collection("Test output", ["foo"], "", [
- {
- 'lit':
+ {
+ 'lit':
{
- 'basename': 'a_file',
- 'nameext': '',
- 'nameroot': 'a_file',
- 'location': '_:f168fc0c-4291-40aa-a04e-366d57390560',
- 'class': 'File',
+ 'basename': 'a_file',
+ 'nameext': '',
+ 'nameroot': 'a_file',
+ 'location': '_:f168fc0c-4291-40aa-a04e-366d57390560',
+ 'class': 'File',
'contents': 'Hello file literal.'
}
},
{
- 'lit':
+ 'lit':
{
- 'basename': 'a_file',
- 'nameext': '',
- 'nameroot': 'a_file',
- 'location': '_:1728da8f-c64e-4a3e-b2e2-1ee356be7bc8',
- 'class': 'File',
+ 'basename': 'a_file',
+ 'nameext': '',
+ 'nameroot': 'a_file',
+ 'location': '_:1728da8f-c64e-4a3e-b2e2-1ee356be7bc8',
+ 'class': 'File',
'contents': 'Hello file literal.'
}
}])
# Check that the file name conflict is resolved and open is called for both
final.open.assert_any_call("a_file", "wb")
- final.open.assert_any_call("a_file_2", "wb")
\ No newline at end of file
+ final.open.assert_any_call("a_file_2", "wb")