Exemplo n.º 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)
Exemplo n.º 2
0
    def test_render_reference_pr(self):
        release_note_objs = [
            release_note_block_with_defaults(
                reference_type=REF_TYPE_PULL_REQUEST,
                reference_id='42',
                source_repo=CURRENT_REPO_NAME,
            ),
            release_note_block_with_defaults(
                reference_type=REF_TYPE_PULL_REQUEST,
                reference_id='1',
                text='other component, same github instance rls note',
                source_repo='github.com/madeup/a-foo-bar',
            )
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## Improvements\n'\
            '* *[USER]* default release note text (#42, @foo)\n'\
            '# [a-foo-bar]\n'\
            '## Improvements\n'\
            '* *[USER]* other component, same github instance rls note (madeup/a-foo-bar#1, @foo)'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 3
0
    def test_render_drop_duplicates(self):
        release_note_objs = [
            release_note_block_with_defaults(
                text='duplicate',
                reference_type=None,
                reference_id=None,
                user_login=None,
                source_repo=CURRENT_REPO_NAME,
            ),
            release_note_block_with_defaults(
                text='duplicate',
                reference_type=None,
                reference_id=None,
                user_login=None,
                source_repo=CURRENT_REPO_NAME,
            )
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## Improvements\n'\
            '* *[USER]* duplicate'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 4
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)
Exemplo n.º 5
0
    def test_render_categories(self):
        release_note_objs = [
            release_note_block_with_defaults(
                category_id=CATEGORY_IMPROVEMENT_ID,
                text='improvement release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_NOTEWORTHY_ID,
                text='noteworthy release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_ACTION_ID,
                text='action required release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
        ]

        actual_md_str = MarkdownRenderer(release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## Action Required\n'\
            '* *[USER]* action required release note\n'\
            '## Most notable changes\n'\
            '* *[USER]* noteworthy release note\n'\
            '## Improvements\n'\
            '* *[USER]* improvement release note'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 6
0
    def test_render_target_group(self):
        release_note_objs = [
            release_note_block_with_defaults(
                target_group_id=TARGET_GROUP_USER_ID,
                text='user release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                target_group_id=TARGET_GROUP_OPERATOR_ID,
                text='operator release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## Improvements\n'\
            '* *[USER]* user release note\n'\
            '* *[OPERATOR]* operator release note'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 7
0
    def test_render_skip_empty_lines(self):
        release_note_objs = [
            release_note_block_with_defaults(
                text='first line1\n\n second line1',  #empty line
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                text='first line2\n \nsecond line2',  #empty line with space
                reference_type=None,
                reference_id=None,
                user_login=None,
            )
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## Improvements\n'\
            '* *[USER]* first line1\n'\
            '  * second line1\n'\
            '* *[USER]* first line2\n'\
            '  * second line2'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 8
0
    def test_render_no_reference_no_user(self):
        release_note_objs = [
            release_note_block_with_defaults(
                reference_type=None,
                reference_id=None,
                user_login=None,
                source_component_hostname=CURRENT_COMPONENT_HOSTNAME,
                source_component_org_name='madeup',
                source_component_repo_name='a-foo-bar',
            ),
            release_note_block_with_defaults(
                reference_type=None,
                reference_id=None,
                user_login=None,
                source_component_hostname=CURRENT_COMPONENT_HOSTNAME,
                source_component_org_name=CURRENT_COMPONENT_ORG_NAME,
                source_component_repo_name=CURRENT_COMPONENT_REPO_NAME,
            )
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## 🏃 Others\n'\
            '* *[USER]* default release note text\n'\
            '# [a-foo-bar]\n'\
            '## 🏃 Others\n'\
            '* *[USER]* default release note text'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 9
0
    def test_multiple_release_note_objs_to_block_str(self):
        hostname = 'github.com'
        org_name = 's'
        repo_name = 'repo'

        rls_note_objs = [
            release_note_block_with_defaults(),
            release_note_block_with_defaults(
                reference_type=REF_TYPE_COMMIT,
                reference_id='commit-id',
                text='another one',
                source_component_hostname=hostname,
                source_component_org_name=org_name,
                source_component_repo_name=repo_name,
            ),
        ]
        exp_release_note_block = \
        '``` improvement user github.com/madeup/current-repo #42 @foo\n'\
        'default release note text'\
        '\n```'\
        '\n'\
        '\n'\
        f'``` improvement user {hostname}/{org_name}/{repo_name} $commit-id @foo\n'\
        'another one'\
        '\n```'
        release_notes = ReleaseNotes(
            component=CURRENT_COMPONENT,
            repo_dir='',
        )
        release_notes.release_note_objs = rls_note_objs
        self.assertEqual(
            exp_release_note_block,
            release_notes.release_note_blocks(),
        )
Exemplo n.º 10
0
    def test_render_no_reference_no_user(self):
        release_note_objs = [
            release_note_block_with_defaults(
                reference_type=None,
                reference_id=None,
                user_login=None,
                source_repo='github.com/madeup/a-foo-bar',
            ),
            release_note_block_with_defaults(
                reference_type=None,
                reference_id=None,
                user_login=None,
                source_repo=CURRENT_REPO_NAME,
            )
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## Improvements\n'\
            '* *[USER]* default release note text\n'\
            '# [a-foo-bar]\n'\
            '## Improvements\n'\
            '* *[USER]* default release note text'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 11
0
    def test_render_categories(self):
        release_note_objs = [
            release_note_block_with_defaults(
                category_id=CATEGORY_OTHER_ID,
                text='other release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_DOC_ID,
                text='documentation release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_BREAKING_ID,
                text='breaking change release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_BUGFIX_ID,
                text='bug fix release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_FEATURE_ID,
                text='new feature release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## ⚠️ Breaking Changes\n'\
            '* *[USER]* breaking change release note\n'\
            '## ✨ New Features\n'\
            '* *[USER]* new feature release note\n'\
            '## 🐛 Bug Fixes\n'\
            '* *[USER]* bug fix release note\n'\
            '## 📖 Documentation\n'\
            '* *[USER]* documentation release note\n'\
            '## 🏃 Others\n'\
            '* *[USER]* other release note'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 12
0
    def test_render_reference_commit(self):
        release_note_objs = [
            release_note_block_with_defaults(
                text='rls note 1',
                reference_type=REF_TYPE_COMMIT,
                reference_id='commit-id-1',
            ),
            # As the source repository is on the same github instance as the current repository
            # it can be auto linked by github, hence we do not need to build a link to the commit
            # with the cut off commit id as link text
            release_note_block_with_defaults(
                text='other component rls note',
                reference_type=REF_TYPE_COMMIT,
                reference_id='very-long-commit-id-that-will-not-be-shortened',
                user_login='******',
                source_component_repo_name='a-foo-bar',
            ),
            # the source repository is on a different github instance as the current repository.
            # It can not be auto linked by github, hence we need to build a link to the commit
            # with the cut off commit id as link text
            release_note_block_with_defaults(
                text='release note from different github instance',
                reference_type=REF_TYPE_COMMIT,
                reference_id='very-long-commit-id-that-will-be-shortened',
                user_login='******',
                source_component_hostname='madeup.enterprise.github.corp',
                source_component_org_name='o',
                source_component_repo_name='s',
            )
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = ''\
            '# [current-repo]\n'\
            '## 🏃 Others\n'\
            '* *[USER]* rls note 1 (commit-id-1, @foo)\n'\
            '# [a-foo-bar]\n'\
            '## 🏃 Others\n'\
            '* *[USER]* other component rls note ' \
            '(madeup/a-foo-bar@very-long-commit-id-that-will-not-be-shortened, @bar)\n'\
            '# [s]\n'\
            '## 🏃 Others\n'\
            '* *[USER]* release note from different github instance ' \
            '([o/s@very-long-co](https://madeup.enterprise.github.corp/o/s/commit/'\
            'very-long-commit-id-that-will-be-shortened), '\
            '[@bar](https://madeup.enterprise.github.corp/bar))'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 13
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)
Exemplo n.º 14
0
 def test_single_release_note_obj_to_block_str(self):
     rls_note_objs = [release_note_block_with_defaults()]
     exp_release_note_block = \
     '``` improvement user github.com/madeup/current-repo #42 @foo\n'\
     'default release note text'\
     '\n```'
     self.assertEqual(exp_release_note_block,
                      ReleaseNotes(rls_note_objs).release_note_blocks())
Exemplo n.º 15
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)
Exemplo n.º 16
0
    def test_render_remove_bullet_points(self):
        release_note_objs = [
            release_note_block_with_defaults(
                text='first line1\n* second line1',  #contains bullet point (*)
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                text=
                'first line2\n  * second line2',  # contains bullet point with extra spaces
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                text=
                '- first line3\n  - second line3',  # contains bullet point (-)
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                text='first line4\n*italic*',  # no bullet point, just italic
                reference_type=None,
                reference_id=None,
                user_login=None,
            )
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## Improvements\n'\
            '* *[USER]* first line1\n'\
            '  * second line1\n'\
            '* *[USER]* first line2\n'\
            '  * second line2\n'\
            '* *[USER]* first line3\n'\
            '  * second line3\n'\
            '* *[USER]* first line4\n'\
            '  * *italic*'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 17
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)
Exemplo n.º 18
0
 def test_multiple_release_note_objs_to_block_str(self):
     rls_note_objs = [
         release_note_block_with_defaults(),
         release_note_block_with_defaults(
             reference_type=REF_TYPE_COMMIT,
             reference_id='commit-id',
             text='another one',
             source_repo='github.com/s/repo',
         ),
     ]
     exp_release_note_block = \
     '``` improvement user github.com/madeup/current-repo #42 @foo\n'\
     'default release note text'\
     '\n```'\
     '\n'\
     '\n'\
     '``` improvement user github.com/s/repo $commit-id @foo\n'\
     'another one'\
     '\n```'
     self.assertEqual(exp_release_note_block,
                      ReleaseNotes(rls_note_objs).release_note_blocks())
Exemplo n.º 19
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)
Exemplo n.º 20
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)
Exemplo n.º 21
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)
Exemplo n.º 22
0
    def test_fetch_release_notes_from_commits(self):
        commits = [
            Commit(hash='commit-id1', subject='subject1', message='message1'),
            Commit(
                hash='commit-id2',
                subject='subject2',
                message='```improvement user\nrelease note text in commit\n```'
            ),
            Commit(
                hash='commit-id3',
                subject='subject2',
                message=
                'foo\n```improvement user\nrelease note text in commit 2\n```\nbar'
            )
        ]
        actual_rls_note_objs = fetch_release_notes_from_commits(
            commits, CURRENT_REPO)
        expected_rls_note_objs = [
            release_note_block_with_defaults(
                category_id=CATEGORY_IMPROVEMENT_ID,
                target_group_id=TARGET_GROUP_USER_ID,
                text='release note text in commit',
                reference_type=REF_TYPE_COMMIT,
                reference_id='commit-id2',
                user_login=None,
                source_repo=CURRENT_REPO.name(),
                cn_current_repo=CURRENT_REPO),
            release_note_block_with_defaults(
                category_id=CATEGORY_IMPROVEMENT_ID,
                target_group_id=TARGET_GROUP_USER_ID,
                text='release note text in commit 2',
                reference_type=REF_TYPE_COMMIT,
                reference_id='commit-id3',
                user_login=None,
                source_repo=CURRENT_REPO.name(),
                cn_current_repo=CURRENT_REPO),
        ]

        self.assertEqual(expected_rls_note_objs, actual_rls_note_objs)
Exemplo n.º 23
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)
Exemplo n.º 24
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)
Exemplo n.º 25
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)
Exemplo n.º 26
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)
Exemplo n.º 27
0
    def test_single_release_note_obj_to_block_str(self):
        rls_note_objs = [release_note_block_with_defaults()]
        exp_release_note_block = \
        '``` improvement user github.com/madeup/current-repo #42 @foo\n'\
        'default release note text'\
        '\n```'
        release_notes = ReleaseNotes(
            component=CURRENT_COMPONENT,
            repo_dir='',
        )
        release_notes.release_note_objs = rls_note_objs

        self.assertEqual(exp_release_note_block,
                         release_notes.release_note_blocks())
Exemplo n.º 28
0
    def test_render_deprecated_categories(self):
        release_note_objs = [
            release_note_block_with_defaults(
                category_id=CATEGORY_IMPROVEMENT_ID,
                text='improvement / other release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_ACTION_ID,
                text='action / breaking change release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
            release_note_block_with_defaults(
                category_id=CATEGORY_NOTEWORTHY_ID,
                text='noteworthy release note',
                reference_type=None,
                reference_id=None,
                user_login=None,
            ),
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '# [current-repo]\n'\
            '## ⚠️ Breaking Changes\n'\
            '* *[USER]* action / breaking change release note\n'\
            '## 🏃 Others\n'\
            '* *[USER]* improvement / other release note\n'\
            '## 📰 Noteworthy\n'\
            '* *[USER]* noteworthy release note'
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 29
0
    def test_render_from_other_github_should_auto_link(self):
        release_note_objs = [
            release_note_block_with_defaults(
                source_repo='madeup.enterprise.github.corp/o/s', )
        ]

        actual_md_str = MarkdownRenderer(
            release_note_objs=release_note_objs).render()
        expected_md_str = \
            '\n'.join((
                '# [s]',
                '## Improvements',
                '* *[USER]* default release note text '
                '([o/s#42](https://madeup.enterprise.github.corp/o/s/pull/42), '
                '[@foo](https://madeup.enterprise.github.corp/foo))'
            ))
        self.assertEqual(expected_md_str, actual_md_str)
Exemplo n.º 30
0
 def test_render_multiline_rls_note_should_have_2nd_level_bullet_points(
         self):
     multiline_text = \
     'first line with header\n'\
     'second line\n'\
     'third line\n'
     release_note_objs = [
         release_note_block_with_defaults(text=multiline_text, )
     ]
     actual_md_str = MarkdownRenderer(
         release_note_objs=release_note_objs).render()
     expected_md_str = \
         '# [current-repo]\n'\
         '## Improvements\n'\
         '* *[USER]* first line with header (#42, @foo)\n'\
         '  * second line\n'\
         '  * third line'
     self.assertEqual(expected_md_str, actual_md_str)