コード例 #1
0
class UseXForwardedForTests(TestCase):
    """
    Test UseXForwardedFor middleware
    """

    ip = '1.1.1.1'

    def setUp(self):
        self.uxff = UseXForwardedFor()
        self.request = FakeMeta()

    def tearDown(self):
        pass

    @override_settings(USE_X_FORWARDED_FOR=True)
    def test_on(self):
        """
        Test with middleware turned on
        """
        self.request.META['HTTP_X_FORWARDED_FOR'] = '%s, 2.2.2.2' % self.ip
        self.uxff .process_request(self.request)
        self.assertEqual(self.request.META['REMOTE_ADDR'], self.ip)

    @override_settings(USE_X_FORWARDED_FOR=True)
    def test_foobar(self):
        """
        Test for invalid ip address
        """
        self.request.META['HTTP_X_FORWARDED_FOR'] = 'foobar, %s' % self.ip
        self.uxff .process_request(self.request)
        self.assertEqual(self.request.META['REMOTE_ADDR'], self.ip)

    @override_settings(USE_X_FORWARDED_FOR=True)
    def test_blank(self):
        """
        Test for blank ip address
        """
        self.request.META['HTTP_X_FORWARDED_FOR'] = ', %s' % self.ip
        self.uxff .process_request(self.request)
        self.assertEqual(self.request.META['REMOTE_ADDR'], self.ip)

    @override_settings(USE_X_FORWARDED_FOR=False)
    def test_off(self):
        """
        Test with middleware turned off
        """
        self.request.META['REMOTE_ADDR'] = self.ip
        self.uxff.process_request(self.request)
        self.assertEqual(self.request.META['REMOTE_ADDR'], self.ip)
コード例 #2
0
 def setUp(self):
     self.uxff = UseXForwardedFor()
     self.request = FakeMeta()