Example #1
0
 def setUp(self, mocker):
     self.releaser = mocker.MagicMock()
     self.releaser.prev_version = Version.parse("1.2.3.dev")
     self.releaser.version = Version.parse("1.2.3")
     self.releaser.next_version = Version.parse("1.2.4.dev")
     self.releaser.timestamp = datetime.now()
     self.releaser.tag_label = "v1.2.3"
     self.releaser.config = Config()
Example #2
0
 def setUp(self, mocker):
     self.releaser = mocker.MagicMock()
     self.releaser.prev_version = Version.parse('1.2.3.dev')
     self.releaser.version = Version.parse('1.2.3')
     self.releaser.next_version = Version.parse('1.2.4.dev')
     self.releaser.timestamp = datetime.now()
     self.releaser.tag_label = 'v1.2.3'
     self.releaser.config = Config()
Example #3
0
def test_bump_suffix_override_unsuffix():
    version = Version(1, 2, 3, 'dev')

    version.bump(suffix='rc1', unsuffix=True)

    assert version.major == 1
    assert version.minor == 2
    assert version.patch == 3
    assert version.suffix == 'rc1'
Example #4
0
def test_bump_no_effect():
    version = Version(1, 2, 3, 'dev')

    version.bump(unsuffix=False)

    assert version.major == 1
    assert version.minor == 2
    assert version.patch == 3
    assert version.suffix == 'dev'
Example #5
0
def test_bump_suffix():
    version = Version(1, 2, 3, "dev")

    version.bump(suffix="rc1")

    assert version.major == 1
    assert version.minor == 2
    assert version.patch == 3
    assert version.suffix == "rc1"
Example #6
0
def test_bump_major():
    version = Version(1, 2, 3, "dev")

    version.bump(Version.MAJOR)

    assert version.major == 2
    assert version.minor == 0
    assert version.patch == 0
    assert version.suffix is None
Example #7
0
def test_bump_unsuffix():
    version = Version(1, 2, 3, 'dev')

    version.bump(unsuffix=True)

    assert version.major == 1
    assert version.minor == 2
    assert version.patch == 3
    assert version.suffix is None
Example #8
0
    def test_bump_patch(self):
        version = Version(1, 2, 3, 'dev')

        version.bump(Version.PATCH)

        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 2)
        self.assertEqual(version.patch, 4)
        self.assertEqual(version.suffix, None)
Example #9
0
def test_bump_minor():
    version = Version(1, 2, 3, 'dev')

    version.bump(Version.MINOR)

    assert version.major == 1
    assert version.minor == 3
    assert version.patch == 0
    assert version.suffix is None
Example #10
0
def test_bump_patch():
    version = Version(1, 2, 3, 'dev')

    version.bump(Version.PATCH)

    assert version.major == 1
    assert version.minor == 2
    assert version.patch == 4
    assert version.suffix is None
Example #11
0
    def test_bump_no_effect(self):
        version = Version(1, 2, 3, 'dev')

        version.bump(unsuffix=False)

        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 2)
        self.assertEqual(version.patch, 3)
        self.assertEqual(version.suffix, 'dev')
Example #12
0
    def test_bump_suffix_override_unsuffix(self):
        version = Version(1, 2, 3, 'dev')

        version.bump(suffix='rc1', unsuffix=True)

        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 2)
        self.assertEqual(version.patch, 3)
        self.assertEqual(version.suffix, 'rc1')
Example #13
0
    def test_bump_unsuffix(self):
        version = Version(1, 2, 3, 'dev')

        version.bump(unsuffix=True)

        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 2)
        self.assertEqual(version.patch, 3)
        self.assertEqual(version.suffix, None)
Example #14
0
    def test_bump_minor(self):
        version = Version(1, 2, 3, 'dev')

        version.bump(Version.MINOR)

        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 3)
        self.assertEqual(version.patch, 0)
        self.assertEqual(version.suffix, None)
Example #15
0
 def setUp(self, mocker):
     self.releaser = mocker.MagicMock()
     self.releaser.prev_version = Version.parse("1.2.3.dev")
     self.releaser.version = Version.parse("1.2.3")
     self.releaser.next_version = Version.parse("1.2.4.dev")
     self.releaser.timestamp = datetime.now()
     self.releaser.config.__getitem__.return_value = ObjectDict({})
     self.releaser.config.encoding = "utf8"
     self.releaser.config.verbose = False
     self.releaser.config.dryrun = False
