TT#1739 repoapi: fix 'change-merge' note to workfront

* it was not sending notes for change-merge'
* Dockerfile move back to /code

Change-Id: I6d85dcec894d57f1a106335656bf6bc7a02b3a1a
changes/72/7072/3
Victor Seva 9 years ago
parent 784cda3e02
commit a432b044d8

@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9 on 2016-07-18 11:36
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('repoapi', '0006_auto_20160714_1359'),
]
operations = [
migrations.AddField(
model_name='workfrontnoteinfo',
name='eventtype',
field=models.CharField(default='patchset-created', max_length=50),
preserve_default=False,
),
migrations.AlterUniqueTogether(
name='workfrontnoteinfo',
unique_together=set(
[('workfront_id', 'gerrit_change', 'eventtype')]),
),
]

@ -160,9 +160,10 @@ signals.post_save.connect(gerrit_repo_manage, sender=JenkinsBuildInfo)
class WorkfrontNoteInfo(models.Model):
workfront_id = models.CharField(max_length=50, null=False)
gerrit_change = models.CharField(max_length=50, null=False)
eventtype = models.CharField(max_length=50, null=False)
class Meta:
unique_together = ["workfront_id", "gerrit_change"]
unique_together = ["workfront_id", "gerrit_change", "eventtype"]
@staticmethod
def getIds(git_comment):
@ -198,12 +199,15 @@ def workfront_note_add(instance, message):
if not instance.gerrit_eventtype:
change = WorkfrontNoteInfo.getCommit(instance.git_commit_msg)
url = settings.GITWEB_URL.format(instance.projectname, change)
eventtype = 'git-commit'
else:
change = instance.gerrit_change
url = settings.GERRIT_URL.format(instance.gerrit_change)
eventtype = instance.gerrit_eventtype
note, created = wni.get_or_create(
workfront_id=wid,
gerrit_change=change)
gerrit_change=change,
eventtype=eventtype)
if created:
if not utils.workfront_note_send(wid, "%s %s" % (message, url)):
logger.error("remove releated WorkfrontNoteInfo")

