Пример #1
0
    def prepare_request_mock(self, data, referer='http://localhost/user_with_workspaces/Public Workspace', user=None, extra_headers={}, GET=''):
        request = Mock()
        request.method = 'POST'
        request.get_host.return_value = 'localhost'
        GET_PARAMETERS = parse_qsl(GET)
        request.GET = MagicMock()
        request.GET.__len__.side_effect = lambda: len(GET_PARAMETERS)
        request.GET.__getitem__.side_effect = lambda key: GET_PARAMETERS[key]
        request.GET.urlencode.side_effect = lambda: GET
        request.COOKIES = {
            settings.SESSION_COOKIE_NAME: 'test',
        }
        request.META = {
            'HTTP_ACCEPT': 'application/json',
            'SERVER_PROTOCOL': 'http',
            'REMOTE_ADDR': '127.0.0.1',
            'content_type': 'application/json',
            'content_length': len(data),
            'HTTP_HOST': 'localhost',
            'HTTP_REFERER': referer,
            'HTTP_X_FI_WARE_OAUTH_TOKEN': 'true',
        }
        request.META.update(extra_headers)
        request.read.return_value = data
        if user is None:
            request.user = self.admin_mock
        else:
            request.user = user

        return request
    def test_get_language_from_request(self):
        request = Mock()
        request.GET = {"glang": "en"}
        request.COOKIES = {"GARNETT_LANGUAGE_CODE": "de"}
        request.META = {"HTTP_X_GARNETT_LANGUAGE_CODE": "fr"}
        with override_settings(
            GARNETT_REQUEST_LANGUAGE_SELECTORS=[
                "garnett.selectors.cookie",
                "garnett.selectors.query",
                "garnett.selectors.header",
            ]
        ):
            self.assertTrue(utils.get_language_from_request(request), "en")
        with override_settings(
            GARNETT_REQUEST_LANGUAGE_SELECTORS=[
                "garnett.selectors.cookie",
                "garnett.selectors.query",
                "garnett.selectors.header",
            ]
        ):
            self.assertTrue(utils.get_language_from_request(request), "de")

        with override_settings(
            GARNETT_REQUEST_LANGUAGE_SELECTORS=[
                "garnett.selectors.header",
                "garnett.selectors.cookie",
                "garnett.selectors.query",
            ]
        ):
            self.assertTrue(utils.get_language_from_request(request), "fr")
Пример #3
0
 def test_set_default_flavour(self):
     request = Mock()
     request.META = {}
     request.GET = {}
     request.COOKIES = {}
     middleware = SetFlavourMiddleware()
     middleware.process_request(request)
     # default flavour is set
     self.assertEqual(get_flavour(), 'full')
Пример #4
0
 def test_set_flavour_with_cookie_backend(self):
     original_FLAVOURS_STORAGE_BACKEND = settings.FLAVOURS_STORAGE_BACKEND
     try:
         settings.FLAVOURS_STORAGE_BACKEND = 'cookie'
         request = Mock()
         request.COOKIES = {}
         set_flavour('mobile', request=request)
         self.assertEqual(request.COOKIES, {})
         set_flavour('mobile', request=request, permanent=True)
         self.assertEqual(request.COOKIES, {settings.FLAVOURS_COOKIE_KEY: 'mobile'})
         self.assertEqual(get_flavour(request), 'mobile')
     finally:
         settings.FLAVOURS_STORAGE_BACKEND = original_FLAVOURS_STORAGE_BACKEND
Пример #5
0
    def prepare_request_mock(
            self,
            data=None,
            referer='http://localhost/user_with_workspaces/public-workspace',
            user=None,
            extra_headers={},
            GET='',
            use_deprecated_code=False):

        request = Mock()
        request.get_host.return_value = 'localhost'
        GET_PARAMETERS = parse_qsl(GET)
        request.GET = MagicMock()
        request.GET.__len__.side_effect = lambda: len(GET_PARAMETERS)
        request.GET.__getitem__.side_effect = lambda key: GET_PARAMETERS[key]
        request.GET.urlencode.side_effect = lambda: GET
        request.COOKIES = {
            settings.SESSION_COOKIE_NAME: 'test',
        }
        request.META = {
            'HTTP_ACCEPT': 'application/json',
            'SERVER_PROTOCOL': 'http',
            'REMOTE_ADDR': '127.0.0.1',
            'HTTP_HOST': 'localhost',
            'HTTP_REFERER': referer,
        }
        if data is not None:
            request.method = 'POST'
            data = data.encode('utf-8')
            request.META['content_type'] = 'application/json'
            request.META['content_length'] = len(data)
            request.read.return_value = data
        else:
            request.method = 'GET'

        if use_deprecated_code:
            request.META['HTTP_X_FI_WARE_OAUTH_TOKEN'] = 'true'
            extra_headers = {
                self.deprecation_mapping[key]: value
                for key, value in six.iteritems(extra_headers)
            }
        else:
            request.META['HTTP_FIWARE_OAUTH_TOKEN'] = 'true'

        request.META.update(extra_headers)
        if user is None:
            request.user = self.admin_mock
        else:
            request.user = user

        return request
