示例#1
0
def test_load_bioinfo_sample(vogue_config, caplog):
    """Test load bioinfo sample upload in vogue api"""

    # GIVEN a vogue api and a vogue config
    vogue_api = VogueAPI(vogue_config)
    dummy_stdout = "dummy_stdout"
    dummy_stderr = "dummy_stderr"
    dummy_returncode_success = 0
    test_load_bioinfo_sample_inputs = {"analysis_case_name": "dummy_case"}
    load_bioinfo_sample_call = [
        "load",
        "bioinfo",
        "sample",
        "--analysis-case",
        test_load_bioinfo_sample_inputs["analysis_case_name"],
    ]
    load_bioinfo_sample_call_command = " ".join(load_bioinfo_sample_call)
    caplog.set_level(logging.INFO)

    # WHEN instantiating a vogue api and input data
    with mock.patch.object(subprocess, "run") as mocked:
        mocked.return_value.stdout = dummy_stdout.encode("utf-8")
        mocked.return_value.stderr = dummy_stderr.encode("utf-8")
        mocked.return_value.returncode = dummy_returncode_success
        vogue_api.load_bioinfo_sample(
            load_bioinfo_inputs=test_load_bioinfo_sample_inputs)

        # THEN assert that command is in log output
        assert load_bioinfo_sample_call_command in caplog.text
示例#2
0
def fixture_vogue_api(process):
    """
    vogue API fixture
    """

    _vogue_api = VogueAPI(CONFIG)
    _vogue_api.process = process
    return _vogue_api
示例#3
0
def test_load_bioinfo_raw(vogue_config, caplog):
    """Test load bioinfo raw upload in vogue api"""

    # GIVEN a vogue api and a vogue config
    vogue_api = VogueAPI(vogue_config)
    dummy_stdout = "dummy_stdout"
    dummy_stderr = "dummy_stderr"
    dummy_returncode_success = 0
    test_load_bioinfo_raw_inputs = {
        "samples": "dummy_sample",
        "analysis_result_file": "dummy_file_name",
        "analysis_type": "dummy_analysis_type",
        "analysis_case_name": "dummy_analysis_case_name",
        "analysis_workflow_version": "dummy_version_3.1415",
        "case_analysis_type": "dummy_multiqc",
        "analysis_workflow_name": "dummy_best_workflow",
    }

    load_bioinfo_raw_call = [
        "load",
        "bioinfo",
        "raw",
        "--sample-list",
        test_load_bioinfo_raw_inputs["samples"],
        "--analysis-result",
        test_load_bioinfo_raw_inputs["analysis_result_file"],
        "--analysis-type",
        test_load_bioinfo_raw_inputs["analysis_type"],
        "--analysis-case",
        test_load_bioinfo_raw_inputs["analysis_case_name"],
        "--workflow-version",
        test_load_bioinfo_raw_inputs["analysis_workflow_version"],
        "--case-analysis-type",
        test_load_bioinfo_raw_inputs["case_analysis_type"],
        "--analysis-workflow",
        test_load_bioinfo_raw_inputs["analysis_workflow_name"],
    ]
    load_bioinfo_raw_call_command = " ".join(load_bioinfo_raw_call)
    caplog.set_level(logging.INFO)

    # WHEN instantiating a vogue api and input data
    with mock.patch.object(subprocess, "run") as mocked:
        mocked.return_value.stdout = dummy_stdout.encode("utf-8")
        mocked.return_value.stderr = dummy_stderr.encode("utf-8")
        mocked.return_value.returncode = dummy_returncode_success
        vogue_api.load_bioinfo_raw(
            load_bioinfo_inputs=test_load_bioinfo_raw_inputs)

        # THEN assert that command is in log output
        assert load_bioinfo_raw_call_command in caplog.text
示例#4
0
def vogue_api():
    """
        vogue API fixture
    """

    _vogue_api = VogueAPI(VOGUECONFIG)
    return _vogue_api
示例#5
0
 def vogue_api(self) -> VogueAPI:
     api = self.__dict__.get("vogue_api_")
     if api is None:
         LOG.debug("Instantiating vogue api")
         api = VogueAPI(config=self.dict())
         self.vogue_api_ = api
     return api
示例#6
0
def test_instatiate(vogue_config):
    """Test to instantiate a vogue api"""

    # GIVEN a vogue api with a config

    # WHEN instantiating a vogue api
    vogue_api = VogueAPI(vogue_config)

    # THEN assert that the adapter was properly instantiated
    assert vogue_api.vogue_binary == vogue_config["vogue"]["binary_path"]