Example #1
0
def jira_mock():
    m = mock.MagicMock()
    i1 = fakes.Issue("ISSUE-1")
    i2 = fakes.Issue("ISSUE-2")
    i3 = fakes.Issue("ISSUE-3")
    i4 = fakes.Issue("ISSUE-4")
    m.search_issues.return_value = [i1, i2, i3, i4]
    return m
Example #2
0
def jira_mock():
    m = mock.MagicMock()
    i1 = fakes.Issue('ISSUE-1')
    i2 = fakes.Issue('ISSUE-2')
    i3 = fakes.Issue('ISSUE-3')
    i4 = fakes.Issue('ISSUE-4')
    m.search_issues.return_value = [i1, i2, i3, i4]
    return m
def test_execution_progress_100():
    jira_mock = mock.MagicMock()
    i1 = fakes.Issue("ISSUE-1", "Done")
    i2 = fakes.Issue("ISSUE-2", "Done")
    i3 = fakes.Issue("ISSUE-3", "Done")
    i4 = fakes.Issue("ISSUE-4", "Done")
    jira_mock.search_issues.return_value = [i1, i2, i3, i4]

    percentage, all_issues, done_issues = algo.progress(jira_mock, "jql")
    assert percentage == 100.0
    assert len(all_issues) == 4
    assert len(done_issues) == 4
def test_count_internal():
    issue_cache_1 = fakes.IssueCache(
        fakes.Issue('ISSUE-1', epic_name='my epic'))
    issue_cache_1.linked_issues = {
        "ISSUE-10": fakes.Issue('ISSUE-10', epic_name='linked epic')
    }
    issue_cache_2 = mock.MagicMock()
    issue_cache_2.linked_issues = {"ISSUE-20": fakes.Issue('ISSUE-20')}
    counter = dep.count_internal([issue_cache_1, issue_cache_2],
                                 ['prj1', 'prj2'])
    assert len(counter['internal']) == 0
    assert len(counter['external']) == 2
def test_active_sprint_progress():
    jira_mock = mock.MagicMock()
    i1 = fakes.Issue("ISSUE-1", "Done")
    i2 = fakes.Issue("ISSUE-2", "Done")
    i3 = fakes.Issue("ISSUE-3", "In progress")
    i4 = fakes.Issue("ISSUE-4", "Open")
    jira_mock.search_issues.return_value = [i1, i2, i3, i4]

    percentage, all_issues, done_issues = algo.active_sprint_progress(jira_mock, "PRJ_KEY")
    assert percentage == 50.0
    assert len(all_issues) == 4
    assert done_issues[0].key == IssueCache(jira_mock, i1).key
    assert done_issues[1].key == IssueCache(jira_mock, i2).key
def test_count_stats():
    issue_cache_1 = fakes.IssueCache(
        fakes.Issue('ISSUE-1', epic_name='my epic'))
    issue_cache_1.linked_issues = {
        "ISSUE-10": fakes.Issue('ISSUE-10', epic_name='linked epic')
    }
    issue_cache_2 = mock.MagicMock()
    issue_cache_2.linked_issues = {"ISSUE-20": fakes.Issue('ISSUE-20')}

    project_count, epic_count, link_epic_count = dep.count_stats(
        [issue_cache_1, issue_cache_2])
    assert len(project_count) == 1
    assert len(epic_count) == 2  # 'my epic' and none
    assert len(link_epic_count) == 2  # none and linked epic
def test_count_by_link_type():
    i1 = fakes.Issue('ISSUE-1', epic_name='my epic')
    i1.fields.issuelinks = [
        fakes.IssueLink('outwardIssue', 'DEP-1'),
        fakes.IssueLink('inwardIssue', 'DEP-2')
    ]
    issue_cache_1 = fakes.IssueCache(i1)
    issue_cache_1.linked_issues = {
        "ISSUE-10": fakes.Issue('ISSUE-10', epic_name='linked epic')
    }
    issue_cache_2 = mock.MagicMock()
    issue_cache_2.linked_issues = {"ISSUE-20": fakes.Issue('ISSUE-20')}

    linked_issues = dep.count_by_link_type([issue_cache_1, issue_cache_2])
    assert linked_issues == {'Dependency': 2}
