def serialize(self):
        obj = self.search()

        with self.assertNumQueries(0):
            serializer = ESAddonSerializer(context={'request': self.request})
            result = serializer.to_representation(obj)
        return result
    def serialize(self):
        obj = self.search()

        with self.assertNumQueries(0):
            serializer = ESAddonSerializer(context={'request': self.request})
            result = serializer.to_representation(obj)
        return result
Exemple #3
0
    def serialize(self):
        self.reindex(Addon)

        qs = Search(using=amo.search.get_es(),
                    index=AddonIndexer.get_index_alias(),
                    doc_type=AddonIndexer.get_doctype_name())
        obj = qs.filter('term', id=self.addon.pk).execute()[0]

        with self.assertNumQueries(0):
            serializer = ESAddonSerializer(context={'request': self.request})
            result = serializer.to_representation(obj)
        return result
    def serialize(self):
        self.reindex(Addon)

        qs = Search(using=amo.search.get_es(),
                    index=AddonIndexer.get_index_alias(),
                    doc_type=AddonIndexer.get_doctype_name())
        obj = qs.filter('term', id=self.addon.pk).execute()[0]

        with self.assertNumQueries(0):
            serializer = ESAddonSerializer(context={'request': self.request})
            result = serializer.to_representation(obj)
        return result
    def test_handle_persona_without_persona_data_in_index(self):
        """Make sure we handle missing persona data in the index somewhat
        gracefully, because it won't be in it when the commit that uses it
        lands, it will need a reindex first."""
        self.addon = addon_factory(type=amo.ADDON_PERSONA)
        persona = self.addon.persona
        persona.header = u'myheader.jpg'
        persona.footer = u'myfooter.jpg'
        persona.accentcolor = u'336699'
        persona.textcolor = u'f0f0f0'
        persona.author = u'Me-me-me-Myself'
        persona.display_username = u'my-username'
        persona.save()

        obj = self.search()
        delattr(obj, 'persona')

        with self.assertNumQueries(0):
            serializer = ESAddonSerializer(context={'request': self.request})
            result = serializer.to_representation(obj)

        assert 'theme_data' not in result
    def test_icon_url_without_modified_date(self):
        self.addon = addon_factory(icon_type='image/png')
        self.addon.update(created=datetime(year=1970, day=1, month=1))

        obj = self.search()
        delattr(obj, 'modified')

        with self.assertNumQueries(0):
            serializer = ESAddonSerializer(context={'request': self.request})
            result = serializer.to_representation(obj)

        assert result['id'] == self.addon.pk

        # icon_url should differ, since the serialized result could not use
        # the modification date.
        assert result['icon_url'] != absolutify(self.addon.get_icon_url(64))

        # If we pretend the original add-on modification date is its creation
        # date, then icon_url should be the same, since that's what we do when
        # we don't have a modification date in the serializer.
        self.addon.modified = self.addon.created
        assert result['icon_url'] == absolutify(self.addon.get_icon_url(64))
    def test_handle_persona_without_persona_data_in_index(self):
        """Make sure we handle missing persona data in the index somewhat
        gracefully, because it won't be in it when the commit that uses it
        lands, it will need a reindex first."""
        self.addon = addon_factory(type=amo.ADDON_PERSONA)
        persona = self.addon.persona
        persona.header = u'myheader.jpg'
        persona.footer = u'myfooter.jpg'
        persona.accentcolor = u'336699'
        persona.textcolor = u'f0f0f0'
        persona.author = u'Me-me-me-Myself'
        persona.display_username = u'my-username'
        persona.save()

        obj = self.search()
        delattr(obj, 'persona')

        with self.assertNumQueries(0):
            serializer = ESAddonSerializer(context={'request': self.request})
            result = serializer.to_representation(obj)

        assert 'theme_data' not in result
    def test_icon_url_without_modified_date(self):
        self.addon = addon_factory(icon_type='image/png')
        self.addon.update(created=datetime(year=1970, day=1, month=1))

        obj = self.search()
        delattr(obj, 'modified')

        with self.assertNumQueries(0):
            serializer = ESAddonSerializer(context={'request': self.request})
            result = serializer.to_representation(obj)

        assert result['id'] == self.addon.pk

        # icon_url should differ, since the serialized result could not use
        # the modification date.
        assert result['icon_url'] != absolutify(self.addon.get_icon_url(64))

        # If we pretend the original add-on modification date is its creation
        # date, then icon_url should be the same, since that's what we do when
        # we don't have a modification date in the serializer.
        self.addon.modified = self.addon.created
        assert result['icon_url'] == absolutify(self.addon.get_icon_url(64))