Skip to content

Commit

Permalink
add test for yaml variable
Browse files Browse the repository at this point in the history
  • Loading branch information
CodyCBakerPhD authored Mar 21, 2024
1 parent b3423e8 commit 8ccace1
Showing 1 changed file with 53 additions and 2 deletions.
55 changes: 53 additions & 2 deletions tests/docker_yaml_conversion_specification_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def test_run_conversion_from_yaml_cli(self):
yaml_file_path = path_to_test_yml_files / "GIN_conversion_specification.yml"
deploy_process(
command=(
"docker run -it "
"docker run -t "
f"--volume {self.source_volume}:/neuroconv ghcr.io/catalystneuro/neuroconv:{self.tag}"
f"neuroconv /neuroconv/tests/test_on_data/conversion_specifications/{yaml_file_path} "
f"--data-folder-path /neuroconv/{DATA_PATH} --output-folder-path {self.test_folder} --overwrite"
Expand Down Expand Up @@ -74,7 +74,7 @@ def test_run_conversion_from_yaml_default_nwbfile_name(self):
yaml_file_path = path_to_test_yml_files / "GIN_conversion_specification_missing_nwbfile_names.yml"
deploy_process(
command=(
"docker run -it "
"docker run -t "
f"--volume {self.source_volume}:/neuroconv ghcr.io/catalystneuro/neuroconv:{self.tag}"
f"neuroconv {yaml_file_path} "
f"--data-folder-path {DATA_PATH} --output-folder-path {self.test_folder} --overwrite"
Expand Down Expand Up @@ -123,3 +123,54 @@ def test_run_conversion_from_yaml_default_nwbfile_name(self):
assert nwbfile.session_start_time == datetime.fromisoformat("2020-10-11T21:19:09+00:00")
assert nwbfile.subject.subject_id == "Subject Name"
assert "spike_times" in nwbfile.units

def test_run_conversion_from_yaml_variable(self):
path_to_test_yml_files = Path(__file__).parent / "conversion_specifications"
yaml_file_path = path_to_test_yml_files / "GIN_conversion_specification.yml"

with open(file=yaml_file_path, mode="r") as io:
yaml_lines = io.readlines()

yaml_string = "".join(yaml_lines)
os.environ["NEUROCONV_YAML"] = yaml_string
os.environ["NEUROCONV_DATA_PATH"] = DATA_PATH
os.environ["NEUROCONV_OUTPUT_PATH"] = OUTPUT_PATH

deploy_process(
command=(
"docker run -t "
f"--volume {self.source_volume}:/neuroconv ghcr.io/catalystneuro/neuroconv:yaml_variable"
)
)

nwbfile_path = self.test_folder / "example_converter_spec_1.nwb"
assert nwbfile_path.exists(), f"`run_conversion_from_yaml` failed to create the file at '{nwbfile_path}'! "
with NWBHDF5IO(path=nwbfile_path, mode="r") as io:
nwbfile = io.read()
assert nwbfile.session_description == "Subject navigating a Y-shaped maze."
assert nwbfile.lab == "My Lab"
assert nwbfile.institution == "My Institution"
assert nwbfile.session_start_time == datetime.fromisoformat("2020-10-09T21:19:09+00:00")
assert nwbfile.subject.subject_id == "1"
assert "ElectricalSeriesAP" in nwbfile.acquisition

nwbfile_path = self.test_folder / "example_converter_spec_2.nwb"
assert nwbfile_path.exists(), f"`run_conversion_from_yaml` failed to create the file at '{nwbfile_path}'! "
with NWBHDF5IO(path=nwbfile_path, mode="r") as io:
nwbfile = io.read()
assert nwbfile.session_description == "Subject navigating a Y-shaped maze."
assert nwbfile.lab == "My Lab"
assert nwbfile.institution == "My Institution"
assert nwbfile.session_start_time == datetime.fromisoformat("2020-10-10T21:19:09+00:00")
assert nwbfile.subject.subject_id == "002"

nwbfile_path = self.test_folder / "example_converter_spec_3.nwb"
assert nwbfile_path.exists(), f"`run_conversion_from_yaml` failed to create the file at '{nwbfile_path}'! "
with NWBHDF5IO(path=nwbfile_path, mode="r") as io:
nwbfile = io.read()
assert nwbfile.session_description == "Auto-generated by neuroconv"
assert nwbfile.lab == "My Lab"
assert nwbfile.institution == "My Institution"
assert nwbfile.session_start_time == datetime.fromisoformat("2020-10-11T21:19:09+00:00")
assert nwbfile.subject.subject_id == "Subject Name"
assert "spike_times" in nwbfile.units

0 comments on commit 8ccace1

Please sign in to comment.