Example #16
0
 def setUp(self):
     self.releaser = MagicMock()
     self.releaser.prev_version = Version.parse('1.2.3.dev')
     self.releaser.version = Version.parse('1.2.3')
     self.releaser.next_version = Version.parse('1.2.4.dev')
     self.releaser.timestamp = datetime.now()
     self.releaser.config.__getitem__.return_value = ObjectDict({})
     self.releaser.config.encoding = 'utf8'
     self.releaser.config.verbose = False
     self.releaser.config.dryrun = False
Example #17
0
 def setUp(self, mocker):
     self.releaser = mocker.MagicMock()
     self.releaser.prev_version = Version.parse('1.2.3.dev')
     self.releaser.version = Version.parse('1.2.3')
     self.releaser.next_version = Version.parse('1.2.4.dev')
     self.releaser.timestamp = datetime.now()
     self.releaser.config.__getitem__.return_value = ObjectDict({})
     self.releaser.config.encoding = 'utf8'
     self.releaser.config.verbose = False
     self.releaser.config.dryrun = False
Example #18
0
    def test_default_constructor(self):
        version = Version()

        self.assertEqual(version.major, 0)
        self.assertEqual(version.minor, 0)
        self.assertEqual(version.patch, 0)
        self.assertEqual(version.suffix, None)
Example #19
0
    def test_copy(self):
        version = Version(1, 2, 3, 'dev').copy()

        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 2)
        self.assertEqual(version.patch, 3)
        self.assertEqual(version.suffix, 'dev')
Example #20
0
    def test_constructor(self):
        version = Version(1, suffix='dev')

        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 0)
        self.assertEqual(version.patch, 0)
        self.assertEqual(version.suffix, 'dev')
Example #21
0
    def __init__(self, config):
        self.config = config

        with open(config.file) as f:
            match = re.search(config.regex, f.read())
            try:
                version_string = match.group('version')
                self.prev_version = Version.parse(version_string)
            except:
                raise BumprError('Version not found in {}'.format(config.file))

        logger.debug('Previous version: {0}'.format(self.prev_version))

        self.version = self.prev_version.copy()
        self.version.bump(config.bump.part, config.bump.unsuffix, config.bump.suffix)
        logger.debug('Bumped version: {0}'.format(self.version))

        self.next_version = self.version.copy()
        self.next_version.bump(config.prepare.part, config.prepare.unsuffix, config.prepare.suffix)
        logger.debug('Prepared version: {0}'.format(self.next_version))

        self.timestamp = None

        if config.vcs:
            self.vcs = VCS[config.vcs](verbose=config.verbose)
            self.vcs.validate()

        if config.dryrun:
            self.diffs = {}

        self.hooks = [hook(self) for hook in HOOKS if self.config[hook.key]]
Example #22
0
def test_constructor():
    version = Version(1, suffix='dev')

    assert version.major == 1
    assert version.minor == 0
    assert version.patch == 0
    assert version.suffix == 'dev'
Example #23
0
def test_default_constructor():
    version = Version()

    assert version.major == 0
    assert version.minor == 0
    assert version.patch == 0
    assert version.suffix is None
Example #24
0
def test_copy_bump():
    version = Version(1, 2, 3, 'dev').copy(part=Version.MINOR, unsuffix=True)

    assert version.major == 1
    assert version.minor == 3
    assert version.patch == 0
    assert version.suffix is None
Example #25
0
def test_copy():
    version = Version(1, 2, 3, 'dev').copy()

    assert version.major == 1
    assert version.minor == 2
    assert version.patch == 3
    assert version.suffix == 'dev'
Example #26
0
    def test_copy_bump(self):
        version = Version(1, 2, 3, 'dev').copy(part=Version.MINOR,
                                               unsuffix=True)

        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 3)
        self.assertEqual(version.patch, 0)
        self.assertEqual(version.suffix, None)
Example #27
0
    def test_parse(self):
        version = Version.parse('1.2.3')

        self.assertIsNotNone(version)
        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 2)
        self.assertEqual(version.patch, 3)
        self.assertEqual(version.suffix, None)
