File tree Expand file tree Collapse file tree 2 files changed +47
-4
lines changed Expand file tree Collapse file tree 2 files changed +47
-4
lines changed Original file line number Diff line number Diff line change @@ -40,10 +40,15 @@ def refresh_bug_data(self, bug: Bug):
40
40
"""Re-fetch a bug to ensure we have the most up-to-date data"""
41
41
42
42
refreshed_bug_data = self .client .get_bug (bug .id )
43
- # When bugs come in as webhook payloads, they have a "comment"
44
- # attribute, but this field isn't available when we get a bug by ID.
45
- # So, we make sure to add the comment back if it was present on the bug.
46
- updated_bug = refreshed_bug_data .model_copy (update = {"comment" : bug .comment })
43
+ # When bugs come in as webhook payloads, they have "comment" and "attachment"
44
+ # attributes, but these fields aren't available when we get a bug by ID.
45
+ # So, we make sure to add them back if they were present on the bug.
46
+ updated_bug = refreshed_bug_data .model_copy (
47
+ update = {
48
+ "comment" : bug .comment ,
49
+ "attachment" : bug .attachment ,
50
+ }
51
+ )
47
52
return updated_bug
48
53
49
54
def list_webhooks (self ):
Original file line number Diff line number Diff line change
1
+ import pytest
2
+
3
+ from jbi import bugzilla
4
+
5
+
6
+ @pytest .fixture
7
+ def bugzilla_client (settings ):
8
+ return bugzilla .client .BugzillaClient (
9
+ base_url = settings .bugzilla_base_url , api_key = settings .bugzilla_api_key
10
+ )
11
+
12
+
13
+ @pytest .fixture
14
+ def bugzilla_service (bugzilla_client ):
15
+ return bugzilla .service .BugzillaService (bugzilla_client )
16
+
17
+
18
+ def test_refresh_bug_data_keeps_comment_and_attachment (
19
+ bugzilla_service , mocked_responses , bug_factory , settings
20
+ ):
21
+ bug = bug_factory (with_attachment = True , with_comment = True )
22
+ # https://bugzilla.readthedocs.io/en/latest/api/core/v1/bug.html#get-bug
23
+ mocked_responses .add (
24
+ "GET" ,
25
+ f"{ settings .bugzilla_base_url } /rest/bug/%s" % bug .id ,
26
+ json = {
27
+ "bugs" : [
28
+ {
29
+ "id" : bug .id ,
30
+ }
31
+ ],
32
+ },
33
+ )
34
+
35
+ updated = bugzilla_service .refresh_bug_data (bug )
36
+
37
+ assert updated .comment == bug .comment
38
+ assert updated .attachment == bug .attachment
You can’t perform that action at this time.
0 commit comments