Exemplo n.º 1
0
    def test_release(self) -> None:

        releaser = Semversioner(path=self.directory_name)

        releaser.add_change("minor", "My description")
        releaser.add_change("major", "My description")
        self.assertEqual(
            releaser.get_status(), {
                'version':
                '0.0.0',
                'next_version':
                '1.0.0',
                'unreleased_changes': [{
                    'type': 'major',
                    'description': 'My description'
                }, {
                    'type': 'minor',
                    'description': 'My description'
                }],
            })
        releaser.release()
        self.assertEqual(releaser.get_status(), {
            'version': '1.0.0',
            'next_version': None,
            'unreleased_changes': [],
        })
        with self.assertRaises(SystemExit):
            releaser.release()
Exemplo n.º 2
0
    def test_release_stress(self) -> None:

        releaser = Semversioner(path=self.directory_name)

        expected = []
        for i in range(100):
            releaser.add_change("major", f"My description {i}")
            expected.append({
                'type': 'major',
                'description': f"My description {i}"
            })

        expected = sorted(expected, key=lambda k: k['type'] + k['description'])
        self.assertEqual(
            releaser.get_status(), {
                'version': '0.0.0',
                'next_version': '1.0.0',
                'unreleased_changes': expected,
            })
        releaser.release()
        self.assertEqual(releaser.get_status(), {
            'version': '1.0.0',
            'next_version': None,
            'unreleased_changes': [],
        })
Exemplo n.º 3
0
 def test_commands_with_no_changesets(self) -> None:
     releaser = Semversioner(path=self.directory_name)
     self.assertEqual(
         releaser.generate_changelog(),
         "# Changelog\nNote: version releases in the 0.x.y range may introduce breaking changes.\n"
     )
     self.assertEqual(releaser.get_last_version(), "0.0.0")
     self.assertEqual(releaser.get_status(), {
         'version': '0.0.0',
         'next_version': None,
         'unreleased_changes': [],
     })
     with self.assertRaises(SystemExit):
         releaser.release()
Exemplo n.º 4
0
    def test_empty_release(self):
        releaser = Semversioner(self.directory_name)

        with self.assertRaises(SystemExit):
            releaser.release()