def test_update_changelog_with_non_hotfix_branch(self):
     try:
         release_summary_lines = read_from_file(
             MOCK_RELEASE_SUMMARY_FILEPATH)
         changelog_filelines = read_from_file(MOCK_CHANGELOG_FILEPATH)
         expected_filelines = read_from_file(
             MOCK_UPDATED_CHANGELOG_FILEPATH)
         changelog_swap = self.swap(update_changelog_and_credits,
                                    'CHANGELOG_FILEPATH',
                                    MOCK_CHANGELOG_FILEPATH)
         date_swap = self.swap(update_changelog_and_credits, 'CURRENT_DATE',
                               '29 Aug 2019')
         with changelog_swap, date_swap:
             update_changelog_and_credits.update_changelog(
                 'release-1.2.3', release_summary_lines, '1.2.3')
         actual_filelines = read_from_file(MOCK_CHANGELOG_FILEPATH)
         self.assertEqual(actual_filelines, expected_filelines)
     finally:
         write_to_file(MOCK_CHANGELOG_FILEPATH, changelog_filelines)
    def test_update_changelog_with_hotfix_branch(self):
        def mock_check_output(unused_cmd_tokens):
            return 'v1.0.0\nv1.0.1\nv1.0.2\n'

        check_output_swap = self.swap(subprocess, 'check_output',
                                      mock_check_output)
        try:
            release_summary_lines = read_from_file(
                MOCK_RELEASE_SUMMARY_FILEPATH)
            changelog_filelines = read_from_file(MOCK_CHANGELOG_FILEPATH)
            expected_filelines = read_from_file(
                MOCK_UPDATED_CHANGELOG_FILEPATH_FOR_REMOVAL_TEST)
            changelog_swap = self.swap(update_changelog_and_credits,
                                       'CHANGELOG_FILEPATH',
                                       MOCK_CHANGELOG_FILEPATH)
            date_swap = self.swap(update_changelog_and_credits, 'CURRENT_DATE',
                                  '29 Aug 2019')
            with changelog_swap, date_swap, check_output_swap:
                update_changelog_and_credits.update_changelog(
                    'release-1.0.2-hotfix-1', release_summary_lines, '1.0.2')
            actual_filelines = read_from_file(MOCK_CHANGELOG_FILEPATH)
            self.assertEqual(actual_filelines, expected_filelines)
        finally:
            write_to_file(MOCK_CHANGELOG_FILEPATH, changelog_filelines)