TT#16532 hotfix: set target_release

Change-Id: Ic052b94a1982c888436d8a22137f23b08c246f84
changes/35/13335/1
Victor Seva 9 years ago
parent 3619113e56
commit 9863acefb1

@ -61,10 +61,19 @@ class TestHotfixReleased(BaseTest):
self.assertEquals(changelog.full_version, "3.8.7.4+0~mr3.8.7.4")
self.assertEquals(changelog.package, "ngcp-fake")
def test_get_target_release(self):
val = utils.get_target_release("3.8.7.4+0~mr3.8.7.4")
self.assertEquals(val, "mr3.8.7")
def test_get_target_release_ko(self):
val = utils.get_target_release("3.8.7.4-1")
self.assertIsNone(val)
@patch('__builtin__.open', mock_open(read_data=debian_changelog))
@patch('repoapi.utils.dlfile')
@patch('repoapi.utils.workfront_set_release_target')
@patch('repoapi.utils.workfront_note_send')
def test_hotfixreleased(self, wns, dlfile):
def test_hotfixreleased(self, wns, wsrt, dlfile):
param = self.get_defaults()
jbi = JenkinsBuildInfo.objects.create(**param)
tasks.hotfix_released.delay(jbi.pk, "/tmp/fake.txt")
@ -89,3 +98,4 @@ class TestHotfixReleased(BaseTest):
msg = "hotfix %s %s triggered" % (projectname, version)
calls.append(call("123", msg))
wns.assert_has_calls(calls)
wsrt.assert_has_calls([call("345", "mr3.8.7"), call("123", "mr3.8.7")])

@ -13,11 +13,14 @@
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
from __future__ import absolute_import
import re
import logging
from debian.changelog import Changelog
from repoapi import utils
from .models import WorkfrontNoteInfo
hotfix_re_release = re.compile('.+~(mr[0-9]+\.[0-9]+\.[0-9]+).[0-9]+$')
logger = logging.getLogger(__name__)
@ -32,6 +35,12 @@ def parse_changelog(path):
return (set_ids, changelog)
def get_target_release(version):
match = hotfix_re_release.search(version)
if match:
return match.group(1)
def create_note(wid, projectname, version):
wni = WorkfrontNoteInfo.objects
@ -42,3 +51,6 @@ def create_note(wid, projectname, version):
if created:
msg = "hotfix %s %s triggered" % (note.projectname, note.version)
utils.workfront_note_send(wid, msg)
target_release = get_target_release(note.version)
if target_release:
utils.workfront_set_release_target(wid, target_release)

Loading…
Cancel
Save