def test_date_version_part_increases_just_resets(mock_strftime): vp = vpart.DateVersionPart('major', value='2017', fmt='%Y') assert vp.value == '2017' mock_strftime.return_value = '2018' vp.inc() mock_strftime.assert_called_with('%Y') assert vp.value == '2018'
def test_conditional_reset_process_version_calls_reset_on_field(mocker): mocker.patch('punch.version_part.IntegerVersionPart.reset') v = ver.Version() part_year = vp.DateVersionPart('year', 2016, '%Y') part_month = vp.DateVersionPart('month', 1, '%m') part_build = vp.IntegerVersionPart('build') v.add_part(part_year) v.add_part(part_month) v.add_part(part_build) a = action.ConditionalResetAction(field='build', update_fields=['year', 'month']) a.process_version(v) assert part_build.reset.called
def test_date_version_part_reset(mocker): mock_strftime = mocker.patch('punch.version_part.strftime') vp = vpart.DateVersionPart('major', value='2017', fmt='%Y') assert vp.value == '2017' mock_strftime.return_value = '2018' vp.reset() mock_strftime.assert_called_with('%Y') assert vp.value == '2018'
def test_conditional_reset_process_version_checks_all_update_fields(mocker): mocker.patch('punch.version_part.DateVersionPart.inc') v = ver.Version() part_year = vp.DateVersionPart('year', 2016, '%Y') part_month = vp.DateVersionPart('month', 1, '%m') part_build = vp.IntegerVersionPart('build') v.add_part(part_year) v.add_part(part_month) v.add_part(part_build) a = conditional_reset.ConditionalResetAction({ 'field': 'build', 'update_fields': ['year', 'month'] }) a.process_version(v) assert part_year.inc.called assert part_month.inc.called
def test_conditional_reset_process_version_calls_increment_on_field(mocker): mocker.patch('punch.version_part.IntegerVersionPart.inc') strftime = mocker.patch('punch.version_part.strftime') strftime.return_value = 2016 v = ver.Version() part_year = vp.DateVersionPart('year', 2016, '%Y') part_build = vp.IntegerVersionPart('build') v.add_part(part_year) v.add_part(part_build) a = action.ConditionalResetAction(field='build', update_fields=['year']) a.process_version(v) assert part_build.inc.called
def test_date_version_part_copy(): vp = vpart.DateVersionPart('major', value='2017', fmt='%Y%m') nvp = vp.copy() assert nvp.fmt == '%Y%m'
def test_date_version_part_init_with_value(mock_strftime): mock_strftime.return_value = '2018' vp = vpart.DateVersionPart('major', value='2017', fmt='%Y') mock_strftime.assert_not_called() assert vp.value == '2017'
def test_date_version_part_init_without_value(mocker): mock_strftime = mocker.patch('punch.version_part.strftime') mock_strftime.return_value = '2018' vp = vpart.DateVersionPart('major', value=None, fmt='%Y') mock_strftime.assert_called_with('%Y') assert vp.value == '2018'