def test_execution_metrics(sprint_mock):
    jira_mock = mock.MagicMock()
    i1 = fakes.Issue("ISSUE-1", "Done")
    i2 = fakes.Issue("ISSUE-2", "Done")
    i3 = fakes.Issue("ISSUE-3", "Done")
    i4 = fakes.Issue("ISSUE-4", "In progress")
    jira_mock.search_issues.return_value = [i1, i2, i3, i4]

    _, all_issues, done_in_sprint = algo.progress(jira_mock, "jql")

    i4.fields.status.name = "Done"
    done_by_now = done_in_sprint + [IssueCache(jira_mock, i4)]

    em = algo.ExecutionMetrics(all_issues, done_in_sprint, done_by_now, sprint_mock)
    assert em.count_done_by_now == 4
    assert em.count_done_in_sprint == 3
    assert em.progress_by_now == 100
    assert em.progress_in_sprint == 75
Example #9
0
def test_external_links_0(
        jira_mock):  # issue-5 is a dependency for the other issue
    i5 = fakes.Issue('ISSUE-5')
    i5.fields.issuelinks = [
        fakes.IssueLink('inwardIssue', 'Dep-1'),
    ]
    jira_mock.search_issues.return_value = [i5]
    p, all_issues, all_with_dep = dep.dependency_factor(jira_mock, "jql")
    assert p == 0
    assert len(all_with_dep) == 0
    assert len(all_issues) == 1
Example #10
0
def test_external_links_100(jira_mock):  # issue-5 is dependent on
    i5 = fakes.Issue('ISSUE-5')
    i5.fields.issuelinks = [
        fakes.IssueLink('outwardIssue', 'Dep-1'),
    ]
    jira_mock.search_issues.return_value = [i5]
    p, all_issues, all_with_dep = dep.dependency_factor(jira_mock, "jql")
    assert p == 100
    assert len(all_with_dep) == 1
    assert all_with_dep[0].key == 'ISSUE-5'
    assert len(all_issues) == 1
def test_merge(all_issues):
    metrics.save("ut", "test_squad_1", 50, all_issues,
                 [all_issues[0], all_issues[1]])
    i1 = fakes.Issue('ISSUE-5')
    i2 = fakes.Issue('ISSUE-6')
    i3 = fakes.Issue('ISSUE-7')
    i4 = fakes.Issue('ISSUE-8')
    all_issues_2 = [i1, i2, i3, i4]

    metrics.save("ut", "test_squad_2", 100, all_issues_2, [])
    metrics_history_1 = metrics.read_independence_stats('ut', "test_squad_1")
    metrics_history_2 = metrics.read_independence_stats('ut', "test_squad_2")
    total_metrics = metrics.merge([metrics_history_1, metrics_history_2])

    m = total_metrics.latest

    assert m['squad'] == 'Merged'
    assert m['name'] == 'ut'
    assert m['independence'] == 75
    assert len(m['all_issues']) == 8
    assert len(m['all_with_dep']) == 2
Example #12
0
def test_get_issue_by_key():
    jira_mock = mock.MagicMock()
    i1 = fakes.Issue("ISSUE-1")
    jira_mock.search_issues.return_value = [i1]
    issue_cache = j.get_issue_by_key(jira_mock, "ISSUE-1")
    assert issue_cache.issue == i1
def all_issues():
    i1 = fakes.Issue('ISSUE-1')
    i2 = fakes.Issue('ISSUE-2')
    i3 = fakes.Issue('ISSUE-3')
    i4 = fakes.Issue('ISSUE-4')
    return [i1, i2, i3, i4]