Merge ~cjwatson/launchpad:snap-charm-filter-uploads into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: 450964865816ea460e4314cd35b0a29d6d68cb52
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:snap-charm-filter-uploads
Merge into: launchpad:master
Diff against target: 508 lines (+89/-58)
5 files modified
lib/lp/charms/model/charmhubclient.py (+0/-10)
lib/lp/charms/model/charmrecipebuildjob.py (+6/-3)
lib/lp/charms/tests/test_charmrecipebuildjob.py (+38/-21)
lib/lp/snappy/model/snapbuildjob.py (+6/-3)
lib/lp/snappy/tests/test_snapbuildjob.py (+39/-21)
Reviewer Review Type Date Requested Status
Cristian Gonzalez (community) Approve
Review via email: mp+408680@code.launchpad.net

Commit message

Fix selection of snap/charm files to upload to the store

Description of the change

I lost the filter for files ending with ".snap" or ".charm" in a recent refactoring (https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/408582).

To post a comment you must log in.
Revision history for this message
Cristian Gonzalez (cristiangsp) wrote :

Looks good!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/lib/lp/charms/model/charmhubclient.py b/lib/lp/charms/model/charmhubclient.py
2index 33ea281..1ac2f6c 100644
3--- a/lib/lp/charms/model/charmhubclient.py
4+++ b/lib/lp/charms/model/charmhubclient.py
5@@ -210,16 +210,6 @@ class CharmhubClient:
6 timeline_action.finish()
7
8 @classmethod
9- def upload(cls, build):
10- """See `ICharmhubClient`."""
11- assert build.recipe.can_upload_to_store
12- for _, lfa, _ in build.getFiles():
13- if not lfa.filename.endswith(".charm"):
14- continue
15- upload_id = cls.uploadFile(lfa)
16- return cls._push(build, upload_id)
17-
18- @classmethod
19 def checkStatus(cls, build, status_url):
20 """See `ICharmhubClient`."""
21 status_url = urlappend(
22diff --git a/lib/lp/charms/model/charmrecipebuildjob.py b/lib/lp/charms/model/charmrecipebuildjob.py
23index cfe86a6..a0f7993 100644
24--- a/lib/lp/charms/model/charmrecipebuildjob.py
25+++ b/lib/lp/charms/model/charmrecipebuildjob.py
26@@ -323,13 +323,16 @@ class CharmhubUploadJob(CharmRecipeBuildJobDerived):
27 client = getUtility(ICharmhubClient)
28 try:
29 try:
30- lfa = next((row[1] for row in self.build.getFiles()), None)
31- if lfa is None:
32+ charm_lfa = next(
33+ (lfa for _, lfa, _ in self.build.getFiles()
34+ if lfa.filename.endswith(".charm")),
35+ None)
36+ if charm_lfa is None:
37 # Nothing to do.
38 self.error_message = None
39 return
40 if "upload_id" not in self.store_metadata:
41- self.upload_id = client.uploadFile(lfa)
42+ self.upload_id = client.uploadFile(charm_lfa)
43 # We made progress, so reset attempt_count.
44 self.attempt_count = 1
45 if "status_url" not in self.store_metadata:
46diff --git a/lib/lp/charms/tests/test_charmrecipebuildjob.py b/lib/lp/charms/tests/test_charmrecipebuildjob.py
47index d8c1e86..69865b1 100644
48--- a/lib/lp/charms/tests/test_charmrecipebuildjob.py
49+++ b/lib/lp/charms/tests/test_charmrecipebuildjob.py
50@@ -84,6 +84,19 @@ class FakeCharmhubClient:
51 self.release = FakeMethod()
52
53
54+class FileUploaded(MatchesListwise):
55+
56+ def __init__(self, filename):
57+ super().__init__([
58+ MatchesListwise([
59+ MatchesListwise([
60+ MatchesStructure.byEquality(filename=filename),
61+ ]),
62+ MatchesDict({}),
63+ ]),
64+ ])
65+
66+
67 class TestCharmRecipeBuildJob(TestCaseWithFactory):
68
69 layer = DatabaseFunctionalLayer
70@@ -130,12 +143,15 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
71 repr(job))
72
73 def makeCharmRecipeBuild(self, **kwargs):
74- # Make a build with a builder, a file, and a webhook.
75+ # Make a build with a builder, some files, and a webhook.
76 build = self.factory.makeCharmRecipeBuild(
77 builder=self.factory.makeBuilder(), **kwargs)
78 build.updateStatus(BuildStatus.FULLYBUILT)
79+ irrelevant_lfa = self.factory.makeLibraryFileAlias(
80+ filename="000-irrelevant.txt", content=b"irrelevant file")
81+ self.factory.makeCharmFile(build=build, library_file=irrelevant_lfa)
82 charm_lfa = self.factory.makeLibraryFileAlias(
83- filename="test-charm.charm", content="dummy charm content")
84+ filename="test-charm.charm", content=b"dummy charm content")
85 self.factory.makeCharmFile(build=build, library_file=charm_lfa)
86 self.factory.makeWebhook(
87 target=build.recipe, event_types=["charm-recipe:build:0.1"])
88@@ -180,7 +196,6 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
89 # revision.
90 logger = self.useFixture(FakeLogger())
91 build = self.makeCharmRecipeBuild()
92- charm_lfa = build.getFiles()[0][1]
93 self.assertContentEqual([], build.store_upload_jobs)
94 job = CharmhubUploadJob.create(build)
95 client = FakeCharmhubClient()
96@@ -190,7 +205,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
97 self.useFixture(ZopeUtilityFixture(client, ICharmhubClient))
98 with dbuser(config.ICharmhubUploadJobSource.dbuser):
99 run_isolated_jobs([job])
100- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
101+ self.assertThat(
102+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
103 self.assertEqual([((build, 1), {})], client.push.calls)
104 self.assertEqual(
105 [((build, self.status_url), {})], client.checkStatus.calls)
106@@ -205,7 +221,6 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
107 # A failed run sets the store upload status to FAILED.
108 logger = self.useFixture(FakeLogger())
109 build = self.makeCharmRecipeBuild()
110- charm_lfa = build.getFiles()[0][1]
111 self.assertContentEqual([], build.store_upload_jobs)
112 job = CharmhubUploadJob.create(build)
113 client = FakeCharmhubClient()
114@@ -213,7 +228,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
115 self.useFixture(ZopeUtilityFixture(client, ICharmhubClient))
116 with dbuser(config.ICharmhubUploadJobSource.dbuser):
117 run_isolated_jobs([job])
118- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
119+ self.assertThat(
120+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
121 self.assertEqual([], client.push.calls)
122 self.assertEqual([], client.checkStatus.calls)
123 self.assertEqual([], client.release.calls)
124@@ -234,7 +250,6 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
125 build = self.makeCharmRecipeBuild(
126 requester=requester_team, name="test-charm", owner=requester_team,
127 project=project)
128- charm_lfa = build.getFiles()[0][1]
129 self.assertContentEqual([], build.store_upload_jobs)
130 job = CharmhubUploadJob.create(build)
131 client = FakeCharmhubClient()
132@@ -244,7 +259,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
133 self.useFixture(ZopeUtilityFixture(client, ICharmhubClient))
134 with dbuser(config.ICharmhubUploadJobSource.dbuser):
135 run_isolated_jobs([job])
136- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
137+ self.assertThat(
138+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
139 self.assertEqual([], client.push.calls)
140 self.assertEqual([], client.checkStatus.calls)
141 self.assertEqual([], client.release.calls)
142@@ -287,7 +303,6 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
143 # retried.
144 logger = self.useFixture(FakeLogger())
145 build = self.makeCharmRecipeBuild()
146- charm_lfa = build.getFiles()[0][1]
147 self.assertContentEqual([], build.store_upload_jobs)
148 job = CharmhubUploadJob.create(build)
149 client = FakeCharmhubClient()
150@@ -296,7 +311,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
151 self.useFixture(ZopeUtilityFixture(client, ICharmhubClient))
152 with dbuser(config.ICharmhubUploadJobSource.dbuser):
153 run_isolated_jobs([job])
154- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
155+ self.assertThat(
156+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
157 self.assertEqual([], client.push.calls)
158 self.assertEqual([], client.checkStatus.calls)
159 self.assertEqual([], client.release.calls)
160@@ -316,7 +332,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
161 client.checkStatus.result = 1
162 with dbuser(config.ICharmhubUploadJobSource.dbuser):
163 run_isolated_jobs([job])
164- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
165+ self.assertThat(
166+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
167 self.assertEqual([((build, 1), {})], client.push.calls)
168 self.assertEqual(
169 [((build, self.status_url), {})], client.checkStatus.calls)
170@@ -339,7 +356,6 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
171 build = self.makeCharmRecipeBuild(
172 requester=requester_team, name="test-charm", owner=requester_team,
173 project=project)
174- charm_lfa = build.getFiles()[0][1]
175 self.assertContentEqual([], build.store_upload_jobs)
176 job = CharmhubUploadJob.create(build)
177 client = FakeCharmhubClient()
178@@ -348,7 +364,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
179 self.useFixture(ZopeUtilityFixture(client, ICharmhubClient))
180 with dbuser(config.ICharmhubUploadJobSource.dbuser):
181 run_isolated_jobs([job])
182- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
183+ self.assertThat(
184+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
185 self.assertEqual([], client.push.calls)
186 self.assertEqual([], client.checkStatus.calls)
187 self.assertEqual([], client.release.calls)
188@@ -392,7 +409,6 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
189 # charm schedules itself to be retried.
190 logger = self.useFixture(FakeLogger())
191 build = self.makeCharmRecipeBuild()
192- charm_lfa = build.getFiles()[0][1]
193 self.assertContentEqual([], build.store_upload_jobs)
194 job = CharmhubUploadJob.create(build)
195 client = FakeCharmhubClient()
196@@ -402,7 +418,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
197 self.useFixture(ZopeUtilityFixture(client, ICharmhubClient))
198 with dbuser(config.ICharmhubUploadJobSource.dbuser):
199 run_isolated_jobs([job])
200- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
201+ self.assertThat(
202+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
203 self.assertEqual([((build, 2), {})], client.push.calls)
204 self.assertEqual(
205 [((build, self.status_url), {})], client.checkStatus.calls)
206@@ -445,7 +462,6 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
207 build = self.makeCharmRecipeBuild(
208 requester=requester_team, name="test-charm", owner=requester_team,
209 project=project)
210- charm_lfa = build.getFiles()[0][1]
211 self.assertContentEqual([], build.store_upload_jobs)
212 job = CharmhubUploadJob.create(build)
213 client = FakeCharmhubClient()
214@@ -456,7 +472,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
215 self.useFixture(ZopeUtilityFixture(client, ICharmhubClient))
216 with dbuser(config.ICharmhubUploadJobSource.dbuser):
217 run_isolated_jobs([job])
218- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
219+ self.assertThat(
220+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
221 self.assertEqual([((build, 2), {})], client.push.calls)
222 self.assertEqual(
223 [((build, self.status_url), {})], client.checkStatus.calls)
224@@ -498,7 +515,6 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
225 # channels does so.
226 logger = self.useFixture(FakeLogger())
227 build = self.makeCharmRecipeBuild(store_channels=["stable", "edge"])
228- charm_lfa = build.getFiles()[0][1]
229 self.assertContentEqual([], build.store_upload_jobs)
230 job = CharmhubUploadJob.create(build)
231 client = FakeCharmhubClient()
232@@ -508,7 +524,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
233 self.useFixture(ZopeUtilityFixture(client, ICharmhubClient))
234 with dbuser(config.ICharmhubUploadJobSource.dbuser):
235 run_isolated_jobs([job])
236- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
237+ self.assertThat(
238+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
239 self.assertEqual([((build, 1), {})], client.push.calls)
240 self.assertEqual(
241 [((build, self.status_url), {})], client.checkStatus.calls)
242@@ -530,7 +547,6 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
243 build = self.makeCharmRecipeBuild(
244 requester=requester_team, name="test-charm", owner=requester_team,
245 project=project, store_channels=["stable", "edge"])
246- charm_lfa = build.getFiles()[0][1]
247 self.assertContentEqual([], build.store_upload_jobs)
248 job = CharmhubUploadJob.create(build)
249 client = FakeCharmhubClient()
250@@ -541,7 +557,8 @@ class TestCharmhubUploadJob(TestCaseWithFactory):
251 self.useFixture(ZopeUtilityFixture(client, ICharmhubClient))
252 with dbuser(config.ICharmhubUploadJobSource.dbuser):
253 JobRunner([job]).runAll()
254- self.assertEqual([((charm_lfa,), {})], client.uploadFile.calls)
255+ self.assertThat(
256+ client.uploadFile.calls, FileUploaded("test-charm.charm"))
257 self.assertEqual([((build, 1), {})], client.push.calls)
258 self.assertEqual(
259 [((build, self.status_url), {})], client.checkStatus.calls)
260diff --git a/lib/lp/snappy/model/snapbuildjob.py b/lib/lp/snappy/model/snapbuildjob.py
261index 8e79973..dbf43e1 100644
262--- a/lib/lp/snappy/model/snapbuildjob.py
263+++ b/lib/lp/snappy/model/snapbuildjob.py
264@@ -345,13 +345,16 @@ class SnapStoreUploadJob(SnapBuildJobDerived):
265 client = getUtility(ISnapStoreClient)
266 try:
267 try:
268- lfa = next((row[1] for row in self.snapbuild.getFiles()), None)
269- if lfa is None:
270+ snap_lfa = next(
271+ (lfa for _, lfa, _ in self.snapbuild.getFiles()
272+ if lfa.filename.endswith(".snap")),
273+ None)
274+ if snap_lfa is None:
275 # Nothing to do.
276 self.error_message = None
277 return
278 if "upload_id" not in self.store_metadata:
279- self.upload_id = client.uploadFile(lfa)
280+ self.upload_id = client.uploadFile(snap_lfa)
281 # We made progress, so reset attempt_count.
282 self.attempt_count = 1
283 if "status_url" not in self.store_metadata:
284diff --git a/lib/lp/snappy/tests/test_snapbuildjob.py b/lib/lp/snappy/tests/test_snapbuildjob.py
285index 1c1f316..68eef98 100644
286--- a/lib/lp/snappy/tests/test_snapbuildjob.py
287+++ b/lib/lp/snappy/tests/test_snapbuildjob.py
288@@ -79,6 +79,19 @@ class FakeSnapStoreClient:
289 self.listChannels = FakeMethod(result=[])
290
291
292+class FileUploaded(MatchesListwise):
293+
294+ def __init__(self, filename):
295+ super().__init__([
296+ MatchesListwise([
297+ MatchesListwise([
298+ MatchesStructure.byEquality(filename=filename),
299+ ]),
300+ MatchesDict({}),
301+ ]),
302+ ])
303+
304+
305 class TestSnapBuildJob(TestCaseWithFactory):
306
307 layer = DatabaseFunctionalLayer
308@@ -125,6 +138,10 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
309 snapbuild = self.factory.makeSnapBuild(
310 builder=self.factory.makeBuilder(), **kwargs)
311 snapbuild.updateStatus(BuildStatus.FULLYBUILT)
312+ irrelevant_lfa = self.factory.makeLibraryFileAlias(
313+ filename="000-irrelevant.txt", content=b"irrelevant file")
314+ self.factory.makeSnapFile(
315+ snapbuild=snapbuild, libraryfile=irrelevant_lfa)
316 snap_lfa = self.factory.makeLibraryFileAlias(
317 filename="test-snap.snap", content=b"dummy snap content")
318 self.factory.makeSnapFile(snapbuild=snapbuild, libraryfile=snap_lfa)
319@@ -169,7 +186,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
320 # and revision.
321 logger = self.useFixture(FakeLogger())
322 snapbuild = self.makeSnapBuild()
323- snap_lfa = snapbuild.getFiles()[0][1]
324 self.assertContentEqual([], snapbuild.store_upload_jobs)
325 job = SnapStoreUploadJob.create(snapbuild)
326 client = FakeSnapStoreClient()
327@@ -179,7 +195,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
328 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
329 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
330 run_isolated_jobs([job])
331- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
332+ self.assertThat(
333+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
334 self.assertEqual([((snapbuild, 1), {})], client.push.calls)
335 self.assertEqual([((self.status_url,), {})], client.checkStatus.calls)
336 self.assertContentEqual([job], snapbuild.store_upload_jobs)
337@@ -196,7 +213,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
338 # A failed run sets the store upload status to FAILED.
339 logger = self.useFixture(FakeLogger())
340 snapbuild = self.makeSnapBuild()
341- snap_lfa = snapbuild.getFiles()[0][1]
342 self.assertContentEqual([], snapbuild.store_upload_jobs)
343 job = SnapStoreUploadJob.create(snapbuild)
344 client = FakeSnapStoreClient()
345@@ -204,7 +220,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
346 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
347 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
348 run_isolated_jobs([job])
349- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
350+ self.assertThat(
351+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
352 self.assertEqual([], client.push.calls)
353 self.assertEqual([], client.checkStatus.calls)
354 self.assertContentEqual([job], snapbuild.store_upload_jobs)
355@@ -225,7 +242,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
356 owner=requester, name="requester-team", members=[requester])
357 snapbuild = self.makeSnapBuild(
358 requester=requester_team, name="test-snap", owner=requester_team)
359- snap_lfa = snapbuild.getFiles()[0][1]
360 self.assertContentEqual([], snapbuild.store_upload_jobs)
361 job = SnapStoreUploadJob.create(snapbuild)
362 client = FakeSnapStoreClient()
363@@ -235,7 +251,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
364 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
365 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
366 run_isolated_jobs([job])
367- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
368+ self.assertThat(
369+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
370 self.assertEqual([((snapbuild, 1), {})], client.push.calls)
371 self.assertEqual([], client.checkStatus.calls)
372 self.assertContentEqual([job], snapbuild.store_upload_jobs)
373@@ -277,7 +294,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
374 # retried.
375 logger = self.useFixture(FakeLogger())
376 snapbuild = self.makeSnapBuild()
377- snap_lfa = snapbuild.getFiles()[0][1]
378 self.assertContentEqual([], snapbuild.store_upload_jobs)
379 job = SnapStoreUploadJob.create(snapbuild)
380 client = FakeSnapStoreClient()
381@@ -286,7 +302,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
382 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
383 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
384 run_isolated_jobs([job])
385- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
386+ self.assertThat(
387+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
388 self.assertEqual([], client.push.calls)
389 self.assertEqual([], client.checkStatus.calls)
390 self.assertContentEqual([job], snapbuild.store_upload_jobs)
391@@ -308,7 +325,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
392 client.checkStatus.result = (self.store_url, 1)
393 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
394 run_isolated_jobs([job])
395- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
396+ self.assertThat(
397+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
398 self.assertEqual([((snapbuild, 1), {})], client.push.calls)
399 self.assertEqual([((self.status_url,), {})], client.checkStatus.calls)
400 self.assertContentEqual([job], snapbuild.store_upload_jobs)
401@@ -331,7 +349,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
402 owner=requester, name="requester-team", members=[requester])
403 snapbuild = self.makeSnapBuild(
404 requester=requester_team, name="test-snap", owner=requester_team)
405- snap_lfa = snapbuild.getFiles()[0][1]
406 self.assertContentEqual([], snapbuild.store_upload_jobs)
407 job = SnapStoreUploadJob.create(snapbuild)
408 client = FakeSnapStoreClient()
409@@ -340,7 +357,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
410 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
411 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
412 run_isolated_jobs([job])
413- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
414+ self.assertThat(
415+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
416 self.assertEqual([((snapbuild, 1), {})], client.push.calls)
417 self.assertEqual([], client.checkStatus.calls)
418 self.assertContentEqual([job], snapbuild.store_upload_jobs)
419@@ -387,7 +405,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
420 owner=requester, name="requester-team", members=[requester])
421 snapbuild = self.makeSnapBuild(
422 requester=requester_team, name="test-snap", owner=requester_team)
423- snap_lfa = snapbuild.getFiles()[0][1]
424 self.assertContentEqual([], snapbuild.store_upload_jobs)
425 job = SnapStoreUploadJob.create(snapbuild)
426 client = FakeSnapStoreClient()
427@@ -396,7 +413,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
428 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
429 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
430 run_isolated_jobs([job])
431- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
432+ self.assertThat(
433+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
434 self.assertEqual([], client.push.calls)
435 self.assertEqual([], client.checkStatus.calls)
436 self.assertContentEqual([job], snapbuild.store_upload_jobs)
437@@ -441,7 +459,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
438 # package schedules itself to be retried.
439 logger = self.useFixture(FakeLogger())
440 snapbuild = self.makeSnapBuild()
441- snap_lfa = snapbuild.getFiles()[0][1]
442 self.assertContentEqual([], snapbuild.store_upload_jobs)
443 job = SnapStoreUploadJob.create(snapbuild)
444 client = FakeSnapStoreClient()
445@@ -451,7 +468,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
446 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
447 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
448 run_isolated_jobs([job])
449- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
450+ self.assertThat(
451+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
452 self.assertEqual([((snapbuild, 2), {})], client.push.calls)
453 self.assertEqual([((self.status_url,), {})], client.checkStatus.calls)
454 self.assertContentEqual([job], snapbuild.store_upload_jobs)
455@@ -495,7 +513,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
456 owner=requester, name="requester-team", members=[requester])
457 snapbuild = self.makeSnapBuild(
458 requester=requester_team, name="test-snap", owner=requester_team)
459- snap_lfa = snapbuild.getFiles()[0][1]
460 self.assertContentEqual([], snapbuild.store_upload_jobs)
461 job = SnapStoreUploadJob.create(snapbuild)
462 client = FakeSnapStoreClient()
463@@ -509,7 +526,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
464 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
465 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
466 run_isolated_jobs([job])
467- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
468+ self.assertThat(
469+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
470 self.assertEqual([((snapbuild, 2), {})], client.push.calls)
471 self.assertEqual([((self.status_url,), {})], client.checkStatus.calls)
472 self.assertContentEqual([job], snapbuild.store_upload_jobs)
473@@ -555,7 +573,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
474 # URL or revision.
475 logger = self.useFixture(FakeLogger())
476 snapbuild = self.makeSnapBuild()
477- snap_lfa = snapbuild.getFiles()[0][1]
478 self.assertContentEqual([], snapbuild.store_upload_jobs)
479 job = SnapStoreUploadJob.create(snapbuild)
480 client = FakeSnapStoreClient()
481@@ -565,7 +582,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
482 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
483 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
484 run_isolated_jobs([job])
485- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
486+ self.assertThat(
487+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
488 self.assertEqual([((snapbuild, 1), {})], client.push.calls)
489 self.assertEqual([((self.status_url,), {})], client.checkStatus.calls)
490 self.assertContentEqual([job], snapbuild.store_upload_jobs)
491@@ -583,7 +601,6 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
492 # channels does so.
493 logger = self.useFixture(FakeLogger())
494 snapbuild = self.makeSnapBuild(store_channels=["stable", "edge"])
495- snap_lfa = snapbuild.getFiles()[0][1]
496 self.assertContentEqual([], snapbuild.store_upload_jobs)
497 job = SnapStoreUploadJob.create(snapbuild)
498 client = FakeSnapStoreClient()
499@@ -593,7 +610,8 @@ class TestSnapStoreUploadJob(TestCaseWithFactory):
500 self.useFixture(ZopeUtilityFixture(client, ISnapStoreClient))
501 with dbuser(config.ISnapStoreUploadJobSource.dbuser):
502 run_isolated_jobs([job])
503- self.assertEqual([((snap_lfa,), {})], client.uploadFile.calls)
504+ self.assertThat(
505+ client.uploadFile.calls, FileUploaded("test-snap.snap"))
506 self.assertEqual([((snapbuild, 1), {})], client.push.calls)
507 self.assertEqual([((self.status_url,), {})], client.checkStatus.calls)
508 self.assertContentEqual([job], snapbuild.store_upload_jobs)

Subscribers

People subscribed via source and target branches

to status/vote changes: