Exemple #1
0
 def test_addon(self):
     report = AbuseReport(addon_id=3615)
     assert (
         unicode(report) ==
         u'[Extension] Abuse Report for Delicious Bookmarks')
     report.send()
     assert (
         mail.outbox[0].subject ==
         u'[Extension] Abuse Report for Delicious Bookmarks')
     assert 'addon/a3615' in mail.outbox[0].body
Exemple #2
0
 def test_guid(self):
     report = AbuseReport(guid='*****@*****.**')
     report.send()
     assert (
         unicode(report) ==
         u'[Addon] Abuse Report for [email protected]')
     assert (
         mail.outbox[0].subject ==
         u'[Addon] Abuse Report for [email protected]')
     assert 'GUID not in database' in mail.outbox[0].body
Exemple #3
0
 def test_addon_fr(self):
     with self.activate(locale='fr'):
         report = AbuseReport(addon_id=3615)
         assert (
             unicode(report) ==
             u'[Extension] Abuse Report for Delicious Bookmarks')
         report.send()
     assert (
         mail.outbox[0].subject ==
         u'[Extension] Abuse Report for Delicious Bookmarks')
Exemple #4
0
    def test_user(self):
        report = AbuseReport(user_id=999)
        report.send()
        assert (
            unicode(report) ==
            u'[User] Abuse Report for regularuser التطب')
        assert (
            mail.outbox[0].subject ==
            u'[User] Abuse Report for regularuser التطب')
        assert 'user/regularuser' in mail.outbox[0].body

        assert mail.outbox[0].to == [settings.ABUSE_EMAIL]
 def to_internal_value(self, data):
     output = super(BaseAbuseReportSerializer, self).to_internal_value(data)
     request = self.context['request']
     output['country_code'] = AbuseReport.lookup_country_code_from_ip(
         request.META.get('REMOTE_ADDR'))
     if request.user.is_authenticated:
         output['reporter'] = request.user
     return output
Exemple #6
0
 def to_internal_value(self, data):
     output = super(BaseAbuseReportSerializer, self).to_internal_value(data)
     request = self.context['request']
     output['country_code'] = AbuseReport.lookup_country_code_from_ip(
         request.META.get('REMOTE_ADDR'))
     if request.user.is_authenticated:
         output['reporter'] = request.user
     return output
    def handle(self, *args, **kwargs):
        self.setup_check()

        qs = AbuseReport.objects.only('ip_address', 'country_code').filter(
            ip_address__isnull=False, country_code__isnull=True)
        for report in qs:
            log.info('Looking up country_code for abuse report %d', report.pk)
            value = AbuseReport.lookup_country_code_from_ip(report.ip_address)
            report.update(country_code=value)
    def handle(self, *args, **kwargs):
        self.setup_check()

        qs = AbuseReport.objects.only('ip_address', 'country_code').filter(
            ip_address__isnull=False, country_code__isnull=True)
        for report in qs:
            log.info('Looking up country_code for abuse report %d', report.pk)
            value = AbuseReport.lookup_country_code_from_ip(report.ip_address)
            report.update(country_code=value)
 def test_user_report(self):
     user = user_factory()
     report = AbuseReport(user=user, message='bad stuff')
     serialized = self.serialize(report)
     serialized_user = BaseUserSerializer(user).data
     assert serialized == {
         'reporter': None,
         'user': serialized_user,
         'message': 'bad stuff',
     }
 def test_guid_report(self):
     report = AbuseReport(guid='@guid', message='bad stuff')
     serial = self.serialize(report)
     assert serial == {
         'reporter': None,
         'addon': {
             'guid': '@guid',
             'id': None,
             'slug': None
         },
         'message': 'bad stuff'
     }
 def test_addon_report(self):
     addon = addon_factory(guid='@guid')
     report = AbuseReport(addon=addon, message='bad stuff')
     serial = self.serialize(report)
     assert serial == {
         'reporter': None,
         'addon': {
             'guid': addon.guid,
             'id': addon.id,
             'slug': addon.slug
         },
         'message': 'bad stuff'
     }
Exemple #12
0
    def test_lookup_country_code_from_ip(self, GeoIP2_mock):
        GeoIP2_mock.return_value.country_code.return_value = 'ZZ'
        assert AbuseReport.lookup_country_code_from_ip('') == ''
        assert AbuseReport.lookup_country_code_from_ip('notanip') == ''
        assert GeoIP2_mock.return_value.country_code.call_count == 0

        GeoIP2_mock.return_value.country_code.return_value = 'ZZ'
        assert AbuseReport.lookup_country_code_from_ip('127.0.0.1') == 'ZZ'
        assert AbuseReport.lookup_country_code_from_ip('::1') == 'ZZ'

        GeoIP2_mock.return_value.country_code.side_effect = GeoIP2Exception
        assert AbuseReport.lookup_country_code_from_ip('127.0.0.1') == ''

        GeoIP2_mock.return_value.country_code.side_effect = GeoIP2Error
        assert AbuseReport.lookup_country_code_from_ip('127.0.0.1') == ''
Exemple #13
0
    def test_lookup_country_code_from_ip(self, GeoIP2_mock):
        GeoIP2_mock.return_value.country_code.return_value = 'ZZ'
        assert AbuseReport.lookup_country_code_from_ip('') == ''
        assert AbuseReport.lookup_country_code_from_ip('notanip') == ''
        assert GeoIP2_mock.return_value.country_code.call_count == 0

        GeoIP2_mock.return_value.country_code.return_value = 'ZZ'
        assert AbuseReport.lookup_country_code_from_ip('127.0.0.1') == 'ZZ'
        assert AbuseReport.lookup_country_code_from_ip('::1') == 'ZZ'

        GeoIP2_mock.return_value.country_code.side_effect = GeoIP2Exception
        assert AbuseReport.lookup_country_code_from_ip('127.0.0.1') == ''

        GeoIP2_mock.return_value.country_code.side_effect = GeoIP2Error
        assert AbuseReport.lookup_country_code_from_ip('127.0.0.1') == ''
 def test_user(self):
     AbuseReport(user_id=999).send()
     assert mail.outbox[0].subject.startswith('[User]')
     assert mail.outbox[0].to == [settings.ABUSE_EMAIL]
    def setup_check(self):
        value = AbuseReport.lookup_country_code_from_ip('1.1.1.1')

        if not value:
            raise CommandError('GeoIP lookups does not appear to be working.')
 def test_addon_fr(self):
     with self.activate(locale='fr'):
         AbuseReport(addon_id=3615).send()
     assert mail.outbox[0].subject.startswith('[Extension]')
    def setup_check(self):
        value = AbuseReport.lookup_country_code_from_ip('1.1.1.1')

        if not value:
            raise CommandError('GeoIP lookups does not appear to be working.')
Exemple #18
0
 def test_type_unknown_addon_type(self):
     report = AbuseReport(addon_id=3615)
     report.addon.type = -42  # Obviously that type isn't valid.
     assert report.type == 'Addon'  # Doesn't fail.
 def test_addon(self):
     AbuseReport(addon_id=3615).send()
     assert mail.outbox[0].subject.startswith('[Extension]')