def test_retrieve_jira_schema_for_field(): """ will return a JiraFieldSchema instance for a valid field """ SLOG = "getschema.log" logger = BasicLogger(SLOG) logger.level = 'DEBUG' conf = copy.copy(GOOD_VANILLA_SERVER_CONFIG) conf['logger'] = logger jp = JiraProxy(conf) fs = jp.fieldSchema(PROJECT_KEY_1, 'Bug', 'Priority') assert fs.__class__ == JiraFieldSchema assert fs.display_name == 'Priority' assert fs.standard == True assert fs.custom == False assert fs.structure == 'atom' assert fs.data_type == 'priority' assert 'High' in fs.allowed_values log_lines = [] with open(SLOG, 'r') as lf: log_lines = lf.readlines() log_debug_line_with_field_info_patt \ = re.compile(r':DEBUG:.*:JiraProxy config arg content:.*password.*') re.compile(r":DEBUG:.*:.*field_info returned from JIRA options-[^\n]+ were:\n") lines_with_field_info = [line for line in log_lines if log_debug_line_with_field_info_patt.search(line)] assert len(lines_with_field_info) == 1 os.remove(SLOG)
def test_sad_get_jira_schema_for_invalid_project(): """ will raise an error on attempt to return a JiraFieldSchema instance for a valid field for an invalid project identifier """ jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG) with py.test.raises(JiraProxyError) as excinfo: fs = jp.fieldSchema(BAD_PROJECT_KEY_1, 'Bug', 'Priority') actualErrorMessage = excErrorMessage(excinfo) assert 'Could not find project for identifier:' in actualErrorMessage
def test_get_jira_schema_for_valid_project(): """ return a JiraFieldSchema instance for a valid field using a valid project name """ jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG) fs = jp.fieldSchema(PROJECT_NAME_1, 'Bug', 'Priority') assert fs.__class__ == JiraFieldSchema assert fs.display_name == 'Priority' assert fs.standard == True assert fs.custom == False assert fs.structure == 'atom' assert fs.data_type == 'priority' assert 'Low' in fs.allowed_values
def test_get_jira_schema_for_custom_number_field(): """ will return a JiraFieldScheme instance for a valid custom field of type number """ jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG) fs = jp.fieldSchema(PROJECT_KEY_1, 'Bug', 'RallyID') assert fs.__class__ == JiraFieldSchema assert fs.display_name == 'RallyID' assert fs.name.startswith('customfield_') assert fs.standard == False assert fs.custom == True assert fs.structure == 'atom' assert fs.data_type == 'number' assert not fs.allowed_values
def test_get_jira_schema_for_array_valued_field(): """ will return a JiraFieldSchema instance for a valid field that is an array """ jp = JiraProxy(GOOD_VANILLA_SERVER_CONFIG) fs = jp.fieldSchema(PROJECT_KEY_1, 'Bug', 'Affects Version/s') assert fs.__class__ == JiraFieldSchema assert fs.display_name == 'Affects Version/s' assert fs.standard == True assert fs.custom == False # FIX! #assert fs.structure == 'array' # this fails, it comes back as 'atom' assert fs.data_type == 'array' assert 'vanilla' in fs.allowed_values