diff --git a/repoapi/models/jbi.py b/repoapi/models/jbi.py index 24cd91a..f752a0b 100644 --- a/repoapi/models/jbi.py +++ b/repoapi/models/jbi.py @@ -249,6 +249,10 @@ class JenkinsBuildInfo(models.Model): self.tag, ) + @property + def has_ppa(self): + return self.param_ppa not in ["$ppa", None] + @property def build_path(self): return settings.JBI_BASEDIR.joinpath( diff --git a/repoapi/signals.py b/repoapi/signals.py index 3a19b99..58a0edf 100644 --- a/repoapi/signals.py +++ b/repoapi/signals.py @@ -39,7 +39,7 @@ def jbi_manage(sender, **kwargs): def gerrit_repo_add(instance): - if instance.param_ppa == "$ppa": + if not instance.has_ppa: logger.warn("ppa unset, skip removal") return GerritRepoInfo = apps.get_model("repoapi", "GerritRepoInfo") @@ -68,7 +68,7 @@ def gerrit_repo_add(instance): def gerrit_repo_del(instance): - if instance.param_ppa == "$ppa": + if not instance.has_ppa: logger.warn("ppa unset, skip removal") return GerritRepoInfo = apps.get_model("repoapi", "GerritRepoInfo") @@ -93,7 +93,7 @@ def gerrit_repo_manage(sender, **kwargs): branch=instance.param_branch, ppa=instance.param_ppa, ) - if instance.param_ppa == "$ppa": + if not instance.has_ppa: logger.warn("ppa unset, skip") return if ( diff --git a/repoapi/test/test_basic_model.py b/repoapi/test/test_basic_model.py index 480c579..ecfcd4f 100644 --- a/repoapi/test/test_basic_model.py +++ b/repoapi/test/test_basic_model.py @@ -98,6 +98,16 @@ class JenkinsBuildInfoTestCase(BaseTest): job.job_url = JBI_HOST % "jenkins.local" self.assertTrue(job.is_job_url_allowed()) + def test_creation_no_ppa(self): + jbi = JenkinsBuildInfo.objects.create( + projectname="fake", + jobname="fake-get-code", + buildnumber=1, + result="OK", + ) + self.assertIsNone(jbi.param_ppa) + self.assertFalse(jbi.has_ppa) + class JenkinsBuildInfoProperties(BaseTest): fixtures = ["test_model_queries"]