Skip to content

Commit 44f6f22

Browse files
tarekbadrshafrittoli
authored andcommitted
add taskrun obj
1 parent 1d8dc7f commit 44f6f22

File tree

5 files changed

+84
-48
lines changed

5 files changed

+84
-48
lines changed

cli/cdevents/cli/taskrun.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
"""Module for cli taskrun commands."""
22
from __future__ import annotations
3-
4-
import os
53
from typing import List
6-
74
import click
85

96
from cdevents.cli.utils import add_disclaimer_text, print_function_args
107
from cdevents.cli.cdevents_command import CDeventsCommand
118

12-
from cdevents.core.events import Events
13-
from cdevents.core import event_type
9+
from cdevents.core.taskrun import TaskRun, TaskRunType
1410

1511
# pylint: disable=unused-argument
1612
def common_taskrun_options(function):
@@ -57,10 +53,10 @@ def started(
5753
data: List[str] = None,
5854
):
5955
print_function_args()
60-
e = Events()
61-
new_event = e.create_taskrun_event(event_type.TaskRunStartedEventV1, id, name, pipelineid, data)
56+
taskrun = TaskRun(taskrun_type=TaskRunType.TaskRunStartedEventV1, id=id, name=name, pipelineid=pipelineid)
57+
taskrun_event = taskrun.create_event(data)
6258
cdevents_command = CDeventsCommand()
63-
cdevents_command.run(new_event)
59+
cdevents_command.run(taskrun_event)
6460

6561
@click.command(help=add_disclaimer_text("TaskRun Finished CloudEvent."))
6662
@common_taskrun_options
@@ -71,8 +67,8 @@ def finished(
7167
data: List[str] = None,
7268
):
7369
print_function_args()
74-
e = Events()
75-
new_event = e.create_taskrun_event(event_type.TaskRunFinishedEventV1, id, name, pipelineid, data)
70+
taskrun = TaskRun(taskrun_type=TaskRunType.TaskRunFinishedEventV1, id=id, name=name, pipelineid=pipelineid)
71+
taskrun_event = taskrun.create_event(data)
7672
cdevents_command = CDeventsCommand()
77-
cdevents_command.run(new_event)
73+
cdevents_command.run(taskrun_event)
7874

core/cdevents/core/event_type.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@
99
ChangeMergedEventV1 :str = "cd.repository.change.merged.v1"
1010
ChangeAbandonedEventV1 :str = "cd.repository.change.abandoned.v1"
1111

12-
# TaskRun events
13-
TaskRunStartedEventV1 :str = "cd.taskrun.started.v1"
14-
TaskRunFinishedEventV1 :str = "cd.taskrun.finished.v1"
15-
1612
# Test Events
1713
TestCaseStartedEventV1 :str = "cd.test.case.started.v1"
1814
TestCaseQueuedEventV1 :str = "cd.test.case.queued.v1"

core/cdevents/core/taskrun.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
"""taskrun"""
2+
3+
from enum import Enum
4+
from cdevents.core.events import Events
5+
6+
class TaskRunType(Enum):
7+
TaskRunStartedEventV1 :str = "cd.taskrun.started.v1"
8+
TaskRunFinishedEventV1 :str = "cd.taskrun.finished.v1"
9+
10+
11+
class TaskRun(Events):
12+
"""Taskrun."""
13+
14+
def __init__(self, taskrun_type: TaskRunType, id: str, name: str, pipelineid: str):
15+
"""Initializes class.
16+
"""
17+
self._event_type = taskrun_type
18+
self._id= id
19+
self._name = name
20+
self._pipelineid = pipelineid
21+
22+
23+
def create_extensions(self):
24+
"""Create extensions.
25+
"""
26+
extensions = {
27+
"taskrunid": self._id,
28+
"taskrunname": self._name,
29+
"taskrunpipelineid": self._pipelineid,
30+
}
31+
return extensions
32+
33+
def create_event(self, data: dict={}):
34+
"""Create taskrun event.
35+
"""
36+
extensions = self.create_extensions()
37+
event = super().create_event(event_type=self._event_type.value, extensions=extensions, data=data)
38+
return event

core/tests/test_service.py

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,44 @@
11
from cdevents.core import event_type
22
import pytest
33

4-
from cdevents.core.events import Events
4+
from cdevents.core.service import Service, ServiceType
55

66
@pytest.mark.unit
77
def test_service_deployed():
8-
event = Events().create_service_event(event_type.ServiceDeployedEventV1, envid="_envid", name="_name", version="_version", data={"service": "_service"})
9-
assert event is not None
10-
assert event._attributes["type"] == event_type.ServiceDeployedEventV1
11-
assert event._attributes["extensions"] == {"serviceenvid": "_envid", "servicename": "_name", "serviceversion": "_version"}
12-
assert event.data == {"service": "_service"}
8+
service = Service(service_type=ServiceType.ServiceDeployedEventV1, envid="_envid", name="_name", version="_version")
9+
service_event = service.create_event(data={"key1": "value1"})
10+
assert service_event is not None
11+
assert service_event._attributes["type"] == ServiceType.ServiceDeployedEventV1.value
12+
assert service_event._attributes["extensions"] == {"serviceenvid": "_envid", "servicename": "_name", "serviceversion": "_version"}
13+
assert service_event.data == {"key1": "value1"}
1314

1415

