@@ -34,6 +34,29 @@ def _github_compare_commits_result(self, repo_name: str, end_sha: str) -> list[d
3434 {"id" : end_sha , "repository" : repo_name },
3535 ]
3636
37+ def _setup_github_compare_commits_cache_context (self ):
38+ org = self .create_organization (owner = self .user , name = "baz" )
39+ repo = Repository .objects .create (
40+ name = "example" ,
41+ provider = "integrations:github" ,
42+ organization_id = org .id ,
43+ )
44+ previous_release = Release .objects .create (organization_id = org .id , version = "old-release" )
45+ previous_commit = Commit .objects .create (
46+ organization_id = org .id , repository_id = repo .id , key = "a" * 40
47+ )
48+ ReleaseHeadCommit .objects .create (
49+ organization_id = org .id ,
50+ repository_id = repo .id ,
51+ release = previous_release ,
52+ commit = previous_commit ,
53+ )
54+
55+ refs = [{"repository" : repo .name , "commit" : "b" * 40 }]
56+ first_release = Release .objects .create (organization_id = org .id , version = "new-release-1" )
57+ second_release = Release .objects .create (organization_id = org .id , version = "new-release-2" )
58+ return org , repo , previous_release , first_release , second_release , refs
59+
3760 def test_github_compare_commits_cache_key_avoids_ambiguous_id_collisions (
3861 self , mock_record : MagicMock
3962 ) -> None :
@@ -113,29 +136,11 @@ def test_github_compare_commits_cache_flag_disabled(
113136 self .login_as (user = self .user )
114137 cache .clear ()
115138
116- org = self .create_organization (owner = self .user , name = "baz" )
117- repo = Repository .objects .create (
118- name = "example" ,
119- provider = "integrations:github" ,
120- organization_id = org .id ,
121- )
122- previous_release = Release .objects .create (organization_id = org .id , version = "old-release" )
123- previous_commit = Commit .objects .create (
124- organization_id = org .id , repository_id = repo .id , key = "a" * 40
139+ _ , repo , previous_release , first_release , second_release , refs = (
140+ self ._setup_github_compare_commits_cache_context ()
125141 )
126- ReleaseHeadCommit .objects .create (
127- organization_id = org .id ,
128- repository_id = repo .id ,
129- release = previous_release ,
130- commit = previous_commit ,
131- )
132-
133- refs = [{"repository" : repo .name , "commit" : "b" * 40 }]
134142 mock_compare_commits .return_value = self ._github_compare_commits_result (repo .name , "b" * 40 )
135143
136- first_release = Release .objects .create (organization_id = org .id , version = "new-release-1" )
137- second_release = Release .objects .create (organization_id = org .id , version = "new-release-2" )
138-
139144 with self .tasks ():
140145 fetch_commits (
141146 release_id = first_release .id ,
@@ -159,29 +164,11 @@ def test_github_compare_commits_cache_flag_enabled(
159164 self .login_as (user = self .user )
160165 cache .clear ()
161166
162- org = self .create_organization (owner = self .user , name = "baz" )
163- repo = Repository .objects .create (
164- name = "example" ,
165- provider = "integrations:github" ,
166- organization_id = org .id ,
167- )
168- previous_release = Release .objects .create (organization_id = org .id , version = "old-release" )
169- previous_commit = Commit .objects .create (
170- organization_id = org .id , repository_id = repo .id , key = "a" * 40
167+ org , repo , previous_release , first_release , second_release , refs = (
168+ self ._setup_github_compare_commits_cache_context ()
171169 )
172- ReleaseHeadCommit .objects .create (
173- organization_id = org .id ,
174- repository_id = repo .id ,
175- release = previous_release ,
176- commit = previous_commit ,
177- )
178-
179- refs = [{"repository" : repo .name , "commit" : "b" * 40 }]
180170 mock_compare_commits .return_value = self ._github_compare_commits_result (repo .name , "b" * 40 )
181171
182- first_release = Release .objects .create (organization_id = org .id , version = "new-release-1" )
183- second_release = Release .objects .create (organization_id = org .id , version = "new-release-2" )
184-
185172 with self .feature (
186173 {"organizations:integrations-github-fetch-commits-compare-cache" : [org .slug ]}
187174 ):
@@ -208,33 +195,15 @@ def test_github_compare_commits_cache_key_variance_on_end_sha(
208195 self .login_as (user = self .user )
209196 cache .clear ()
210197
211- org = self .create_organization (owner = self .user , name = "baz" )
212- repo = Repository .objects .create (
213- name = "example" ,
214- provider = "integrations:github" ,
215- organization_id = org .id ,
216- )
217- previous_release = Release .objects .create (organization_id = org .id , version = "old-release" )
218- previous_commit = Commit .objects .create (
219- organization_id = org .id , repository_id = repo .id , key = "a" * 40
198+ org , repo , previous_release , first_release , second_release , refs_first = (
199+ self ._setup_github_compare_commits_cache_context ()
220200 )
221- ReleaseHeadCommit .objects .create (
222- organization_id = org .id ,
223- repository_id = repo .id ,
224- release = previous_release ,
225- commit = previous_commit ,
226- )
227-
228- refs_first = [{"repository" : repo .name , "commit" : "b" * 40 }]
229201 refs_second = [{"repository" : repo .name , "commit" : "c" * 40 }]
230202 mock_compare_commits .side_effect = [
231203 self ._github_compare_commits_result (repo .name , "b" * 40 ),
232204 self ._github_compare_commits_result (repo .name , "c" * 40 ),
233205 ]
234206
235- first_release = Release .objects .create (organization_id = org .id , version = "new-release-1" )
236- second_release = Release .objects .create (organization_id = org .id , version = "new-release-2" )
237-
238207 with self .feature (
239208 {"organizations:integrations-github-fetch-commits-compare-cache" : [org .slug ]}
240209 ):
0 commit comments