@@ -145,12 +145,12 @@ def test_new_version_not_created(self, _copy_stored_file):
145145 old_file = self .addon .get_latest_file ()
146146 self ._run ()
147147
148- new = Webapp .objects .get (pk = self .addon .pk )
149- version = new .current_version
150- file = new .get_latest_file ()
148+ app = Webapp .objects .get (pk = self .addon .pk )
149+ version = app .current_version
150+ file = app .get_latest_file ()
151151
152- # Test that our new version looks good
153- eq_ (new .versions .count (), 1 )
152+ # Test that our new version looks good.
153+ eq_ (app .versions .count (), 1 )
154154 assert version == old_version , 'Version created'
155155 assert file == old_file , 'File created'
156156
@@ -166,8 +166,8 @@ def test_version_updated(self):
166166 self ._hash = 'foo'
167167 self ._run ()
168168
169- new = Webapp .objects .get (pk = self .addon .pk )
170- eq_ (new .versions .latest ().version , '1.1' )
169+ app = Webapp .objects .get (pk = self .addon .pk )
170+ eq_ (app .versions .latest ().version , '1.1' )
171171
172172 def test_not_log (self ):
173173 self ._hash = ohash
@@ -248,10 +248,9 @@ def test_manifest_name_change_rereview(self, open_manifest):
248248 # Mock original manifest file lookup.
249249 open_manifest .return_value = original
250250 # Mock new manifest with name change.
251- n = new .copy ()
252- n ['name' ] = 'Mozilla Ball Ultimate Edition'
251+ self .new ['name' ] = 'Mozilla Ball Ultimate Edition'
253252 response_mock = mock .Mock ()
254- response_mock .read .return_value = json .dumps (n )
253+ response_mock .read .return_value = json .dumps (self . new )
255254 response_mock .headers = {
256255 'Content-Type' : 'application/x-web-app-manifest+json' }
257256 self .urlopen_mock .return_value = response_mock
@@ -267,10 +266,9 @@ def test_manifest_locale_name_add_rereview(self, open_manifest):
267266 # Mock original manifest file lookup.
268267 open_manifest .return_value = original
269268 # Mock new manifest with name change.
270- n = new .copy ()
271- n ['locales' ] = {'es' : {'name' : 'eso' }}
269+ self .new ['locales' ] = {'es' : {'name' : 'eso' }}
272270 response_mock = mock .Mock ()
273- response_mock .read .return_value = json .dumps (n )
271+ response_mock .read .return_value = json .dumps (self . new )
274272 response_mock .headers = {
275273 'Content-Type' : 'application/x-web-app-manifest+json' }
276274 self .urlopen_mock .return_value = response_mock
@@ -290,10 +288,9 @@ def test_manifest_locale_name_change_rereview(self, open_manifest):
290288 # Mock original manifest file lookup.
291289 open_manifest .return_value = original
292290 # Mock new manifest with name change.
293- n = new .copy ()
294- n ['locales' ] = {'de' : {'name' : 'Bippity Bop' }}
291+ self .new ['locales' ] = {'de' : {'name' : 'Bippity Bop' }}
295292 response_mock = mock .Mock ()
296- response_mock .read .return_value = json .dumps (n )
293+ response_mock .read .return_value = json .dumps (self . new )
297294 response_mock .headers = {
298295 'Content-Type' : 'application/x-web-app-manifest+json' }
299296 self .urlopen_mock .return_value = response_mock
@@ -313,12 +310,11 @@ def test_manifest_default_locale_change(self, open_manifest):
313310 # Mock original manifest file lookup.
314311 open_manifest .return_value = original
315312 # Mock new manifest with name change.
316- n = new .copy ()
317- n ['name' ] = u'Mozilla Balón'
318- n ['default_locale' ] = 'es'
319- n ['locales' ] = {'en-US' : {'name' : 'MozillaBall' }}
313+ self .new ['name' ] = u'Mozilla Balón'
314+ self .new ['default_locale' ] = 'es'
315+ self .new ['locales' ] = {'en-US' : {'name' : 'MozillaBall' }}
320316 response_mock = mock .Mock ()
321- response_mock .read .return_value = json .dumps (n )
317+ response_mock .read .return_value = json .dumps (self . new )
322318 response_mock .headers = {
323319 'Content-Type' : 'application/x-web-app-manifest+json' }
324320 self .urlopen_mock .return_value = response_mock
@@ -341,10 +337,11 @@ def test_manifest_locale_name_removal_no_rereview(self, open_manifest):
341337 # Mock original manifest file lookup.
342338 open_manifest .return_value = original
343339 # Mock new manifest with name change.
344- n = new .copy ()
345- del n ['locales' ]['de' ]
340+ # Note: Not using `del` b/c copy doesn't copy nested structures.
341+ self .new ['locales' ] = {
342+ 'fr' : {'description' : 'Testing name-less locale' }}
346343 response_mock = mock .Mock ()
347- response_mock .read .return_value = json .dumps (n )
344+ response_mock .read .return_value = json .dumps (self . new )
348345 response_mock .headers = {
349346 'Content-Type' : 'application/x-web-app-manifest+json' }
350347 self .urlopen_mock .return_value = response_mock
@@ -360,10 +357,9 @@ def test_force_rereview(self, open_manifest):
360357 # Mock original manifest file lookup.
361358 open_manifest .return_value = original
362359 # Mock new manifest with name change.
363- n = new .copy ()
364- n ['name' ] = 'Mozilla Ball Ultimate Edition'
360+ self .new ['name' ] = 'Mozilla Ball Ultimate Edition'
365361 response_mock = mock .Mock ()
366- response_mock .read .return_value = json .dumps (n )
362+ response_mock .read .return_value = json .dumps (self . new )
367363 response_mock .headers = {
368364 'Content-Type' : 'application/x-web-app-manifest+json' }
369365 self .urlopen_mock .return_value = response_mock
@@ -379,3 +375,19 @@ def test_force_rereview(self, open_manifest):
379375
380376 # 2 logs: 1 for manifest update, 1 for re-review trigger.
381377 eq_ (ActivityLog .objects .for_apps (self .addon ).count (), 2 )
378+
379+ @mock .patch ('mkt.webapps.tasks._open_manifest' )
380+ def test_manifest_support_locales_change (self , open_manifest ):
381+ # Mock original manifest file lookup.
382+ open_manifest .return_value = original
383+ # Mock new manifest with name change.
384+ self .new ['locales' ].update ({'es' : {'name' : u'Mozilla Balón' }})
385+ response_mock = mock .Mock ()
386+ response_mock .read .return_value = json .dumps (self .new )
387+ response_mock .headers = {
388+ 'Content-Type' : 'application/x-web-app-manifest+json' }
389+ self .urlopen_mock .return_value = response_mock
390+
391+ self ._run ()
392+ ver = self .version .reload ()
393+ eq_ (ver .supported_locales , 'de,es,fr' )
0 commit comments