예제 #1
0
def hide_test_sad_no_such_issue_type_for_project():
    """
        could not find issue type bug in project jest
    """
    jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG)
    with py.test.raises(JiraProxyError) as excinfo:
        jp.getStandardFields(PROJECT_KEY_1, 'Bug')
    actualErrorMessage = excErrorMessage(excinfo)
    assert ': Could not find Issue Type "Bug" in Project "JEST".' in actualErrorMessage
    assert 'Ensure the Issue Type "Bug" is available ' in actualErrorMessage
예제 #2
0
def test_bug_field_retrieval():
    """
        check that the Description, Summary and Status fields can be retrieved for a Bug
    """
    #jp = JiraProxy(GOOD_VANILLA_ONDEMAND_REGULAR_USER_CONFIG)
    jp = JiraProxy(GOOD_VANILLA_ONDEMAND_CONFIG)
    proj_key = 'JEST'  # JIRPA Projet not yet defined in alligator-tiers.atlassian.net
    sfs = jp.getStandardFields(proj_key, 'Story')  # JIRPA as  Project not
    sfs = jp.getStandardFields(proj_key, 'Bug')
    assert "Description" in sfs
    assert jp.fieldExists(proj_key, "Bug", "Summary")
    assert jp.fieldExists(proj_key, "Bug", "Status")
예제 #3
0
def test_fields_with_multiple_word_display_name():
    """
        list all fields whose display name is a multiple word string
    """
    jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG)
    sfs = jp.getStandardFields(PROJECT_KEY_1, 'Bug')
    cfs = jp.getCustomFields(PROJECT_KEY_1, 'Bug')

    standard_multi_word_fields = [fn for fn in sfs if fn.count(' ') > 0]
    custom_multi_word_fields = [fn for fn in cfs if fn.count(' ') > 0]
    assert len(standard_multi_word_fields) > 0
    assert len(custom_multi_word_fields) > 0

    multi_word_bug_fields = """Advent Category,
        Affects Version/s,
        Due Date,
        Issue Type,
        Rally Creation Date,
        RallyID,
        RallyItem,
        Story Points,
        Target Release,
        Time Tracking
       """.split(',')

    assert 'Rally Creation Date' in custom_multi_word_fields
예제 #4
0
def test_standard_bug_field_presence():
    """
        should correctly identify that a known standard field exists using a valid project name
    """
    jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG)
    sfs = jp.getStandardFields(PROJECT_NAME_1, 'Bug')
    assert "Description" in sfs
    assert jp.fieldExists(PROJECT_NAME_1, "Bug", "Summary")
예제 #5
0
def test_using_invalid_project_raises_error():
    """
        on attempt to get standard field names using an invalid project will raise an error
    """
    jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG)

    with py.test.raises(JiraProxyError) as excinfo:
        standard_field_names = jp.getStandardFields(BAD_PROJECT_KEY_1, "Bug")
    actualErrorMessage = excErrorMessage(excinfo)
    assert actualErrorMessage == f'Could not find project for identifier: {BAD_PROJECT_KEY_1}'
예제 #6
0
def test_get_standard_fields_list_for_project_name():
    """
        returns an array of standard field names
    """
    jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG)

    standard_field_names = jp.getStandardFields(PROJECT_NAME_1, "Bug")
    assert "Summary" in standard_field_names
    assert "Priority" in standard_field_names
    assert "Affects Version/s" in standard_field_names
예제 #7
0
def test_get_standard_fields_list_for_project_key():
    """
        will return an array of standard field names for an issue type related to a project key
    """
    jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG)

    standard_field_names = jp.getStandardFields(PROJECT_KEY_1, "Bug")
    assert "Summary" in standard_field_names
    assert "Description" in standard_field_names
    assert "Affects Version/s" in standard_field_names
    assert "Assignee" in standard_field_names
예제 #8
0
def test_identify_standard_known_field():
    """
        correctly identify that a known standard field exists
    """
    jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG)
    sfs = jp.getStandardFields(PROJECT_KEY_1, 'Bug')
    assert "Description" in sfs
    assert jp.fieldExists(PROJECT_KEY_1, "Bug", "Summary")

    assert jp.fieldExists(PROJECT_KEY_1, "Story", "Summary")
    assert jp.fieldExists(PROJECT_KEY_1, "Story", "Status")
예제 #9
0
def test_sad_bad_project_specfied():
    """
        raise an error on attempt to identify that a known standard field 
        exists using an invalid project identifier
    """
    jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG)
    sfs = jp.getStandardFields(PROJECT_KEY_1, 'Bug')
    assert "Description" in sfs
    with py.test.raises(Exception) as excinfo:
        jp.fieldExists(BAD_PROJECT_KEY_1, "Bug", "Summary")
    actualErrorMessage = excErrorMessage(excinfo)
    assert 'Could not find project for identifier:' in actualErrorMessage
예제 #10
0
def test_non_writable_data_fields():
    """
        recognize standard non-writable date fields
    """
    jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG)
    sfs = jp.getStandardFields(PROJECT_KEY_1, 'Bug')
    assert jp.fieldExists(PROJECT_KEY_1, 'Bug', 'created')
    assert jp.fieldExists(PROJECT_KEY_1, 'Bug', 'CreatedDate')
    assert jp.fieldExists(PROJECT_KEY_1, 'Bug', 'createddate')
    assert jp.fieldExists(PROJECT_KEY_1, 'Bug', 'Created Date')

    assert jp.fieldExists(PROJECT_KEY_1, 'Bug', 'updated')
    assert jp.fieldExists(PROJECT_KEY_1, 'Bug', 'UpdatedDate')
    assert jp.fieldExists(PROJECT_KEY_1, 'Bug', 'updateddate')
    assert jp.fieldExists(PROJECT_KEY_1, 'Bug', 'Updated Date')
예제 #11
0
def main(args):
    if len(args) != 2:
        sys.stderr.write(
            "ERROR: The Jira project key and issue type name must be provided")
        sys.exit(1)
    jira = JiraProxy(REG_USER_CONFIG)

    project_key, issue_type = "JIRPA", "Story"  #  or args[:2]
    print(f'\n Project: {project_key}   Issue type: {issue_type}')
    print("   Fields\n   ---------------")

    for field_name in reorder(jira.getStandardFields(project_key, issue_type)):
        print(f"   {field_name}")
    print("")

    for field_name in sorted(jira.getCustomFields(project_key, issue_type)):
        print(f"   {field_name}")
    print("")