Пример #6
0
    def test_csrf_token_nosession(self):
        """No session cookie, no Cake CSRF token."""
        mysessionid = "17f051c99f083244bf653d5798111216"

        s = SessionBackend()
        session = Session.objects.get(pk=mysessionid)
        user = s.authenticate(session=session)

        request = Mock()
        request.user = user
        request.COOKIES = {}
        ctx = {'request': request}

        token = cake_csrf_token(ctx)
        assert not token
Пример #7
0
    def test_csrf_token(self):
        mysessionid = "17f051c99f083244bf653d5798111216"

        s = SessionBackend()
        session = Session.objects.get(pk=mysessionid)
        user = s.authenticate(session=session)

        request = Mock()
        request.user = user
        request.COOKIES = {'AMOv3': mysessionid}
        ctx = {'request': request}

        doc = pq(cake_csrf_token(ctx))
        self.assert_(doc.html())
        self.assert_(doc('input').attr('value'))
Пример #8
0
    def test_save_with_created_on(self):
        patch_request_local = patch('django_request_local.middleware.RequestLocal.get_current_request')
        mock_request_local = patch_request_local.start()
        remote_user = '******'
        mock_request = Mock()
        mock_request.COOKIES = {
            'remote_user': remote_user
        }
        mock_request_local.return_value = mock_request

        event = Event.objects.create(
            resource='http://storyhost/story/TST-1',
            event_type='Uncompleted',
            data='{"estimate":2}',
            created_on=datetime.date(2007, 12, 5)
        )
        self.assertEqual(event.created_on, datetime.date(2007, 12, 5))

        patch_request_local.stop()
Пример #9
0
    def prepare_request_mock(self, data=None, referer='http://localhost/user_with_workspaces/Public Workspace', user=None, extra_headers={}, GET='', use_deprecated_code=False):

        request = Mock()
        request.get_host.return_value = 'localhost'
        GET_PARAMETERS = parse_qsl(GET)
        request.GET = MagicMock()
        request.GET.__len__.side_effect = lambda: len(GET_PARAMETERS)
        request.GET.__getitem__.side_effect = lambda key: GET_PARAMETERS[key]
        request.GET.urlencode.side_effect = lambda: GET
        request.COOKIES = {
            settings.SESSION_COOKIE_NAME: 'test',
        }
        request.META = {
            'HTTP_ACCEPT': 'application/json',
            'SERVER_PROTOCOL': 'http',
            'REMOTE_ADDR': '127.0.0.1',
            'HTTP_HOST': 'localhost',
            'HTTP_REFERER': referer,
        }
        if data is not None:
            request.method = 'POST'
            data = data.encode('utf-8')
            request.META['content_type'] = 'application/json'
            request.META['content_length'] = len(data)
            request.read.return_value = data
        else:
            request.method = 'GET'


        if use_deprecated_code:
            request.META['HTTP_X_FI_WARE_OAUTH_TOKEN'] = 'true'
            extra_headers = {self.deprecation_mapping[key]: value for key, value in six.iteritems(extra_headers)}
        else:
            request.META['HTTP_FIWARE_OAUTH_TOKEN'] = 'true'

        request.META.update(extra_headers)
        if user is None:
            request.user = self.admin_mock
        else:
            request.user = user

        return request
Пример #10
0
    def test_save(self):
        patch_request_local = patch('django_request_local.middleware.RequestLocal.get_current_request')
        mock_request_local = patch_request_local.start()
        remote_user = '******'
        mock_request = Mock()
        mock_request.COOKIES = {
            'remote_user': remote_user
        }
        mock_request_local.return_value = mock_request

        event = Event.objects.create(
            resource = 'http://storyhost/story/TST-1',
            event_type = 'StoryAdded',
            data = '{"estimate":2}'
        )
        self.assertEqual(event.created_by, remote_user)
        self.assertEqual(event.event_type, 'StoryAdded')
        self.assertEqual(event.data, '{"estimate":2}')
        self.assertTrue(event.created_on)

        patch_request_local.stop()
Пример #11
0
    def prepare_request_mock(
            self,
            data,
            referer='http://localhost/user_with_workspaces/Public Workspace',
            user=None,
            extra_headers={},
            GET=''):
        data = data.encode('utf-8')

        request = Mock()
        request.method = 'POST'
        request.get_host.return_value = 'localhost'
        GET_PARAMETERS = parse_qsl(GET)
        request.GET = MagicMock()
        request.GET.__len__.side_effect = lambda: len(GET_PARAMETERS)
        request.GET.__getitem__.side_effect = lambda key: GET_PARAMETERS[key]
        request.GET.urlencode.side_effect = lambda: GET
        request.COOKIES = {
            settings.SESSION_COOKIE_NAME: 'test',
        }
        request.META = {
            'HTTP_ACCEPT': 'application/json',
            'SERVER_PROTOCOL': 'http',
            'REMOTE_ADDR': '127.0.0.1',
            'content_type': 'application/json',
            'content_length': len(data),
            'HTTP_HOST': 'localhost',
            'HTTP_REFERER': referer,
            'HTTP_X_FI_WARE_OAUTH_TOKEN': 'true',
        }
        request.META.update(extra_headers)
        request.read.return_value = data
        if user is None:
            request.user = self.admin_mock
        else:
            request.user = user

        return request