Пример #1
0
    def test_rls_note_extraction_deprecated_categories(self):
        text = \
            '``` improvement operator\n'\
            'improvement-text\n'\
            '```\n'\
            '``` action operator\n'\
            'action-text\n'\
            '```\n'\
            '``` noteworthy operator\n'\
            'noteworthy-text\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        self.assertEqual([
            release_note_block_with_defaults(
                category_id=CATEGORY_IMPROVEMENT_ID,
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='improvement-text',
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_ACTION_ID,
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='action-text',
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_NOTEWORTHY_ID,
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='noteworthy-text',
            ),
        ], actual_release_notes)
Пример #2
0
        def verify_noise_ignored(text):
            actual_release_notes = extract_release_notes_with_defaults(
                text=text, )

            exp_release_note = release_note_block_with_defaults(
                text='rlstext', )
            self.assertEqual([exp_release_note], actual_release_notes)
Пример #3
0
    def test_multiple_rls_note_extraction(self):
        text = \
            'random text\n'\
            '``` improvement user\n'\
            'imp-user-text\n'\
            '```\n'\
            '``` improvement operator\r\n'\
            'imp-op-text with carriage return and newline feed\r\n'\
            '```\r\n'\
            '``` noteworthy operator\n'\
            'notew-text\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        exp_release_note1 = release_note_block_with_defaults(
            text='imp-user-text', )
        exp_release_note_2 = release_note_block_with_defaults(
            target_group_id=TARGET_GROUP_OPERATOR_ID,
            text='imp-op-text with carriage return and newline feed',
        )
        exp_release_note_3 = release_note_block_with_defaults(
            category_id=CATEGORY_NOTEWORTHY_ID,
            target_group_id=TARGET_GROUP_OPERATOR_ID,
            text='notew-text',
        )
        expected_release_notes = [
            exp_release_note1, exp_release_note_2, exp_release_note_3
        ]
        self.assertEqual(expected_release_notes, actual_release_notes)
Пример #4
0
    def test_rls_note_extraction_multiple_lines(self):
        text = \
            '``` improvement user\n'\
            'first line\n'\
            'second line\r\n'\
            'third line\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        exp_release_note = release_note_block_with_defaults(
            text='first line\nsecond line\r\nthird line', )
        self.assertEqual([exp_release_note], actual_release_notes)
Пример #5
0
    def test_rls_note_extraction_noteworthy(self):
        text = \
            '``` noteworthy operator\n'\
            'notew-text\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        exp_release_note = release_note_block_with_defaults(
            category_id=CATEGORY_NOTEWORTHY_ID,
            target_group_id=TARGET_GROUP_OPERATOR_ID,
            text='notew-text',
        )
        self.assertEqual([exp_release_note], actual_release_notes)
Пример #6
0
    def test_rls_note_extraction_improvement(self):
        text = \
            '``` improvement user\n'\
            'this is a release note text\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        exp_release_note = release_note_block_with_defaults(
            category_id=CATEGORY_IMPROVEMENT_ID,
            target_group_id=TARGET_GROUP_USER_ID,
            text='this is a release note text',
        )
        self.assertEqual([exp_release_note], actual_release_notes)
Пример #7
0
    def test_rls_note_extraction_trim_text(self):
        text = \
            '``` improvement user \n'\
            '\n'\
            '        text with spaces      '\
            '\n'\
            '\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        exp_release_note = release_note_block_with_defaults(
            text='text with spaces', )
        self.assertEqual([exp_release_note], actual_release_notes)
Пример #8
0
 def source_repo_test(code_block,
                      exp_reference_id,
                      exp_usr,
                      exp_ref_type=REF_TYPE_PULL_REQUEST):
     actual_release_notes = extract_release_notes_with_defaults(
         text=code_block, )
     exp_release_note = release_note_block_with_defaults(
         reference_type=exp_ref_type,
         reference_id=exp_reference_id,
         user_login=exp_usr,
         source_repo='github.com/madeup/source-component',
     )
     self.assertEqual([exp_release_note], actual_release_notes)
Пример #9
0
    def test_rls_note_extraction_action(self):
        text = \
            '``` action operator\n'\
            'action-text\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        exp_release_note = release_note_block_with_defaults(
            category_id=CATEGORY_ACTION_ID,
            target_group_id=TARGET_GROUP_OPERATOR_ID,
            text='action-text',
        )
        self.assertEqual([exp_release_note], actual_release_notes)
Пример #10
0
    def test_rls_note_extraction_developer(self):
        text = \
            '``` noteworthy developer\n'\
            'rls-note-for-developer\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        exp_release_note = release_note_block_with_defaults(
            category_id=CATEGORY_NOTEWORTHY_ID,
            target_group_id=TARGET_GROUP_DEVELOPER_ID,
            text='rls-note-for-developer',
        )
        self.assertEqual([exp_release_note], actual_release_notes)
Пример #11
0
    def test_rls_note_extraction_categories(self):
        text = \
            '``` breaking operator\n'\
            'breaking-text\n'\
            '```\n'\
            '``` feature operator\n'\
            'feature-text\n'\
            '```\n'\
            '``` bugfix operator\n'\
            'bugfix-text\n'\
            '```\n'\
            '``` doc operator\n'\
            'doc-text\n'\
            '```\n'\
            '``` other operator\n'\
            'other-text\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        self.assertEqual([
            release_note_block_with_defaults(
                category_id=CATEGORY_BREAKING_ID,
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='breaking-text',
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_FEATURE_ID,
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='feature-text',
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_BUGFIX_ID,
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='bugfix-text',
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_DOC_ID,
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='doc-text',
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_OTHER_ID,
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='other-text',
            ),
        ], actual_release_notes)
Пример #12
0
    def test_rls_note_extraction_target_groups(self):
        text = \
            '``` feature user\n'\
            'rls-note-for-user\n'\
            '```\n'\
            '``` feature operator\n'\
            'rls-note-for-operator\n'\
            '```\n'\
            '``` feature developer\n'\
            'rls-note-for-developer\n'\
            '```\n'\
            '``` feature dependency\n'\
            'rls-note-for-dependency\n'\
            '```'
        actual_release_notes = extract_release_notes_with_defaults(text=text, )

        self.assertEqual([
            release_note_block_with_defaults(
                category_id=CATEGORY_FEATURE_ID,
                target_group_id=TARGET_GROUP_USER_ID,
                text='rls-note-for-user',
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_FEATURE_ID,
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='rls-note-for-operator',
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_FEATURE_ID,
                target_group_id=TARGET_GROUP_DEVELOPER_ID,
                text='rls-note-for-developer',
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_FEATURE_ID,
                target_group_id=TARGET_GROUP_DEPENDENCY_ID,
                text='rls-note-for-dependency',
            ),
        ], actual_release_notes)
Пример #13
0
    def test_rls_note_extraction_no_text(self):
        actual_release_notes = extract_release_notes_with_defaults(text=None, )
        self.assertEqual(0, len(actual_release_notes))

        actual_release_notes = extract_release_notes_with_defaults(text='', )
        self.assertEqual(0, len(actual_release_notes))
Пример #14
0
 def verify_no_release_note(text: str):
     actual_release_notes = extract_release_notes_with_defaults(
         text=text, )
     self.assertEqual(0, len(actual_release_notes))