1516
@pytest.mark.unit
1617
def test_service_upgraded():
17-
event = Events().create_service_event(event_type.ServiceUpgradedEventV1, envid="_envid", name="_name", version="_version", data={"service": "_service"})
18-
assert event is not None
19-
assert event._attributes["type"] == event_type.ServiceUpgradedEventV1
20-
assert event._attributes["extensions"] == {"serviceenvid": "_envid", "servicename": "_name", "serviceversion": "_version"}
21-
assert event.data == {"service": "_service"}
18+
service = Service(service_type=ServiceType.ServiceUpgradedEventV1, envid="_envid", name="_name", version="_version")
19+
service_event = service.create_event(data={"key1": "value1"})
20+
assert service_event is not None
21+
assert service_event._attributes["type"] == ServiceType.ServiceUpgradedEventV1.value
22+
assert service_event._attributes["extensions"] == {"serviceenvid": "_envid", "servicename": "_name", "serviceversion": "_version"}
23+
assert service_event.data == {"key1": "value1"}
2224

2325

2426
@pytest.mark.unit
2527
def test_service_rolledback():
26-
event = Events().create_service_event(event_type.ServiceRolledbackEventV1, envid="_envid", name="_name", version="_version", data={"service": "_service"})
27-
assert event is not None
28-
assert event._attributes["type"] == event_type.ServiceRolledbackEventV1
29-
assert event._attributes["extensions"] == {"serviceenvid": "_envid", "servicename": "_name", "serviceversion": "_version"}
30-
assert event.data == {"service": "_service"}
28+
service = Service(service_type=ServiceType.ServiceRolledbackEventV1, envid="_envid", name="_name", version="_version")
29+
service_event = service.create_event(data={"key1": "value1"})
30+
assert service_event is not None
31+
assert service_event._attributes["type"] == ServiceType.ServiceRolledbackEventV1.value
32+
assert service_event._attributes["extensions"] == {"serviceenvid": "_envid", "servicename": "_name", "serviceversion": "_version"}
33+
assert service_event.data == {"key1": "value1"}
3134

3235

3336
@pytest.mark.unit
3437
def test_service_removed():
35-
event = Events().create_service_event(event_type.ServiceRemovedEventV1, envid="_envid", name="_name", version="_version", data={"service": "_service"})
36-
assert event is not None
37-
assert event._attributes["type"] == event_type.ServiceRemovedEventV1
38-
assert event._attributes["extensions"] == {"serviceenvid": "_envid", "servicename": "_name", "serviceversion": "_version"}
39-
assert event.data == {"service": "_service"}
38+
service = Service(service_type=ServiceType.ServiceRemovedEventV1, envid="_envid", name="_name", version="_version")
39+
service_event = service.create_event(data={"key1": "value1"})
40+
assert service_event is not None
41+
assert service_event._attributes["type"] == ServiceType.ServiceRemovedEventV1.value
42+
assert service_event._attributes["extensions"] == {"serviceenvid": "_envid", "servicename": "_name", "serviceversion": "_version"}
43+
assert service_event.data == {"key1": "value1"}
4044

core/tests/test_taskrun.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
1-
from cdevents.core import event_type
21
import pytest
32

4-
from cdevents.core.events import Events
3+
from cdevents.core.taskrun import TaskRun, TaskRunType
54

65
@pytest.mark.unit
76
def test_taskrun_started():
8-
event = Events().create_taskrun_event(event_type.TaskRunStartedEventV1, id="_id", name="_name", pipelineid="_pipelineid", data={"taskrun": "_taskrun"})
9-
assert event is not None
10-
assert event._attributes["type"] == event_type.TaskRunStartedEventV1
11-
assert event._attributes["extensions"] == {"taskrunid": "_id", "taskrunname": "_name", "taskrunpipelineid": "_pipelineid"}
12-
assert event.data == {"taskrun": "_taskrun"}
7+
taskrun = TaskRun(taskrun_type=TaskRunType.TaskRunStartedEventV1,id="_id", name="_name", pipelineid="_pipelineid")
8+
taskrun_event = taskrun.create_event(data={"key1": "value1"})
9+
assert taskrun_event is not None
10+
assert taskrun_event._attributes["type"] == TaskRunType.TaskRunStartedEventV1.value
11+
assert taskrun_event._attributes["extensions"] == {"taskrunid": "_id", "taskrunname": "_name", "taskrunpipelineid": "_pipelineid"}
12+
assert taskrun_event.data == {"key1": "value1"}
13+
1314

1415
@pytest.mark.unit
1516
def test_taskrun_finished():
16-
event = Events().create_taskrun_event(event_type.TaskRunFinishedEventV1, id="_id", name="_name", pipelineid="_pipelineid", data={"taskrun": "_taskrun"})
17-
assert event is not None
18-
assert event._attributes["type"] == event_type.TaskRunFinishedEventV1
19-
assert event._attributes["extensions"] == {"taskrunid": "_id", "taskrunname": "_name", "taskrunpipelineid": "_pipelineid"}
20-
assert event.data == {"taskrun": "_taskrun"}
17+
taskrun = TaskRun(taskrun_type=TaskRunType.TaskRunFinishedEventV1,id="_id", name="_name", pipelineid="_pipelineid")
18+
taskrun_event = taskrun.create_event(data={"key1": "value1"})
19+
assert taskrun_event is not None
20+
assert taskrun_event._attributes["type"] == TaskRunType.TaskRunFinishedEventV1.value
21+
assert taskrun_event._attributes["extensions"] == {"taskrunid": "_id", "taskrunname": "_name", "taskrunpipelineid": "_pipelineid"}
22+
assert taskrun_event.data == {"key1": "value1"}

0 commit comments

Comments
 (0)