mirror of
https://github.com/nikdoof/django-eveigb.git
synced 2025-12-18 20:19:21 +00:00
Added small testing framework for the middleware.
This commit is contained in:
@@ -1,16 +1,52 @@
|
||||
"""
|
||||
This file demonstrates writing tests using the unittest module. These will pass
|
||||
when you run "manage.py test".
|
||||
|
||||
Replace this with more appropriate tests for your application.
|
||||
"""
|
||||
|
||||
from django.test import TestCase
|
||||
from mock import Mock
|
||||
|
||||
from .middleware import IGBMiddleware
|
||||
|
||||
|
||||
class SimpleTest(TestCase):
|
||||
def test_basic_addition(self):
|
||||
"""
|
||||
Tests that 1 + 1 always equals 2.
|
||||
"""
|
||||
self.assertEqual(1 + 1, 2)
|
||||
class IGBMiddlewareTest(TestCase):
|
||||
""" Test the IGB Middleware """
|
||||
|
||||
def setUp(self):
|
||||
self.im = IGBMiddleware()
|
||||
|
||||
def request_factory(self, meta=None):
|
||||
rq = Mock(path="/")
|
||||
rq.method = 'GET'
|
||||
if meta:
|
||||
rq.META = meta
|
||||
return rq
|
||||
|
||||
def test_invalid_browser_igb(self):
|
||||
request = self.request_factory({
|
||||
'HTTP_USER_AGENT': 'Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405'
|
||||
})
|
||||
self.im.process_request(request)
|
||||
self.assertEqual(request.is_igb, False)
|
||||
self.assertEqual(request.is_igb_trusted, False)
|
||||
|
||||
def test_invalid_browser_igb_fake_trust(self):
|
||||
request = self.request_factory({
|
||||
'HTTP_USER_AGENT': 'Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405',
|
||||
'HTTP_EVE_TRUSTED': 'Yes',
|
||||
})
|
||||
self.im.process_request(request)
|
||||
self.assertEqual(request.is_igb, False)
|
||||
self.assertEqual(request.is_igb_trusted, False)
|
||||
|
||||
def test_valid_igb_no_trust(self):
|
||||
request = self.request_factory({
|
||||
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0 EVE-IGB',
|
||||
})
|
||||
self.im.process_request(request)
|
||||
self.assertEqual(request.is_igb, True)
|
||||
self.assertEqual(request.is_igb_trusted, False)
|
||||
|
||||
def test_valid_igb_trust(self):
|
||||
request = self.request_factory({
|
||||
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0 EVE-IGB',
|
||||
'HTTP_EVE_TRUSTED': 'Yes',
|
||||
})
|
||||
self.im.process_request(request)
|
||||
self.assertEqual(request.is_igb, True)
|
||||
self.assertEqual(request.is_igb_trusted, True)
|
||||
Reference in New Issue
Block a user