_________________________ test_scan_saving_path[nexus] _________________________
writer = 'nexus'
session = <bliss.common.session.Session object at 0x7f2eb1eb7050>
@pytest.mark.parametrize("writer", ["hdf5", "nexus", "null"])
def test_scan_saving_path(writer, session):
scan_saving = session.scan_saving
scan_saving.template = "{session}/{scan_name}/{scan_number}"
scan_saving.data_filename = "{session}_{scan_name}_data"
scan_saving.writer = writer
base_path = os.path.join(scan_saving.base_path, "subdir")
scan_saving.base_path = base_path
assert scan_saving.base_path == base_path
assert scan_saving.template == "{session}/{scan_name}/{scan_number}"
assert scan_saving.data_filename == "{session}_{scan_name}_data"
# Test all path related methods and properties
root_path = f"{base_path}/{session.name}/{{scan_name}}/{{scan_number}}"
assert scan_saving.get_path() == root_path
assert scan_saving.root_path == root_path
images_path = f"{base_path}/{session.name}/{{scan_name}}/{{scan_number}}/scan{{scan_number}}/{{img_acq_device}}_"
assert scan_saving.images_path == images_path
data_path = f"{base_path}/{session.name}/{{scan_name}}/{{scan_number}}/{session.name}_{{scan_name}}_data"
assert scan_saving.data_path == data_path
if writer == "null":
data_fullpath = data_path + "."
else:
data_fullpath = data_path + ".h5"
assert scan_saving.data_fullpath == data_fullpath
assert scan_saving.eval_data_filename == f"{session.name}_{{scan_name}}_data"
if writer == "null":
filename = ""
else:
filename = data_fullpath
assert scan_saving.filename == filename
getdict = scan_saving.get()
getdict.pop("writer")
getdict.pop("db_path_items")
expected = {
"root_path": root_path,
"data_path": data_path,
"images_path": images_path,
}
assert getdict == expected
scan_saving_repr = """Parameters (default) -
.base_path = '{base_path}'
.data_filename = '{{session}}_{{scan_name}}_data'
.template = '{{session}}/{{scan_name}}/{{scan_number}}'
.images_path_relative = True
.images_path_template = 'scan{{scan_number}}'
.images_prefix = '{{img_acq_device}}_'
.date_format = '%Y%m%d'
.scan_number_format = '%04d'
.session = '{session}'
.date = '{date}'
.user_name = '{user_name}'
.scan_name = '{{scan_name}}'
.scan_number = '{{scan_number}}'
.img_acq_device = '<images_* only> acquisition device name'
.writer = '{writer}'
.data_policy = 'None'
.creation_date = '{creation_date}'
.last_accessed = '{last_accessed}'
-------------- --------- -----------
does not exist filename {filename}
does not exist directory {root_path}
-------------- --------- -----------""".format(
base_path=base_path,
session=session.name,
user_name=scan_saving.user_name,
date=scan_saving.date,
writer=writer,
creation_date=scan_saving.creation_date,
last_accessed=scan_saving.last_accessed,
filename=filename,
root_path=root_path,
)
expected = scan_saving_repr.split("\n")
actual = info(scan_saving).split("\n")
if writer == "null":
expected = expected[:-1]
expected[-3:] = ["---------", "NO SAVING", "---------"]
else:
add = "-" * (len(actual[-1]) - len(expected[-1]))
expected[-4] += add
expected[-1] += add
> assert actual == expected
E assert ['Parameters ... = True', ...] == ['Parameters ... = True', ...]
E At index 19 diff: " .last_accessed = '2021-07-21 23:42:12'" != " .last_accessed = '2021-07-21 23:42:11'"
E Full diff:
E [
E 'Parameters (default) - ',
E '',
E ' .base_path = '
E "'/tmp/pytest-of-root/pytest-0/test_scan_saving_path_nexus_0/subdir'",
E " .data_filename = '{session}_{scan_name}_data'",
E " .template = '{session}/{scan_name}/{scan_number}'",
E ' .images_path_relative = True',
E " .images_path_template = 'scan{scan_number}'",
E " .images_prefix = '{img_acq_device}_'",
E " .date_format = '%Y%m%d'",
E " .scan_number_format = '%04d'",
E " .session = 'test_session'",
E " .date = '20210721'",
E " .user_name = 'root'",
E " .scan_name = '{scan_name}'",
E " .scan_number = '{scan_number}'",
E " .img_acq_device = '<images_* only> acquisition device name'",
E " .writer = 'nexus'",
E " .data_policy = 'None'",
E " .creation_date = '2021-07-21 23:42:09'",
E - " .last_accessed = '2021-07-21 23:42:11'",
E ? ^
E + " .last_accessed = '2021-07-21 23:42:12'",
E ? ^
E '-------------- --------- '
E '-----------------------------------------------------------------------------------------------------------------------------------------',
E 'does not exist filename '
E '/tmp/pytest-of-root/pytest-0/test_scan_saving_path_nexus_0/subdir/test_session/{scan_name}/{scan_number}/test_session_{scan_name}_data.h5',
E 'does not exist directory '
E '/tmp/pytest-of-root/pytest-0/test_scan_saving_path_nexus_0/subdir/test_session/{scan_name}/{scan_number}',
E '-------------- --------- '
E '-----------------------------------------------------------------------------------------------------------------------------------------',
E ]
tests/scans/test_scan_saving.py:121: AssertionError
---------------------------- Captured stdout setup -----------------------------