Example #28
0
    def test_parse_with_suffix(self):
        version = Version.parse('1.2.3.rc4')

        self.assertIsNotNone(version)
        self.assertEqual(version.major, 1)
        self.assertEqual(version.minor, 2)
        self.assertEqual(version.patch, 3)
        self.assertEqual(version.suffix, 'rc4')
Example #29
0
def test_parse_with_suffix():
    version = Version.parse('1.2.3.rc4')

    assert version is not None
    assert version.major == 1
    assert version.minor == 2
    assert version.patch == 3
    assert version.suffix == 'rc4'
Example #30
0
def test_parse():
    version = Version.parse('1.2.3')

    assert version is not None
    assert version.major == 1
    assert version.minor == 2
    assert version.patch == 3
    assert version.suffix is None
Example #31
0
 def setUp(self):
     self.releaser = MagicMock()
     self.releaser.version = Version.parse('1.2.3')
     self.releaser.config.__getitem__.return_value = ObjectDict({
         'id': 'fake',
         'url': 'http://{id}.somewhere.io/{tag}',
         'bump': '{version}',
         'prepare': 'latest',
     })
     self.hook = ReadTheDocHook(self.releaser)
Example #32
0
 def setUp(self, mocker):
     self.releaser = mocker.MagicMock()
     self.releaser.version = Version.parse('1.2.3')
     self.releaser.config.__getitem__.return_value = ObjectDict({
         'bump': 'bump command',
         'prepare': 'prepare command',
     })
     self.releaser.config.verbose = False
     self.releaser.config.dryrun = False
     self.hook = CommandsHook(self.releaser)
Example #33
0
 def setUp(self):
     self.releaser = MagicMock()
     self.releaser.version = Version.parse('1.2.3')
     self.releaser.config.__getitem__.return_value = ObjectDict({
         'bump':
         'bump command',
         'prepare':
         'prepare command',
     })
     self.releaser.config.verbose = False
     self.releaser.config.dryrun = False
     self.hook = CommandsHook(self.releaser)
Example #34
0
 def setUp(self, mocker):
     self.releaser = mocker.MagicMock()
     self.releaser.version = Version.parse("1.2.3")
     self.releaser.config.__getitem__.return_value = ObjectDict({
         "bump":
         "bump command",
         "prepare":
         "prepare command",
     })
     self.releaser.config.verbose = False
     self.releaser.config.dryrun = False
     self.hook = CommandsHook(self.releaser)
Example #35
0
    def __init__(self, config):
        self.config = config

        with open(config.file) as f:
            match = re.search(config.regex, f.read())
            try:
                version_string = match.group('version')
                self.prev_version = Version.parse(version_string)
            except Exception:
                raise BumprError('Unable to extract version from {0}'.format(config.file))

        logger.debug('Previous version: {0}'.format(self.prev_version))

        self.version = self.prev_version.copy()
        self.version.bump(config.bump.part, config.bump.unsuffix, config.bump.suffix)
        logger.debug('Bumped version: {0}'.format(self.version))

        self.next_version = self.version.copy()
        self.next_version.bump(config.prepare.part, config.prepare.unsuffix, config.prepare.suffix)
        logger.debug('Prepared version: {0}'.format(self.next_version))

        self.tag_label = self.config.tag_format.format(version=self.version)
        logger.debug('Tag: {0}'.format(self.tag_label))
        if self.config.tag_annotation:
            self.tag_annotation = self.config.tag_annotation.format(version=self.version)
            logger.debug('Tag annotation: {0}'.format(self.tag_annotation))

        self.timestamp = None

        if config.vcs:
            self.vcs = VCS[config.vcs](verbose=config.verbose)
            self.vcs.validate(dryrun=config.dryrun)

        if config.dryrun:
            self.modified = {}
            self.diffs = {}

        self.hooks = [hook(self) for hook in HOOKS if self.config[hook.key]]
Example #36
0
 def setUp(self, workspace, mocker):
     self.releaser = mocker.MagicMock()
     self.releaser.version = Version.parse('1.2.3')
     self.releaser.tag_label = 'v1.2.3'
     self.releaser.config = Config({ReadTheDocHook.key: {'id': 'fake'}})
     self.hook = ReadTheDocHook(self.releaser)