TT#96400 repoapi: deal with old gerritinfo data before last migration

* search has to be without projectname
* for new patcheset, update projectname

Change-Id: I1c26d39cd32694823397a376aa5d1444ff1b18da
pull/3/head
Victor Seva 6 years ago
parent 387dc2f248
commit 8298925591

@ -46,10 +46,14 @@ def gerrit_repo_add(instance):
ppa, created = gri.get_or_create(
param_ppa=instance.param_ppa,
gerrit_change=instance.gerrit_change,
projectname=instance.projectname,
defaults={"projectname": instance.projectname},
)
if created:
log.debug("ppa created", ppa=ppa)
elif ppa.projectname == "unknown":
ppa.projectname = instance.projectname
ppa.save()
log.info("ppa projectname updated")
def gerrit_repo_del(instance):

@ -1,4 +1,4 @@
# Copyright (C) 2015 The Sipwise Team - http://sipwise.com
# Copyright (C) 2015-2020 The Sipwise Team - http://sipwise.com
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
@ -12,7 +12,7 @@
#
# 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 mock import patch
from unittest.mock import patch
from repoapi.models import GerritRepoInfo
from repoapi.models import JenkinsBuildInfo
@ -196,3 +196,19 @@ class GerritRepoInfoTestCase(BaseTest):
)
self.assertEqual(gri.count(), 0)
rppa.assert_called_with("gerrit_MT10339_review2054")
def test_update_projectname(self, rppa, rp):
GerritRepoInfo.objects.create(
param_ppa="gerrit_MT10339_review2054",
gerrit_change="2054",
projectname="unknown",
)
param = self.get_defaults()
JenkinsBuildInfo.objects.create(**param)
gri = GerritRepoInfo.objects.filter(
param_ppa="gerrit_MT10339_review2054",
projectname=param["projectname"],
)
self.assertEqual(gri.count(), 1)
rppa.assert_not_called()
rp.assert_not_called()

Loading…
Cancel
Save