Beispiel #1
0
    def render(self, name, value, attrs=None):
        topics_and_subtopics = Topic.objects.all()
        topics = [t for t in topics_and_subtopics if t.parent_id is None]

        for topic in topics:
            self.process_topic(value, topic)

            topic.my_subtopics = [t for t in topics_and_subtopics
                                  if t.parent_id == topic.id]

            for subtopic in topic.my_subtopics:
                self.process_topic(value, subtopic)

        # Create a fake request to make jingo happy.
        req = RequestFactory()
        req.META = {}
        req.locale = settings.WIKI_DEFAULT_LANGUAGE

        return jingo.render_to_string(
            req,
            'wiki/includes/product_topics_widget.html',
            {
                'topics': topics,
                'name': name,
            })
Beispiel #2
0
 def setUp(self):
     super(MockRequestTests, self).setUp()
     request = RequestFactory()
     request.GET = {}
     request.LANGUAGE_CODE = 'en-US'
     request.META = {'csrf_token': 'NOTPROVIDED'}
     self.request = request
Beispiel #3
0
 def setUp(self):
     super(MockRequestTests, self).setUp()
     request = RequestFactory()
     request.GET = {}
     request.LANGUAGE_CODE = 'en-US'
     request.META = {'csrf_token': 'NOTPROVIDED'}
     self.request = request
Beispiel #4
0
 def setUp(self):
     super(MockRequestTests, self).setUp()
     request = RequestFactory()
     request.GET = {}
     request.LANGUAGE_CODE = "en-US"
     request.META = {"csrf_token": "NOTPROVIDED"}
     self.request = request
Beispiel #5
0
    def login(self):
        SessionStore = import_module(settings.SESSION_ENGINE).SessionStore
        sesh = SessionStore()
        sesh.save()  # To generate session_id

        # We'll need a request to call the login() function
        request = RequestFactory()
        request.session = sesh
        request.META = {}

        self.user_to_login.backend = 'django.contrib.auth.backends.ModelBackend'  # Cheat and make them appear authenticated.

        try:
            login(request, self.user_to_login)
        except AttributeError:
            raise TypeError("Need a User to login.  This can be specified in three ways: 1) set request.user 2) set the user_to_login attribute of your LoginClump 3) pass a User object to the with_canopy decorator")

        try:
            target = "%s:%s/" % (self.obj.server_thread.host, self.obj.server_thread.port)
            print "Target: %s" % target
            self.obj.wd.get(target)
        except AttributeError:
            raise TypeError("In order to build this canopy, the decorated class must have an attribute 'wd' (a WebDriver instance).  Please modify %s to include this." % self.obj)

        request.session.save()

        self.obj.wd.add_cookie({'name': settings.SESSION_COOKIE_NAME, 'value': sesh.session_key})
        self.logged_in = True
Beispiel #6
0
    def test_detect_crawler(self):
        request = RequestFactory()
        request.META = {'HTTP_USER_AGENT': 'Googlebot'}

        middleware = CrawlerDetector()
        middleware.process_request(request)

        request.is_crawler.should.be.true
Beispiel #7
0
    def test_detect_crawler(self):
        request = RequestFactory()
        request.META = {'HTTP_USER_AGENT': 'Googlebot'}

        middleware = CrawlerDetector()
        middleware.process_request(request)

        request.is_crawler.should.be.true
    def test_unmoderated_comments_are_listed_in_view(self):

        request = RequestFactory()
        request.user = self.owner
        request.META = {}
        response = project_comments_moderation(request, self.moderated_project.slug)

        self.assertIn(self.moderated_comment.text, response.content)
Beispiel #9
0
    def test_unmoderated_comments_are_listed_in_view(self):

        request = RequestFactory()
        request.user = self.owner
        request.META = {}
        response = project_comments_moderation(request,
                                               self.moderated_project.slug)

        self.assertContains(response, self.moderated_comment.text)
Beispiel #10
0
def create_mock_request():
    """
    Creates and returns a mock request object for testing.
    """
    request = RequestFactory()
    request.COOKIES = {}
    request.META = {}
    request.path = '/'
    return request
Beispiel #11
0
    def test_detect_noncrawler(self):
        request = RequestFactory()
        request.META = {'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36'
                                           ' (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'}

        middleware = CrawlerDetector()
        middleware.process_request(request)

        request.is_crawler.should.be.false
