Skip to content
This repository was archived by the owner on Mar 15, 2018. It is now read-only.

Commit e1990fd

Browse files
committed
POST the builder package key for newer jetpacks (bug 699606)
1 parent b340db6 commit e1990fd

2 files changed

Lines changed: 22 additions & 4 deletions

File tree

apps/files/tasks.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,9 +238,13 @@ def start_upgrade(file_ids, sdk_version=None, priority='low', **kw):
238238
'file_id': file_.id,
239239
'priority': priority,
240240
'secret': settings.BUILDER_SECRET_KEY,
241-
'location': file_.get_url_path('builder'),
242241
'uuid': data['uuid'],
243242
'pingback': absolutify(reverse('amo.builder-pingback'))}
243+
if file_.builder_version:
244+
post['package_key'] = file_.builder_version
245+
else:
246+
# Older jetpacks might not have builderVersion in their harness.
247+
post['location'] = file_.get_url_path('builder')
244248
if sdk_version:
245249
post['sdk_version'] = sdk_version
246250
try:

apps/files/tests/test_tasks.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,15 @@ def setUp(self):
3535
self.addCleanup(urllib2_patch.stop)
3636
JetpackUpgrader().jetpack_versions('0.9', '1.0')
3737

38-
def test_send_request(self):
38+
def file(self, **file_values):
39+
file_values.setdefault('jetpack_version', '0.9')
3940
addon = Addon.objects.get(id=3615)
40-
File.objects.all().update(jetpack_version='0.9')
4141
file_ = addon.current_version.all_files[0]
42+
file_.update(**file_values)
43+
return file_
44+
45+
def test_send_request(self):
46+
file_ = self.file(builder_version='1234500')
4247
tasks.start_upgrade([file_.id], sdk_version='1.2')
4348
assert self.urllib2.urlopen.called
4449
url, args = self.urllib2.urlopen.call_args[0]
@@ -48,13 +53,22 @@ def test_send_request(self):
4853
'file_id': str(file_.id),
4954
'priority': 'low',
5055
'secret': settings.BUILDER_SECRET_KEY,
51-
'location': file_.get_url_path('builder'),
56+
'package_key': file_.builder_version,
5257
'uuid': args['uuid'], # uuid is random so steal from args.
5358
'pingback': absolutify(reverse('amo.builder-pingback')),
5459
'sdk_version': '1.2',
5560
})
5661
eq_(url, settings.BUILDER_UPGRADE_URL)
5762

63+
def test_jetpack_with_older_harness_opt(self):
64+
file_ = self.file(builder_version=None) # old harness options
65+
tasks.start_upgrade([file_.id], sdk_version='1.2')
66+
url, args = self.urllib2.urlopen.call_args[0]
67+
args = dict(urlparse.parse_qsl(args))
68+
eq_(args['location'], file_.get_url_path('builder'))
69+
assert 'package_key' not in args, (
70+
'Unexpected keys: %s' % args.keys())
71+
5872

5973
class TestRepackageJetpack(amo.tests.TestCase):
6074
fixtures = ['base/addon_3615']

0 commit comments

Comments
 (0)