def test_string_format(self): build_metrics = mock_build_metrics() build_metrics.system_failure_count = 5 build_mock = MagicMock() build_mock.get_metrics.return_value = build_metrics mock_version = create_mock_version() version_metrics = under_test.VersionMetrics(mock_version) version_metrics._count_build(build_mock, None) assert mock_version.version_id in str(version_metrics)
def test_with_no_builds(self): mock_version = create_mock_version() version_metrics = under_test.VersionMetrics(mock_version).calculate() assert version_metrics.total_processing_time == 0 assert version_metrics.task_success_count == 0 assert not version_metrics.create_time assert not version_metrics.start_time assert not version_metrics.end_time assert not version_metrics.makespan assert not version_metrics.wait_time
def test_dict_format(self, sample_task): build_metrics = mock_build_metrics() build_metrics.system_failure_count = 5 build_mock = MagicMock() build_mock.get_metrics.return_value = build_metrics mock_version = create_mock_version() version_metrics = under_test.VersionMetrics(mock_version) version_metrics._count_build(build_mock, None) ver_dict = version_metrics.as_dict() assert ver_dict["version"] == mock_version.version_id assert "build_metrics" not in ver_dict
def test_add_failed_build(self): build_metrics = mock_build_metrics() build_metrics.failure_count = 5 build_mock = MagicMock() build_mock.get_metrics.return_value = build_metrics mock_version = create_mock_version() version_metrics = under_test.VersionMetrics(mock_version) version_metrics._count_build(build_mock, None) assert version_metrics.task_success_count == 0 assert version_metrics.task_failure_count == build_metrics.failure_count assert version_metrics.task_system_failure_count == 0 assert version_metrics.task_timeout_count == 0
def test_dict_format_with_children(self): build_metrics = mock_build_metrics() build_metrics.system_failure_count = 5 build_mock = MagicMock() build_mock.get_metrics.return_value = build_metrics mock_version = create_mock_version() version_metrics = under_test.VersionMetrics(mock_version) version_metrics._count_build(build_mock, None) ver_dict = version_metrics.as_dict(include_children=True) assert ver_dict["version"] == mock_version.version_id assert len(ver_dict["build_metrics"]) == 1 assert ver_dict["build_metrics"][ 0] == build_metrics.as_dict.return_value
def test_no_time(self): build_metrics = mock_build_metrics() build_metrics.create_time = None build_metrics.start_time = None build_metrics.end_time = None build_mock = MagicMock() build_mock.get_metrics.return_value = build_metrics mock_version = create_mock_version() version_metrics = under_test.VersionMetrics(mock_version) version_metrics._count_build(build_mock, None) assert not version_metrics.create_time assert not version_metrics.start_time assert not version_metrics.end_time assert mock_version.version_id in str(version_metrics)
def test_multiple_builds(self, sample_task, sample_build): n_tasks = 5 n_builds = 3 mock_build_metric = mock_build_metrics(n_tasks) build_list = create_mock_build_list(n_builds, mock_build_metric) mock_version = create_mock_version(build_list) version_metrics = under_test.VersionMetrics(mock_version).calculate() total_tasks = n_tasks * n_builds assert version_metrics.task_success_count == total_tasks assert version_metrics.task_failure_count == 0 assert version_metrics.pct_tasks_success == 1 assert version_metrics.pct_tasks_failure == 0 assert version_metrics.pct_tasks_system_failure == 0 assert version_metrics.pct_tasks_timeout == 0
def test_percent_of_non_zero_works(self): mock_version = create_mock_version() build_metrics = under_test.VersionMetrics(mock_version) build_metrics.task_success_count = 10 assert build_metrics._percent_tasks(5) == 0.5
def test_percent_of_zero_tasks_is_zero(self): mock_version = create_mock_version() build_metrics = under_test.VersionMetrics(mock_version) assert build_metrics._percent_tasks(5) == 0