@ -37,45 +37,46 @@ class WorkfrontNoteTestCase(TestCase):
res = WorkfrontNoteInfo.getCommit("1234567 TT#67676 whatever")
self.assertEquals(res, "1234567")
def get_defaults(self):
defaults = {
'tag': "edc90cd9-37f3-4613-9748-ed05a32031c2",
'projectname': "kamailio",
'jobname': "kamailio-gerrit",
'buildnumber': 897,
'result': "SUCCESS",
'job_url': "https://jenkins.mgm.sipwise.com/job/kamailio-gerrit/",
'gerrit_patchset': "1",
'gerrit_change': "2054",
'gerrit_eventtype': "patchset-created",
'param_tag': "none",
'param_branch': "master",
'param_release': "none",
'param_distribution': "wheezy",
'param_ppa': "gerrit_MT10339_review2054",
'git_commit_msg': "7fg4567 TT#0001 whatever",
}
return defaults
def get_non_gerrit_defaults(self):
defaults = self.get_defaults()
del defaults['gerrit_patchset']
del defaults['gerrit_change']
del defaults['gerrit_eventtype']
return defaults
@patch('repoapi.utils.workfront_note_send')
def test_note_gerrit(self, utils):
JenkinsBuildInfo.objects.create(
tag="edc90cd9-37f3-4613-9748-ed05a32031c2",
projectname="kamailio",
jobname="kamailio-gerrit",
buildnumber=897,
result="SUCCESS",
job_url="https://jenkins.mgm.sipwise.com/job/kamailio-gerrit/",
gerrit_patchset="1",
gerrit_change="2054",
gerrit_eventtype="patchset-created",
param_tag="none",
param_branch="master",
param_release="none",
param_distribution="wheezy",
param_ppa="gerrit_MT10339_review2054")
param = self.get_defaults()
JenkinsBuildInfo.objects.create(**param)
gri = WorkfrontNoteInfo.objects.filter(
workfront_id="0001",
gerrit_change="2054")
self.assertEquals(gri.count(), 0)
JenkinsBuildInfo.objects.create(
tag="edc90cd9-37f3-4613-9748-ed05a32031c2",
projectname="kamailio",
jobname="kamailio-get-code",
buildnumber=897,
result="SUCCESS",
job_url="https://jenkins.mgm.sipwise.com/job/kamailio-get-code/",
gerrit_patchset="1",
gerrit_change="2054",
gerrit_eventtype="patchset-created",
param_tag="none",
param_branch="master",
param_release="none",
param_distribution="wheezy",
param_ppa="gerrit_MT10339_review2054",
git_commit_msg="7fg4567 TT#0001 whatever")
param['jobname'] = "kamailio-get-code"
param['buildnumber'] = 897
JenkinsBuildInfo.objects.create(**param)
gri = WorkfrontNoteInfo.objects.filter(
workfront_id="0001",
@ -86,83 +87,61 @@ class WorkfrontNoteTestCase(TestCase):
@patch('repoapi.utils.workfront_note_send')
def test_note_merge(self, utils):
JenkinsBuildInfo.objects.create(
tag="edc90cd9-37f3-4613-9748-ed05a32031c2",
projectname="kamailio",
jobname="kamailio-gerrit",
buildnumber=897,
result="SUCCESS",
job_url="https://jenkins.mgm.sipwise.com/job/kamailio-gerrit/",
gerrit_patchset="1",
gerrit_change="2054",
gerrit_eventtype="change-merged",
param_tag="none",
param_branch="master",
param_release="none",
param_distribution="wheezy",
param_ppa="gerrit_MT10339_review2054")
param = self.get_defaults()
JenkinsBuildInfo.objects.create(**param)
gri = WorkfrontNoteInfo.objects.filter(
workfront_id="0001",
gerrit_change="2054")
self.assertEquals(gri.count(), 0)
JenkinsBuildInfo.objects.create(
tag="edc90cd9-37f3-4613-9748-ed05a32031c2",
projectname="kamailio",
jobname="kamailio-get-code",
buildnumber=897,
result="SUCCESS",
job_url="https://jenkins.mgm.sipwise.com/job/kamailio-get-code/",
gerrit_patchset="1",
param['jobname'] = "kamailio-get-code"
param['buildnumber'] = 897
JenkinsBuildInfo.objects.create(**param)
gri = WorkfrontNoteInfo.objects.filter(
workfront_id="0001",
gerrit_change="2054",
gerrit_eventtype="change-merged",
param_tag="none",
param_branch="master",
param_release="none",
param_distribution="wheezy",
param_ppa="gerrit_MT10339_review2054",
git_commit_msg="7fg456 TT#0001 whatever")
eventtype='patchset-created')
self.assertEquals(gri.count(), 1)
gri = WorkfrontNoteInfo.objects.filter(
workfront_id="0001",
gerrit_change="7fg4567")
self.assertEquals(gri.count(), 0)
msg = "review created %s" % settings.GERRIT_URL.format("2054")
utils.assert_called_once_with("0001", msg)
param['jobname'] = "kamailio-get-code"
param['buildnumber'] = 898
param['gerrit_eventtype'] = "change-merged"
JenkinsBuildInfo.objects.create(**param)
gri = WorkfrontNoteInfo.objects.filter(
workfront_id="0001",
gerrit_change="2054")
gerrit_change="2054",
eventtype='change-merged')
self.assertEquals(gri.count(), 1)
gri = WorkfrontNoteInfo.objects.filter(
workfront_id="0001",
gerrit_change="2054")
self.assertEquals(gri.count(), 2)
msg = "review merged %s" % settings.GERRIT_URL.format("2054")
utils.assert_called_once_with("0001", msg)
utils.assert_called_with("0001", msg)
@patch('repoapi.utils.workfront_note_send')
def test_note_commit(self, utils):
JenkinsBuildInfo.objects.create(
tag="edc90cd9-37f3-4613-9748-ed05a32031c2",
projectname="kamailio",
jobname="kamailio-get-code",
buildnumber=897,
result="SUCCESS",
job_url="https://jenkins.mgm.sipwise.com/job/kamailio-get-code/",
param_tag="none",
param_branch="master",
param_release="none",
param_distribution="wheezy",
git_commit_msg="7fg4567 TT#0001 whatever")
param = self.get_non_gerrit_defaults()
param['jobname'] = 'kamailio-get-code'
JenkinsBuildInfo.objects.create(**param)
gri = WorkfrontNoteInfo.objects.filter(
workfront_id="0001",
gerrit_change="7fg4567")
self.assertEquals(gri.count(), 1)
JenkinsBuildInfo.objects.create(
tag="edc90cd9-37f3-4613-9748-ed05a32031c2",
projectname="kamailio",
jobname="kamailio-binaries",
buildnumber=897,
result="SUCCESS",
job_url="https://jenkins.mgm.sipwise.com/job/kamailio-binaries/",
param_tag="none",
param_branch="master",
param_release="none",
param_distribution="wheezy",
git_commit_msg="7fg4567 TT#0001 whatever")
param['jobname'] = "kamailio-binaries"
param['buildnumber'] = 897
JenkinsBuildInfo.objects.create(**param)
gri = WorkfrontNoteInfo.objects.filter(
workfront_id="0001",

@ -5,7 +5,7 @@ FROM docker.mgm.sipwise.com/sipwise-jessie:latest
# is updated with the current date. It will force refresh of all
# of the base images and things like `apt-get update` won't be using
# old cached versions when the Dockerfile is built.
ENV REFRESHED_AT 2016-07-16
ENV REFRESHED_AT 2016-07-18
RUN apt-get update
RUN apt-get install --assume-yes python2.7 python2.7-dev python-distribute python-pip git
@ -16,7 +16,7 @@ RUN pip install -r /tmp/test.txt
RUN echo './t/testrunner' >>/root/.bash_history
WORKDIR /repoapi/
WORKDIR /code/
################################################################################
# Instructions for usage

Loading…
Cancel
Save