Пример #1
0
class ReferralSkipMiddlewareTests(TestCase):
    def setUp(self):
        self.middleware = ReferralSkipMiddleware()
        self.factory = RequestFactory()

    def test_process_request_resolver404(self):
        """If resolve raises a Resolver404 error, return None."""
        request = self.factory.get('/')

        with patch('affiliates.links.middleware.resolve') as resolve:
            resolve.side_effect = Resolver404
            eq_(self.middleware.process_request(request), None)
            resolve.assert_called_with('/')

    def test_process_request_viewname_mismatch(self):
        """
        If the resolved view name isn't in self.view_names, return None.
        """
        request = self.factory.get('/foo')
        self.middleware.view_names = ('bears', 'bears', 'bears')

        with patch('affiliates.links.middleware.resolve') as resolve:
            resolve.return_value.view_name = 'my.view'
            eq_(self.middleware.process_request(request), None)
            resolve.assert_called_with('/foo')

    def test_process_request_viewname_match(self):
        """
        If the resolved view name is in self.view_names, execute the
        view function with the given args and kwargs.
        """
        request = self.factory.get('/bar')
        self.middleware.view_names = ('kakumei', 'dualism')

        with patch('affiliates.links.middleware.resolve') as resolve:
            match = Mock(view_name='kakumei',
                         args=[1, 'valvrave'],
                         kwargs={
                             'haruto': 'l-elf',
                             'saki': 4
                         })
            resolve.return_value = match

            eq_(self.middleware.process_request(request),
                match.func.return_value)
            resolve.assert_called_with('/bar')
            match.func.assert_called_with(request,
                                          1,
                                          'valvrave',
                                          haruto='l-elf',
                                          saki=4)
Пример #2
0
class ReferralSkipMiddlewareTests(TestCase):
    def setUp(self):
        self.middleware = ReferralSkipMiddleware()
        self.factory = RequestFactory()

    def test_process_request_resolver404(self):
        """If resolve raises a Resolver404 error, return None."""
        request = self.factory.get("/")

        with patch("affiliates.links.middleware.resolve") as resolve:
            resolve.side_effect = Resolver404
            eq_(self.middleware.process_request(request), None)
            resolve.assert_called_with("/")

    def test_process_request_viewname_mismatch(self):
        """
        If the resolved view name isn't in self.view_names, return None.
        """
        request = self.factory.get("/foo")
        self.middleware.view_names = ("bears", "bears", "bears")

        with patch("affiliates.links.middleware.resolve") as resolve:
            resolve.return_value.view_name = "my.view"
            eq_(self.middleware.process_request(request), None)
            resolve.assert_called_with("/foo")

    def test_process_request_viewname_match(self):
        """
        If the resolved view name is in self.view_names, execute the
        view function with the given args and kwargs.
        """
        request = self.factory.get("/bar")
        self.middleware.view_names = ("kakumei", "dualism")

        with patch("affiliates.links.middleware.resolve") as resolve:
            match = Mock(view_name="kakumei", args=[1, "valvrave"], kwargs={"haruto": "l-elf", "saki": 4})
            resolve.return_value = match

            eq_(self.middleware.process_request(request), match.func.return_value)
            resolve.assert_called_with("/bar")
            match.func.assert_called_with(request, 1, "valvrave", haruto="l-elf", saki=4)
Пример #3
0
 def setUp(self):
     self.middleware = ReferralSkipMiddleware()
     self.factory = RequestFactory()
Пример #4
0
 def setUp(self):
     self.middleware = ReferralSkipMiddleware()
     self.factory = RequestFactory()