From b3f7a3da295a7afae3dc92756a65a56473a37204 Mon Sep 17 00:00:00 2001 From: Rodrigo Gomes Date: Thu, 19 Mar 2020 14:12:03 +0100 Subject: [PATCH] OPT: add output field to pipelinerun --- katka/migrations/0033_scmpipelinerun_output.py | 14 ++++++++++++++ katka/models.py | 1 + katka/serializers.py | 1 + tests/integration/test_scmpipelinerun_view.py | 15 +++++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 katka/migrations/0033_scmpipelinerun_output.py diff --git a/katka/migrations/0033_scmpipelinerun_output.py b/katka/migrations/0033_scmpipelinerun_output.py new file mode 100644 index 0000000..f6afd99 --- /dev/null +++ b/katka/migrations/0033_scmpipelinerun_output.py @@ -0,0 +1,14 @@ +# Generated by Django 2.2.9 on 2020-03-19 12:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("katka", "0032_added_step_aborted"), + ] + + operations = [ + migrations.AddField(model_name="scmpipelinerun", name="output", field=models.TextField(blank=True),), + ] diff --git a/katka/models.py b/katka/models.py index 7b06b9a..7d1f123 100644 --- a/katka/models.py +++ b/katka/models.py @@ -131,6 +131,7 @@ class Meta: steps_completed = models.PositiveSmallIntegerField(default=0) pipeline_yaml = models.TextField(default="---") application = models.ForeignKey(Application, on_delete=models.PROTECT) + output = models.TextField(blank=True) class SCMStepRun(AuditedModel): diff --git a/katka/serializers.py b/katka/serializers.py index 2a7792d..c3ef59f 100644 --- a/katka/serializers.py +++ b/katka/serializers.py @@ -121,6 +121,7 @@ class Meta: "pipeline_yaml", "application", "scmrelease_set", + "output", ) read_only_fields = ("scmrelease_set",) diff --git a/tests/integration/test_scmpipelinerun_view.py b/tests/integration/test_scmpipelinerun_view.py index 6fa24f7..ae9dbee 100644 --- a/tests/integration/test_scmpipelinerun_view.py +++ b/tests/integration/test_scmpipelinerun_view.py @@ -211,6 +211,21 @@ def test_create_first_commit(self, client, logged_in_user, application, scm_pipe assert new_plr.first_parent_hash is None assert new_plr.status == PIPELINE_STATUS_INITIALIZING + def test_create_with_output(self, client, logged_in_user, application, scm_pipeline_run): + initial_count = models.SCMPipelineRun.objects.count() + url = f"/scm-pipeline-runs/" + data = { + "output": "a output", + "commit_hash": "874AE57A143AEC5156FD1444A017A32137A3E34A", + "application": application.public_identifier, + } + response = client.post(url, data=data, content_type="application/json") + assert response.status_code == 201 + assert models.SCMPipelineRun.objects.count() == initial_count + 1 + new_plr = models.SCMPipelineRun.objects.filter(output="a output").first() + assert new_plr.first_parent_hash is None + assert new_plr.status == PIPELINE_STATUS_INITIALIZING + def test_create_next_commit(self, client, logged_in_user, application, scm_pipeline_run): initial_count = models.SCMPipelineRun.objects.count() url = f"/scm-pipeline-runs/"