def test_add_change(self): changelog_file = os.path.join(os.path.dirname( os.path.realpath(__file__)), "data/CHANGELOG.md") changelog = kacl.load(changelog_file) msg = 'This is my first added change' changelog.add('Added', msg) changelog_dump = kacl.dump(changelog) self.assertIsNotNone(changelog_dump) changelog_changed = kacl.parse(changelog_dump) self.assertIsNotNone(changelog_changed) unreleased = changelog_changed.get('Unreleased') self.assertIsNotNone(unreleased) unreleased_change_sections = unreleased.sections() self.assertIsNotNone(unreleased_change_sections) self.assertIn('Added', unreleased_change_sections) unreleased_changes_added = unreleased.changes('Added') self.assertIsNotNone(unreleased_changes_added) self.assertIn(msg, unreleased_changes_added.items())
def test_release(self): valid_files = [ 'CHANGELOG.md', 'CHANGELOG_unrelease_only.md' ] for filename in valid_files: changelog_file = os.path.join(os.path.dirname( os.path.realpath(__file__)), "data", filename) changelog = kacl.load(changelog_file) msg = 'This is my first added change' changelog.add('Added', msg) self.assertTrue(changelog.has_changes()) changelog.release(version='2.0.0', link='https://my-new-version/2.0.0.html') changelog_dump = kacl.dump(changelog) self.assertIsNotNone(changelog_dump) changelog_changed = kacl.parse(changelog_dump) self.assertIsNotNone(changelog_changed) version = changelog_changed.get('2.0.0') self.assertIsNotNone(version) self.assertIn(msg, version.changes('Added').items())
def test_load_empty(self): changelog = kacl.parse("") self.assertFalse(changelog.is_valid())