Example #1
0
def test_output_input_same_is_invalid(tmpdir):
    temp_dir = tmpdir / "temp"
    temp_dir.mkdir()
    with pytest.raises(ValueError) as e:
        workflow = HathiLimitedToDLWorkflow()
        workflow.validate_user_options(Input=temp_dir.realpath(),
                                       Output=temp_dir.realpath())
    assert "Input cannot be the same as Output" in str(e.value)
Example #2
0
def test_output_must_exist(tmpdir):
    temp_dir = tmpdir / "temp"
    temp_dir.mkdir()
    with pytest.raises(ValueError) as e:
        workflow = HathiLimitedToDLWorkflow()
        workflow.validate_user_options(Input=temp_dir.realpath(),
                                       Output="./invalid_folder/")
    assert "Output does not exist" in str(e.value)
 def test_create_new_task(self):
     workflow = HathiLimitedToDLWorkflow()
     task_builder = Mock()
     args = {
         "task_builder": task_builder,
         "package": Mock(),
         "destination": Mock()
     }
     workflow.create_new_task(**args)
     assert task_builder.add_subtask.called is True
Example #4
0
def test_no_missing_required(missing, tmpdir):
    temp_dir = tmpdir / "temp"
    temp_dir.mkdir()
    user_args = {
        "Input": temp_dir.realpath(),
        "Output": temp_dir.realpath()
    }
    with pytest.raises(ValueError) as e:
        workflow = HathiLimitedToDLWorkflow()
        user_args[missing] = ""
        workflow.validate_user_options(**user_args)
    assert f"Missing required value for {missing}" in str(e.value)
 def test_report(self):
     results = [
         Mock(),
         Mock(),
     ]
     report = HathiLimitedToDLWorkflow.generate_report(
         results=results,
         Output="dummy"
     )
     assert "All done. Converted 2 packages." in report
    def test_discover_task_metadata(self, monkeypatch):
        workflow = HathiLimitedToDLWorkflow()
        user_args = {
            "Input": "source",
            "Output": "dest"
        }

        def locate_packages(_, path):
            return [
                Mock()
            ]
        monkeypatch.setattr(
            packager.packages.HathiLimitedView,
            "locate_packages", locate_packages
        )
        task_metadata = workflow.discover_task_metadata(
            initial_results=[],
            additional_data=[],
            **user_args
        )
        assert task_metadata[0]["destination"] == user_args['Output'] and \
               'package' in task_metadata[0]
Example #7
0
def test_hathi_limited_to_dl_compound_has_options(index, label):
    workflow = HathiLimitedToDLWorkflow()
    user_options = workflow.user_options()
    assert len(user_options) > 0
    assert user_options[index].label_text == label