def test_autogression_configuration__add_job():
    """Should add job to container"""
    arc = AutoRegressionConfiguration()
    job1 = MagicMock()
    job1.name = "test"
    arc.add_job(job1)
    job2 = MagicMock()
    job2.name = "test2"
    arc.add_job(job2)
    assert arc.get_num_jobs() == 2
def test_show_results(capsys):
    """Should print jobs to std.out"""
    arc = AutoRegressionConfiguration()
    job1 = AutoRegressionParameters(country="AAA", data="AA.csv")
    arc.add_job(job1)

    arc.show_jobs()

    captured = capsys.readouterr()
    assert "aaa" in captured.out
def test_serialize():
    """Should create data for serialization"""
    arc = AutoRegressionConfiguration(job_inputs=MagicMock(), )
    data = arc.serialize()

    expected = {
        "class": "AutoRegressionConfiguration",
        "extension": "demo",
        "jobs_directory": None,
        "jobs": []
    }
    assert data == expected
def test_remove_job():
    """Should remove job if job exists in container"""
    arc = AutoRegressionConfiguration()
    job1 = MagicMock()
    job1.name = "Job1"
    arc.add_job(job1)

    job2 = MagicMock()
    job2.name = "Job2"
    arc.add_job(job2)

    arc.remove_job(job1)
    assert arc.get_num_jobs() == 1
def test_list_jobs():
    """Should return a list of jobs"""
    arc = AutoRegressionConfiguration()
    job1 = MagicMock()
    job1.name = "Job1"
    arc.add_job(job1)

    job2 = MagicMock()
    job2.name = "Job2"
    arc.add_job(job2)

    jobs = arc.list_jobs()
    assert len(jobs) == 2
Пример #6
0
def test_serialize():
    """Should create data for serialization"""
    arc = AutoRegressionConfiguration()
    data = arc.serialize()

    expected = {
        "configuration_class": "AutoRegressionConfiguration",
        "configuration_module":
        "jade.extensions.demo.autoregression_configuration",
        "format_version": "v0.2.0",
        "jobs_directory": None,
        "jobs": [],
        "user_data": {},
        "submission_groups": [],
    }
    assert data == expected
def test_iter_jobs():
    """Should iterate jobs in container"""
    arc = AutoRegressionConfiguration()
    job1 = MagicMock()
    job1.name = "Job1"
    arc.add_job(job1)

    job2 = MagicMock()
    job2.name = "Job2"
    arc.add_job(job2)

    jobs = arc.iter_jobs()
    assert next(jobs) in [job1, job2]
    assert next(jobs) in [job1, job2]

    with pytest.raises(StopIteration):
        next(jobs)
def test_serialize_jobs():
    """Should serialize a series of jobs"""
    arc = AutoRegressionConfiguration()
    job1 = AutoRegressionParameters(country="A", data="A.csv")
    arc.add_job(job1)

    job2 = AutoRegressionParameters(country="B", data="B.csv")
    arc.add_job(job2)

    directory = os.path.join(tempfile.gettempdir(), "jade-unit-test-dir")
    os.makedirs(directory, exist_ok=True)
    arc.serialize_jobs(directory)

    serialized_job1 = os.path.join(directory, "a.json")
    assert os.path.exists(serialized_job1)

    serialized_job2 = os.path.join(directory, "b.json")
    assert os.path.exists(serialized_job2)

    shutil.rmtree(directory)
def test_reconfigure_jobs():
    """Should reconfigure with a list of jobs"""
    job1 = MagicMock()
    job1.name = "Job1"
    arc = AutoRegressionConfiguration()
    arc.add_job(job1)

    job2 = MagicMock()
    job2.name = "Job2"

    job3 = MagicMock()
    job3.name = "Job3"

    arc.reconfigure_jobs(jobs=[job2, job3])
    assert arc.get_num_jobs() == 2

    with pytest.raises(InvalidParameter):
        arc.get_job("Job1")

    assert arc.get_job("Job2") == job2
Пример #10
0
def test_serialize_for_execution():
    """Serialize config data for efficient execution"""
    arc = AutoRegressionConfiguration()
    job1 = AutoRegressionParameters(country="AA", data="AA.csv")
    arc.add_job(job1)

    job2 = AutoRegressionParameters(country="BB", data="BB.csv")
    arc.add_job(job2)

    # Serialize for execution
    scratch_dir = os.path.join(
        tempfile.gettempdir(),
        "jade-unit-test-scratch-dir",
    )
    os.makedirs(scratch_dir, exist_ok=True)
    arc.serialize_for_execution(scratch_dir)

    config_file = os.path.join(scratch_dir, "config.json")
    assert os.path.exists(config_file)

    shutil.rmtree(scratch_dir)
Пример #11
0
def test_create_from_result():
    """Should return None as not implemented"""
    job_inputs = MagicMock()
    arc = AutoRegressionConfiguration(job_inputs=job_inputs, )
    assert arc.create_from_result(MagicMock(), "output") is None
Пример #12
0
def test_init():
    """Should return expected attributes after initialization"""
    job_inputs = MagicMock()
    arc = AutoRegressionConfiguration(job_inputs=job_inputs)
Пример #13
0
def get_config():
    job_inputs = MagicMock()
    config = AutoRegressionConfiguration(job_inputs=job_inputs)
    return config
def test_get_job_inputs():
    """Test class methods"""
    job_inputs = MagicMock()
    arc = AutoRegressionConfiguration(job_inputs=job_inputs, )
    assert arc.get_job_inputs() == job_inputs
def test_init():
    """Should return expected attributes after initialization"""
    job_inputs = MagicMock()
    arc = AutoRegressionConfiguration(job_inputs=job_inputs)
    assert arc.inputs == job_inputs
    assert arc.job_execution_class() == AutoRegressionExecution
def test_get_parameters_class():
    """Should return the AutoRegressionParameters class"""
    arc = AutoRegressionConfiguration(job_inputs=MagicMock(), )
    assert arc.get_parameters_class().__name__ == "AutoRegressionParameters"