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.full_version, "3.8.7.4+0~mr3.8.7.4")
self.assertEquals(changelog.package, "ngcp-fake") 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('__builtin__.open', mock_open(read_data=debian_changelog))
@patch('repoapi.utils.dlfile') @patch('repoapi.utils.dlfile')
@patch('repoapi.utils.workfront_set_release_target')
@patch('repoapi.utils.workfront_note_send') @patch('repoapi.utils.workfront_note_send')
def test_hotfixreleased(self, wns, dlfile): def test_hotfixreleased(self, wns, wsrt, dlfile):
param = self.get_defaults() param = self.get_defaults()
jbi = JenkinsBuildInfo.objects.create(**param) jbi = JenkinsBuildInfo.objects.create(**param)
tasks.hotfix_released.delay(jbi.pk, "/tmp/fake.txt") tasks.hotfix_released.delay(jbi.pk, "/tmp/fake.txt")
@ -89,3 +98,4 @@ class TestHotfixReleased(BaseTest):
msg = "hotfix %s %s triggered" % (projectname, version) msg = "hotfix %s %s triggered" % (projectname, version)
calls.append(call("123", msg)) calls.append(call("123", msg))
wns.assert_has_calls(calls) 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 # You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>. # with this program. If not, see <http://www.gnu.org/licenses/>.
from __future__ import absolute_import from __future__ import absolute_import
import re
import logging import logging
from debian.changelog import Changelog from debian.changelog import Changelog
from repoapi import utils from repoapi import utils
from .models import WorkfrontNoteInfo from .models import WorkfrontNoteInfo
hotfix_re_release = re.compile('.+~(mr[0-9]+\.[0-9]+\.[0-9]+).[0-9]+$')
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -32,6 +35,12 @@ def parse_changelog(path):
return (set_ids, changelog) 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): def create_note(wid, projectname, version):
wni = WorkfrontNoteInfo.objects wni = WorkfrontNoteInfo.objects
@ -42,3 +51,6 @@ def create_note(wid, projectname, version):
if created: if created:
msg = "hotfix %s %s triggered" % (note.projectname, note.version) msg = "hotfix %s %s triggered" % (note.projectname, note.version)
utils.workfront_note_send(wid, msg) 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