Beispiel #12
0
def get_request_for_user(user):
    """Create a request object for user."""

    request = RequestFactory()
    request.user = user
    request.META = {}
    request.is_secure = lambda: True
    request.get_host = lambda: "edx.org"
    return request
Beispiel #13
0
def get_request_for_user(user):
    """Create a request object for user."""

    request = RequestFactory()
    request.user = user
    request.META = {}
    request.is_secure = lambda: True
    request.get_host = lambda: "edx.org"
    return request
Beispiel #14
0
def create_mock_request():
    """
    Creates and returns a mock request object for testing.
    """
    request = RequestFactory()
    request.COOKIES = {}
    request.META = {}
    request.path = '/'
    return request
Beispiel #15
0
    def test_unmoderated_comments_are_listed_in_view(self):

        request = RequestFactory()
        request.user = self.canopy.owner
        request.META = {}
        response = project_comments_moderation(
            request, self.canopy.moderated_project.slug)

        self.assertIn(self.canopy.first_moderated_comment.text,
                      response.content)
Beispiel #16
0
 def handle_oneliner(self, oneliner, test=True):
     request = RequestFactory().get("/")
     request.META = {"SERVER_NAME": "localhost", "SERVER_PORT": "8000"}
     baseurl = format_canonical_url(request)
     message = format_tweet(oneliner, baseurl)
     self.stdout.write("%s: %s" % (oneliner.pk, message))
     result = tweet(message, test)
     if not test:
         self.stdout.write("# result: " + str(result))
     self.stdout.write("")
Beispiel #17
0
 def generate_request(self):
     """
     Create http request
     """
     request = RequestFactory()
     request.COOKIES = {}
     request.META = {}
     request.user = AnonymousUser()
     SessionMiddleware().process_request(request)
     return request
Beispiel #18
0
    def _render(locale):
        """Render an email in the given locale.

        Because of safe_translation decorator, if this fails,
        the function will be run again in English.
        """
        req = RequestFactory()
        req.META = {}
        req.locale = locale

        return render_to_string(template, context)
Beispiel #19
0
    def _render(locale):
        """Render an email in the given locale.

        Because of safe_translation decorator, if this fails,
        the function will be run again in English.
        """
        req = RequestFactory()
        req.META = {}
        req.locale = locale

        return jingo.render_to_string(req, template, context)
Beispiel #20
0
    def test_detect_noncrawler(self):
        request = RequestFactory()
        request.META = {
            'HTTP_USER_AGENT':
            'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36'
            ' (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'
        }

        middleware = CrawlerDetector()
        middleware.process_request(request)

        request.is_crawler.should.be.false
Beispiel #21
0
def get_request_for_user(user):
    """Create a request object for user."""
    request = RequestFactory()
    request.user = user
    request.COOKIES = {}
    request.META = {}
    request.is_secure = lambda: True
    request.get_host = lambda: "edx.org"
    request.method = 'GET'
    request.GET = {}
    request.POST = {}
    crum.set_current_request(request)
    return request
Beispiel #22
0
 def handle_oneliner(self, oneliner, test=True):
     request = RequestFactory().get('/')
     request.META = {
             'SERVER_NAME': 'localhost',
             'SERVER_PORT': '8000',
             }
     baseurl = format_canonical_url(request)
     message = format_tweet(oneliner, baseurl)
     self.stdout.write('%s: %s' % (oneliner.pk, message))
     result = tweet(message, test)
     if not test:
         self.stdout.write('# result: ' + str(result))
     self.stdout.write('')
Beispiel #23
0
 def handle_oneliner(self, oneliner, test=True):
     request = RequestFactory().get('/')
     request.META = {
         'SERVER_NAME': 'localhost',
         'SERVER_PORT': '8000',
     }
     baseurl = format_canonical_url(request)
     message = format_tweet(oneliner, baseurl)
     self.stdout.write('%s: %s' % (oneliner.pk, message))
     result = tweet(message, test)
     if not test:
         self.stdout.write('# result: ' + str(result))
     self.stdout.write('')
 def test_regenerate_certificate_allowed_user(
         self, mock_open, mock_make_dirs, mock_exists):
     mock_open.return_value = MagicMock()
     mock_exists.return_value = False
     request = RequestFactory(HTTP_HOST='testserver')
     request.user = self.user
     request.method = 'POST'
     request.META = {'HTTP_HOST': 'testserver'}
     response = regenerate_certificate(
         request,
         project_slug=self.project.slug,
         organisation_slug=self.certifying_organisation.slug,
         course_slug=self.course.slug,
         pk=self.attendee.pk
     )
     self.assertEqual(response.status_code, 200)
