Exemplo n.º 1
0
 def setUp(self):
     self.view = MiddlewareTest.SampleView()
     self.middleware = middleware.ProfilerMiddleware(None)
     self.request = client.RequestFactory().get('/sample/?prof')
     self.default_response = http.HttpResponse('default response')
     self.override_settings = {'DEBUG': True}
     self.profile_content = '<pre>'.encode('utf-8')
 def test_get_render_the_template_with_extra_speakers_in_context(self):
     instance = models.Session.objects.get(pk=1)
     request = client.RequestFactory().get("/dashboard/proposals/2/")
     request.user = instance.speakers.get(username="******")
     result = views.EditSessionView().get(request, 2)
     self.assertIn('extra_speakers', result.context_data)
     self.assertEqual(result.context_data["extra_speakers"][0].pk, 2)
Exemplo n.º 3
0
 def test_interim_get_view(self):
     rf = client.RequestFactory()
     mock_request = rf.get('/')
     v = self.da.f_a.get_view()
     r = v(mock_request)
     self.assertEquals(r.status_code, 200)
     self.assertEquals(b''.join(r.streaming_content), b'CONTENT')
Exemplo n.º 4
0
 def test_get_view_by_name(self):
     rf = client.RequestFactory()
     mock_request = rf.get('/')
     v = self.da.f_a.get_view("dummy")
     r = v(mock_request)
     self.assertEquals(r.status_code, 200)
     self.assertEquals(r.serialize_headers(), b'Content-Type: dummy\r\nMy-Name: xxx/NAME')
Exemplo n.º 5
0
    def get_image_url(self):
        if self.twitter_profile_data and 'profile_image_url' in self.twitter_profile_data:
            return self.twitter_profile_data['profile_image_url']

        elif self.facebook_profile_data:
            # TODO: Do we really need this utils/graph_api_url?
            return '%s?type=square' % utils.graph_api_url(
                '%s/picture' % self.username)

        elif self.foursquare_profile_data and 'photo' in self.foursquare_profile_data:
            return self.foursquare_profile_data['photo']

        elif self.google_profile_data and 'picture' in self.google_profile_data:
            return self.google_profile_data['picture']

        elif self.email:
            request = client.RequestFactory(**getattr(
                settings, 'DEFAULT_REQUEST', DEFAULT_REQUEST)).request()
            default_url = request.build_absolute_uri(
                staticfiles_storage.url(
                    getattr(settings, 'DEFAULT_USER_IMAGE',
                            DEFAULT_USER_IMAGE)))

            return 'https://secure.gravatar.com/avatar/%(email_hash)s?%(args)s' % {
                'email_hash': hashlib.md5(self.email.lower()).hexdigest(),
                'args': urllib.urlencode({
                    'default': default_url,
                    'size': 50,
                }),
            }

        else:
            return staticfiles_storage.url(
                getattr(settings, 'DEFAULT_USER_IMAGE', DEFAULT_USER_IMAGE))
 def test_get_speakers_return_speakers_from_extra_speakers_parameter_even_if_it_is_only_one(self):
     user1, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     user2, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     user3, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     v = views.SubscribeView()
     v.request = client.RequestFactory().post("/", {"extra_speakers": "*****@*****.**"})
     speakers = v.get_extra_speakers()
     self.assertEqual([user2], list(speakers))
 def test_download_profile(self):
     request = client.RequestFactory().get('/sample/?prof&download')
     with test.override_settings(**self.override_settings):
         self.middleware.process_view(
             request, self.view.get, (request,), {})
         response = self.middleware.process_response(
             request, self.default_response)
     self.assertEqual(response['Content-Type'], 'application/octet-stream')
Exemplo n.º 8
0
 def test_parse_form_file_configuration_query(self):
     rf = client.RequestFactory()
     request = rf.get('expert_import:Parse')
     request.user = User.objects.get(username="******")
     form = FileParseForm(request=request)
     files_available = form.fields['config'].queryset
     num_of_configurations_available = len(list(files_available))
     self.assertEquals(num_of_configurations_available, 1)
 def test_get_render_the_form_with_data_populated(self):
     instance = models.Session.objects.get(pk=1)
     request = client.RequestFactory().get("/dashboard/proposals/1/")
     request.user = instance.speakers.get(username="******")
     resp = views.EditSessionView().get(request, 1)
     form = resp.context_data["form"]
     self.assertIsInstance(form, views.EditSessionView.form_class)
     self.assertEqual(instance, form.instance)
