Skip to content

Commit

Permalink
Personas don't have GUIDs, don't fail on (soft) deletion (bug 1189563)
Browse files Browse the repository at this point in the history
  • Loading branch information
magopian committed Jul 31, 2015
1 parent 7581411 commit bfc2f5e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
2 changes: 1 addition & 1 deletion apps/addons/models.py
Expand Up @@ -496,7 +496,7 @@ def delete(self, msg='', reason=''):
models.signals.pre_delete.send(sender=Addon, instance=self)
self._reviews.all().delete()
# The last parameter is needed to automagically create an AddonLog.
amo.log(amo.LOG.DELETE_ADDON, self.pk, self.guid, self)
amo.log(amo.LOG.DELETE_ADDON, self.pk, unicode(self.guid), self)
self.update(status=amo.STATUS_DELETED, slug=None, app_domain=None,
_current_version=None, guid=None)
models.signals.post_delete.send(sender=Addon, instance=self)
Expand Down
8 changes: 7 additions & 1 deletion apps/addons/tests/test_models.py
Expand Up @@ -504,7 +504,8 @@ def _delete(self, addon_id):
guid = addon.guid
addon.delete('bye')
assert addon_count == Addon.unfiltered.count() # Soft deletion.
assert BlacklistedGuid.objects.filter(guid=guid)
if guid: # Could be None: Personas don't have GUIDs.
assert BlacklistedGuid.objects.filter(guid=guid)
assert addon.status == amo.STATUS_DELETED
assert addon.slug is None
assert addon.current_version is None
Expand All @@ -528,6 +529,11 @@ def test_delete(self):
# with unique constraints on fields that got nullified.
self._delete(5299)

def test_delete_persona(self):
addon = amo.tests.addon_factory(type=amo.ADDON_PERSONA)
assert addon.guid is None # Personas don't have GUIDs.
self._delete(addon.pk)

def _delete_url(self):
"""Test deleting addon has URL in the email."""
a = Addon.objects.get(pk=4594)
Expand Down

0 comments on commit bfc2f5e

Please sign in to comment.