Beispiel #25
0
    def render(self, name, value, attrs=None):
        if isinstance(value, (int, long)):
            related_documents = Document.objects.filter(id__in=[value])
        elif not isinstance(value, basestring) and isinstance(value, collections.Iterable):
            related_documents = Document.objects.filter(id__in=value)
        else:
            related_documents = Document.objects.none()

        # Create a fake request to make jingo happy.
        req = RequestFactory()
        req.META = {}
        req.locale = settings.WIKI_DEFAULT_LANGUAGE

        return jingo.render_to_string(
            req, "wiki/includes/related_docs_widget.html", {"related_documents": related_documents, "name": name}
        )
    def test_tag(self):
        req = RequestFactory().get('/?foo=bar')
        req.session = {}
        context = Context({'request': req})

        render_rating(context)
        self.assertEqual(Rating.objects.count(), 1, msg=(
            'The tag should have created one Rating object.'))

        req.META = {'HTTP_X_FORWARDED_FOR': '127.0.0.1, 0.0.0.0'}
        req.session = {'rated_pages': ['/foo=bar']}
        context = Context({'request': req})
        render_rating(context)
        self.assertEqual(Rating.objects.count(), 1, msg=(
            'The tag should not have created another Rating object.'))
        rating = Rating.objects.get()
        self.assertEqual(rating.page_views, 2, msg=(
            'The tag has not increased the pge views properly.'))
Beispiel #27
0
    def test_validate_github_webhook__valid_request(self, hmac):
        request = RequestFactory()
        request.META = {"HTTP_X_HUB_SIGNATURE": "key=value"}
        request.body = None

        hmac.new.return_value = mock.Mock()
        hmac.compare_digest.return_value = True

        exception_raised = False
        try:
            views.validate_github_webhook(request)
        except:
            exception_raised = True
        assert not exception_raised

        hmac.compare_digest.return_value = False
        with pytest.raises(PermissionDenied):
            views.validate_github_webhook(request)
Beispiel #28
0
    def render(self, name, value, attrs=None):
        if isinstance(value, (int, long)):
            related_documents = Document.objects.filter(id__in=[value])
        elif not isinstance(value, basestring) and isinstance(
                value, collections.Iterable):
            related_documents = Document.objects.filter(id__in=value)
        else:
            related_documents = Document.objects.none()

        # Create a fake request to make jingo happy.
        req = RequestFactory()
        req.META = {}
        req.locale = settings.WIKI_DEFAULT_LANGUAGE

        return jingo.render_to_string(
            req, 'wiki/includes/related_docs_widget.html', {
                'related_documents': related_documents,
                'name': name
            })
Beispiel #29
0
    def test_login(self):
        user = User.objects.create(username='******')
        user.backend = ''
        view = LoginView()
        request = RequestFactory()
        request.GET = {}
        request.META = {}
        request.user = None
        request.session = self.client.session
        request.session.create()
        view.request = request

        form = self.moxx.CreateMock(UsernameLoginForm)
        form.get_user().AndReturn(user)

        self.moxx.ReplayAll()
        view.form_valid(form)
        self.moxx.VerifyAll()

        self.assertTrue(request.user)
    def test_tag(self):
        req = RequestFactory().get('/?foo=bar')
        req.session = {}
        context = Context({'request': req})

        render_rating(context)
        self.assertEqual(
            Rating.objects.count(),
            1,
            msg=('The tag should have created one Rating object.'))

        req.META = {'HTTP_X_FORWARDED_FOR': '127.0.0.1, 0.0.0.0'}
        req.session = {'rated_pages': ['/foo=bar']}
        context = Context({'request': req})
        render_rating(context)
        self.assertEqual(
            Rating.objects.count(),
            1,
            msg=('The tag should not have created another Rating object.'))
        rating = Rating.objects.get()
        self.assertEqual(
            rating.page_views,
            2,
            msg=('The tag has not increased the pge views properly.'))
def get_request_mock():
    """Mock request."""
    request = RequestFactory()
    request.META = {'REMOTE_ADDR': '1.1.1.1'}
    return request
Beispiel #32
0
 def rf(self):
     """RequestFactory instance"""
     rf = RequestFactory()
     rf.META = {}
     return rf