Exemplo n.º 10
0
 def setUp(self):
     self.data = {
         "name": "",
         "email": "*****@*****.**",
     }
     factory = client.RequestFactory()
     self.request = factory.post("/subscribers", self.data)
     self.view = views.SubscribeView()
Exemplo n.º 11
0
 def test_get_deletes_the_proposal(self):
     request = client.RequestFactory().get("/dashboard/proposals/delete/1/")
     request.user = models.Session.objects.get(pk=1).speakers.get(
         username="******")
     resp = views.DeleteSessionView().get(request, 1)
     self.assertIsInstance(resp, http.HttpResponseRedirect)
     self.assertEqual("/dashboard/proposals/", resp["Location"])
     with self.assertRaises(models.Session.DoesNotExist):
         models.Session.objects.get(pk=1)
 def setUp(self):
     self.view = MiddlewareTest.SampleView()
     self.middleware = middleware.ProfilerMiddleware()
     self.request = client.RequestFactory().get('/sample/?prof')
     self.default_response = http.HttpResponse('default response')
     self.override_settings = {
         'DEBUG': True,
         'DJANGO_CPROFILE_MIDDLEWARE_REQUIRE_STAFF': False}
     self.profile_content = '<pre>'.encode('utf-8')
Exemplo n.º 13
0
 def test_get_speakers_return_speakers_from_extra_speakers_parameter(self):
     user1, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     user2, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     user3, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     v = views.SubscribeView()
     v.request = client.RequestFactory().post("/", {})
     v.request.POST = http.QueryDict("extra_speakers=foo&extra_speakers=foo2&[email protected]")
     speakers = v.get_extra_speakers()
     self.assertEqual([user1, user2, user3], list(speakers))
 def test_get_render_the_template_with_the_session_in_context(self):
     instance = models.Session.objects.get(pk=1)
     request = client.RequestFactory().get("/dashboard/proposals/1/")
     request.user = instance.speakers.get(username="******")
     resp = views.EditSessionView().get(request, 1)
     self.assertIsInstance(resp, response.TemplateResponse)
     self.assertEqual(views.EditSessionView.template_name, resp.template_name)
     self.assertIsInstance(resp.context_data["session"], models.Session)
     self.assertEqual(1, resp.context_data["session"].pk)
Exemplo n.º 15
0
    def setUpClass(cls):
        cls.data = {
            "name": u"Francisco Souza",
            "email": u"*****@*****.**",
        }

        factory = client.RequestFactory()
        request = factory.post("/subscribe", cls.data)
        cls.view = views.SubscribeView()
        cls.response = cls.view.post(request)
Exemplo n.º 16
0
 def setUpTestData(cls):
     cls.user = User.objects.create_user('user1', '*****@*****.**',
                                         'password12345')
     # Create question
     cls.question = Question.objects.create(user=cls.user,
                                            title='Title 1',
                                            text='text 1')
     # Create answer
     cls.answer = Answer.objects.create(question=cls.question,
                                        user=cls.user,
                                        text='text 1')
     # Create request
     cls.request = client.RequestFactory().get(reverse('question_list'))
Exemplo n.º 17
0
 def test_should_keep_extra_speakers_in_the_context_if_the_form_validation_fails(self):
     user1, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     user2, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     data = {
         "title": "some title",
         "language": "pt",
         "extra_speakers": "*****@*****.**",
     }
     request = client.RequestFactory().post("/", data)
     request.user = user1
     response = views.SubscribeView.as_view()(request)
     self.assertIsInstance(response, TemplateResponse)
     self.assertEqual(["*****@*****.**"], response.context_data["extra_speakers"])
Exemplo n.º 18
0
    def testForNotLoggedInUser(self):
        """Tests context for a not logged in user."""
        profile_utils.logout()

        request = client.RequestFactory().get('http://some-unused.url.com/')

        data = request_data.RequestData(request, None, None)
        context = base_templates.LoggedInAs(data).context()

        # check that LOGIN_LINK_LABEL is used as link label
        self.assertEqual(context['link_label'],
                         base_templates.LOGIN_LINK_LABEL)

        # check that logged_in_as is set to the default text for not logged users
        self.assertEqual(context['logged_in_as'], base_templates.NOT_LOGGED_IN)
