def test_update_markdown_return_changelog_when_only_unreleased(self):
        released = """
## [1.2.3] - {}
### fixed
so much
### added
so little
### changed
I don't recognize it anymore
[1.2.3]: https://github.com/greenbone/pontos/compare/v1.0.0...v1.2.3""".format(
            date.today().isoformat()
        )

        unreleased = """
## [Unreleased]
### fixed
so much
### added
so little
### changed
I don't recognize it anymore
### security
[Unreleased]: https://github.com/greenbone/pontos/compare/v1.0.0...master"""

        test_md = unreleased
        released_md = released
        updated, release_notes = changelog.update(test_md, '1.2.3')
        self.assertEqual(released_md.strip(), updated.strip())
        self.assertEqual(released.strip(), release_notes.strip())
Example #2
0
def test_find_unreleased_information_before_after_another_version(self):
    unreleased = """
## Unreleased
### fixed
so much
### added
so little
### changed
I don't recognize it anymore
### security
[Unreleased]: https://github.com/greenbone/pontos/compare/v1.0.0...master 
"""
    test_md = """
# Changelog
something, somehing
- unreleased
- not unreleased
## 1.0.0
### added
- cool stuff 1
- cool stuff 2
{}
        """.format(unreleased)
    _, result = changelog.update(test_md, '', '')
    self.assertEqual(result.strip(), unreleased.strip())
Example #3
0
    def test_return_none_when_no_unreleased_information_found(self):
        test_md = """
# Changelog
something, somehing
- unreleased
- not unreleased
## 1.0.0
### added
- cool stuff 1
- cool stuff 2
"""
        _, cl = changelog.update(test_md, '', '')
        self.assertEqual(cl, '')
Example #4
0
    def test_markdown_empty_updated_and_changelog_on_no_unreleased(self):
        test_md = """
# Changelog
something, somehing
- unreleased
- not unreleased
## 1.0.0
### added
- cool stuff 1
- cool stuff 2
"""
        updated, release_notes = changelog.update(test_md, '1.2.3', 'hidden')
        self.assertIs('', updated)
        self.assertIs('', release_notes)
Example #5
0
    def test_update_markdown_return_changelog(self):
        keep_a_changelog_skeleton = """
## [Unreleased]
### Added
### Changed
### Deprecated
### Removed
### Fixed

[Unreleased]: https://github.com/greenbone/hidden/compare/v1.2.3...HEAD

"""
        released = """
## [1.2.3] - {}
### fixed
so much
### added
so little
### changed
I don't recognize it anymore
### security
[1.2.3]: https://github.com/greenbone/pontos/compare/v1.0.0...v1.2.3""".format(
            date.today().isoformat())

        unreleased = """
## [Unreleased]
### fixed
so much
### added
so little
### changed
I don't recognize it anymore
### security
[Unreleased]: https://github.com/greenbone/pontos/compare/v1.0.0...master"""
        test_md_template = """# Changelog
something, somehing
- unreleased
- not unreleased
{}
## 1.0.0
### added
- cool stuff 1
- cool stuff 2"""
        test_md = test_md_template.format(unreleased)
        released_md = test_md_template.format(keep_a_changelog_skeleton +
                                              released)
        updated, release_notes = changelog.update(test_md, '1.2.3', 'hidden')
        self.assertEqual(released_md.strip(), updated.strip())
        self.assertEqual(released.strip(), release_notes.strip())
    def test_markdown_based_on_example(self):
        own_path = Path(__file__).absolute()
        test_directory = own_path.__str__()[0 : (len(own_path.name) * -1)]
        path = test_directory + 'unreleased_changelog_example.md'
        expeced_changelog = Path(
            test_directory + 'expected_changelog.md'
        ).read_text()
        expeced_release_notes = Path(
            test_directory + 'expected_release_notes.md'
        ).read_text()
        expeced_changelog = expeced_changelog.format(date.today().isoformat())
        expeced_release_notes = expeced_release_notes.format(
            date.today().isoformat()
        )

        test_md = Path(path).read_text()
        updated, release_notes = changelog.update(test_md, '1.2.3', 'hidden')
        self.assertEqual(expeced_changelog, updated)
        self.assertEqual(expeced_release_notes, release_notes)
    def test_identify_heading_abort_condition_correctly(self):
        released = """
## [1.2.3] - {}
### fixed
so much
### added
so little
* Added support for GMP 20.08 [#254](https://github.com/greenbone/python-gvm/pull/254)
### changed
I don't recognize it anymore
[1.2.3]: https://github.com/greenbone/pontos/compare/v1.0.0...v1.2.3""".format(
            date.today().isoformat()
        )

        unreleased = """
## [Unreleased]
### fixed
so much
### added
so little
* Added support for GMP 20.08 [#254](https://github.com/greenbone/python-gvm/pull/254)
### changed
I don't recognize it anymore
### security
[Unreleased]: https://github.com/greenbone/pontos/compare/v1.0.0...HEAD"""
        test_md_template = """# Changelog
something, somehing
- unreleased
- not unreleased
{}

## 1.0.0
### added
- cool stuff 1
- cool stuff 2"""
        test_md = test_md_template.format(unreleased)
        released_md = test_md_template.format(released)
        updated, release_notes = changelog.update(test_md, '1.2.3')
        self.assertEqual(released_md.strip(), updated.strip())
        self.assertEqual(released.strip(), release_notes.strip())
Example #8
0
    def test_update_markdown_different_unreleased_sections(self):
        released_md = """
## [1.2.4] (Unreleased)
### fixed
not so much
### added
so little
### changed
I don't recognize it anymore
### security
[Unreleased]: https://github.com/greenbone/pontos/compare/v1.0.0...master

## [1.2.3] - {}
### fixed
so much wow
### added
so little
### changed
I don't recognize it anymore
[1.2.3]: https://github.com/greenbone/pontos/compare/v1.0.0...v1.2.3
""".format(
            date.today().isoformat()
        )

        unreleased = """
## [1.2.4] (Unreleased)
### fixed
not so much
### added
so little
### changed
I don't recognize it anymore
### security
[Unreleased]: https://github.com/greenbone/pontos/compare/v1.0.0...master

## [1.2.3] (Unreleased)
### fixed
so much wow
### added
so little
### changed
I don't recognize it anymore
### security
[Unreleased]: https://github.com/greenbone/pontos/compare/v1.0.0...master
"""

        released = """
## [1.2.3] - {}
### fixed
so much wow
### added
so little
### changed
I don't recognize it anymore
[1.2.3]: https://github.com/greenbone/pontos/compare/v1.0.0...v1.2.3
""".format(
            date.today().isoformat()
        )

        test_md = unreleased
        updated, release_notes = changelog.update(
            test_md, '1.2.3', containing_version='1.2.3'
        )
        print(updated)
        print(release_notes)
        self.assertEqual(released_md.strip(), updated.strip())
        self.assertEqual(released.strip(), release_notes.strip())