blob: 64db46e51b3a0a25e44ea32cefe9c5aaba6f5a80 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
import gitlab
def test_create_issue(project):
issue = project.issues.create({"title": "my issue 1"})
issue2 = project.issues.create({"title": "my issue 2"})
issue_iids = [issue.iid for issue in project.issues.list()]
assert len(issue_iids) == 2
# Test 'iids' as a list
assert len(project.issues.list(iids=issue_iids)) == 2
issue2.state_event = "close"
issue2.save()
assert len(project.issues.list(state="closed")) == 1
assert len(project.issues.list(state="opened")) == 1
assert isinstance(issue.user_agent_detail(), dict)
assert issue.user_agent_detail()["user_agent"]
assert issue.participants()
assert type(issue.closed_by()) == list
assert type(issue.related_merge_requests()) == list
def test_issue_notes(issue):
size = len(issue.notes.list())
note = issue.notes.create({"body": "This is an issue note"})
assert len(issue.notes.list()) == size + 1
emoji = note.awardemojis.create({"name": "tractor"})
assert len(note.awardemojis.list()) == 1
emoji.delete()
assert len(note.awardemojis.list()) == 0
note.delete()
assert len(issue.notes.list()) == size
def test_issue_labels(project, issue):
project.labels.create({"name": "label2", "color": "#aabbcc"})
issue.labels = ["label2"]
issue.save()
assert issue in project.issues.list(labels=["label2"])
assert issue in project.issues.list(labels="label2")
assert issue in project.issues.list(labels="Any")
assert issue not in project.issues.list(labels="None")
def test_issue_events(issue):
events = issue.resourcelabelevents.list()
assert isinstance(events, list)
event = issue.resourcelabelevents.get(events[0].id)
assert isinstance(event, gitlab.v4.objects.ProjectIssueResourceLabelEvent)
def test_issue_milestones(project, milestone):
data = {"title": "my issue 1", "milestone_id": milestone.id}
issue = project.issues.create(data)
assert milestone.issues().next().title == "my issue 1"
milestone_events = issue.resourcemilestoneevents.list()
assert isinstance(milestone_events, list)
milestone_event = issue.resourcemilestoneevents.get(milestone_events[0].id)
assert isinstance(
milestone_event, gitlab.v4.objects.ProjectIssueResourceMilestoneEvent
)
milestone_issues = project.issues.list(milestone=milestone.title)
assert len(milestone_issues) == 1
def test_issue_discussions(issue):
size = len(issue.discussions.list())
discussion = issue.discussions.create({"body": "Discussion body"})
assert len(issue.discussions.list()) == size + 1
d_note = discussion.notes.create({"body": "first note"})
d_note_from_get = discussion.notes.get(d_note.id)
d_note_from_get.body = "updated body"
d_note_from_get.save()
discussion = issue.discussions.get(discussion.id)
assert discussion.attributes["notes"][-1]["body"] == "updated body"
d_note_from_get.delete()
discussion = issue.discussions.get(discussion.id)
assert len(discussion.attributes["notes"]) == 1
|