Exemplo n.º 19
0
    def testForLoggedInUser(self):
        """Tests context for a logged in user."""
        user = profile_utils.seedNDBUser()
        profile_utils.loginNDB(user)

        request = client.RequestFactory().get('http://some-unused.url.com/')

        data = request_data.RequestData(request, None, None)
        context = base_templates.LoggedInAs(data).context()

        # check that LOGOUT_LINK_LABEL is used as link label
        self.assertEqual(context['link_label'],
                         base_templates.LOGOUT_LINK_LABEL)

        # check that logged_in_as is set to user email
        self.assertEqual(context['logged_in_as'], '*****@*****.**')
 def test_post_renders_template_name_with_form_and_tracks_in_context(self):
     instance = models.Session.objects.get(pk=1)
     data = {
         "type": "talk",
         "audience_level": "advanced",
         "tags": "some, tags",
         "track": instance.track.pk,
         "language": "en",
     }
     request = client.RequestFactory().post("/dashboard/proposals/1/", data)
     request.user = instance.speakers.get(username="******")
     resp = views.EditSessionView().post(request, 1)
     self.assertIsInstance(resp, response.TemplateResponse)
     self.assertEqual(views.EditSessionView.template_name, resp.template_name)
     self.assertEqual([instance.track], list(resp.context_data["tracks"]))
     form = resp.context_data["form"]
     self.assertIsInstance(form, views.EditSessionView.form_class)
     self.assertEqual(data["audience_level"], form.data["audience_level"])
 def test_post_updates_the_session(self):
     instance = models.Session.objects.get(pk=1)
     data = {
         "title": instance.title + " updated",
         "description": instance.description,
         "type": "talk",
         "audience_level": "intermediate",
         "tags": "some, tags",
         "track": instance.track.pk,
         "language": "en",
     }
     request = client.RequestFactory().post("/dashboard/proposals/1/", data)
     request.user = instance.speakers.get(username="******")
     resp = views.EditSessionView().post(request, 1)
     self.assertIsInstance(resp, http.HttpResponseRedirect)
     self.assertEqual("/dashboard/proposals/", resp["Location"])
     instance = models.Session.objects.get(pk=1)
     self.assertEqual(data["title"], instance.title)
Exemplo n.º 22
0
 def test_form_valid_saves_the_form_using_the_user_from_request(self):
     user, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     track, _ = models.Track.objects.get_or_create(name_en_us="Session test", description_en_us="test")
     data = {
         "title": "some title",
         "description": "some description",
         "type": "talk",
         "audience_level": "intermediate",
         "tags": "some, tags",
         "track": track.pk,
         "language": "pt",
         "status": "proposed",
     }
     form = forms.SessionForm(data)
     request = client.RequestFactory().post("/", data)
     request.user = user
     v = views.SubscribeView(request=request)
     v.form_valid(form)
     s = models.Session.objects.get(title="some title")
     self.assertEqual(user, s.speakers.all()[0])
Exemplo n.º 23
0
 def test_should_create_a_session_with_the_post_data_getting_user_from_request(self):
     user, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     track, _  = models.Track.objects.get_or_create(name_en_us="Session test", description_en_us="test")
     data = {
         "title": "some title",
         "description": "some description",
         "type": "talk",
         "tags": "some, tags",
         "track": track.pk,
         "language": "pt",
         "status": "proposed",
         "audience_level": "intermediate"
     }
     request = client.RequestFactory().post("/", data)
     request.user = user
     result = views.SubscribeView.as_view()(request)
     self.assertEqual(302, result.status_code)
     session = models.Session.objects.get(title=data["title"])
     self.assertTrue(session.id)
     t = models.Session.objects.get(speakers=user)
     self.assertEqual(u"some title", t.title)
Exemplo n.º 24
0
 def test_should_save_the_current_user_and_extra_speakers(self):
     user1, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     user2, _ = auth_models.User.objects.get_or_create(username="******", email="*****@*****.**")
     track, _ = models.Track.objects.get_or_create(name_en_us="Session test", description_en_us="test")
     data = {
         "title": "some title",
         "description": "some description",
         "type": "talk",
         "tags": "some, tags",
         "track": track.pk,
         "language": "pt",
         "status": "proposed",
         "extra_speakers": "*****@*****.**",
         "audience_level": "beginner"
     }
     request = client.RequestFactory().post("/", data)
     request.user = user1
     result = views.SubscribeView.as_view()(request)
     self.assertEqual(302, result.status_code)
     session = models.Session.objects.get(title=data["title"])
     self.assertTrue(session.id)
     t = models.Session.objects.get(speakers=user1)
     self.assertEqual(u"some title", t.title)
     self.assertEqual([user1, user2], list(t.speakers.all()))