Пример #1
0
 def test_home_view_not_contains_link_profile_view_before_login(self):
     """
     Before login, home should not display a link to profile
     """
     profile_view_url = _('profile')
     self.response = self.client.get(_('home'), follow=True)
     self.assertNotContains(self.response,
                            'href="{}"'.format(profile_view_url))
Пример #2
0
 def test_profile_view_before_login_redirected(self):
     """
     ProfileEditView will redirect unauthenticated user to login page
     """
     response = self.client.get(_('profile_edit'), follow=True)
     self.assertRedirects(response,
                          _('account_login') + '?next=/profile/edit',
                          status_code=302,
                          target_status_code=200,
                          msg_prefix='',
                          fetch_redirect_response=False)
Пример #3
0
 def test_home_view_status_code(self):
     """
     Test user can open home without login
     """
     url = _('home')
     response = self.client.get(url)
     self.assertEquals(response.status_code, 200)
Пример #4
0
class AuthorCreate(PermissionRequiredMixin, CreateView):
    model = Author
    fields = '__all__'
    initial = {'date_of_death': '05/01/2018'}

    permission_required = 'catalog.can_mark_returned'
    success_url = _('authors')
Пример #5
0
 def test_home_view_contains_link_profile_view_after_login(self):
     """
     After login, home should display a link to profile
     """
     self.login()
     profile_view_url = _('profile')
     self.assertContains(self.response,
                         'href="{}"'.format(profile_view_url))
Пример #6
0
 def test_user_registration_email_already_exist(self):
     data = {"email": "*****@*****.**", "password": "******"}
     view = UserCreateView.as_view()
     req = self.factory.post(_("create-user"),
                             data=json.dumps(data),
                             content_type="application/json")
     res = view(req)
     self.assertEqual(res.status_code, 400)
     self.assertEqual(User.objects.all().count(), self.init_users_count)
Пример #7
0
 def test_unlike_post_unauthenticated(self):
     data = {"post": 2}
     view = RemoveLikeView.as_view()
     req = self.factory.post(_("unlike-post"),
                             data=json.dumps(data),
                             content_type="application/json")
     res = view(req)
     self.assertEqual(res.status_code, 401)
     self.assertEqual(LikeModel.objects.all().count(),
                      self.init_likes_count)
Пример #8
0
    def test_user_authentication(self):
        user = User.objects.create_user(email=self.email,
                                        password=self.password)
        user.is_active = True
        user.save()

        res = self.client.post(_("token-get-pair"),
                               data=json.dumps(self.data),
                               content_type="application/json")
        self.assertEqual(res.status_code, 200)
        self.assertEqual(len(res.data), 2)

        token = res.data["access"]
        data = {"title": "new title", "text": "new text"}
        self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {token}")
        res = self.client.post(_("post-list"),
                               data=json.dumps(data),
                               content_type="application/json")
        self.assertEqual(res.status_code, 201)
Пример #9
0
 def test_like_liked_post(self):
     data = {"post": 2}
     view = SetLikeView.as_view()
     req = self.factory.post(_("like-post"),
                             data=json.dumps(data),
                             content_type="application/json")
     force_authenticate(req, user=self.simple_user)
     res = view(req)
     likes_count = LikeModel.objects.all().count()
     self.assertEqual(res.status_code, 201)
     self.assertEqual(likes_count, self.init_likes_count)
Пример #10
0
    def test_user_authentication_incorrect_data(self):
        user = User.objects.create_user(email=self.email,
                                        password=self.password)
        user.is_active = True
        user.save()

        data = {"email": self.email, "password": "******"}
        res = self.client.post(_("token-get-pair"),
                               data=json.dumps(data),
                               content_type="application/json")
        self.assertEqual(res.status_code, 400)
Пример #11
0
    def test_user2_successfull_login(self):
        """
        After successfull login, LogEntry should have object with value
        action=user_logged_in, [email protected]
        """
        self.client.login(email=self.email2, password=self.password2)
        self.response = self.client.get(_('home'), follow=True)
        # LogEntry is sorted descending by id, so last created entry will be in the first position
        log = LogEntry.objects.all().first()

        self.assertEquals(log.action, 'user_logged_in')
        self.assertEquals(log.email, self.email2)
Пример #12
0
 def dump_token(self, user):
     """
     接受用户对象,返回包含用户id 的 token 信息
     :param user: 用户对象
     :return: token
     """
     if isinstance(user, UserInfo):
         info = {'user_id': user.id}
         token = self.serializer.dumps(info)  # bytes
         token = token.decode()
         return token
     raise (ValueError, _("user is not exists!"))
Пример #13
0
    def test_post_creating(self):
        data = {"title": "New post", "text": "Some Text"}
        view = PostListView.as_view()
        req = self.factory.post(_("post-list"),
                                data=json.dumps(data),
                                content_type="application/json")
        res = view(req)
        self.assertEqual(res.status_code, 401)
        self.assertEqual(PostModel.objects.all().count(),
                         self.init_posts_count)

        force_authenticate(req, user=self.simple_user)
        res = view(req)
        self.assertEqual(res.status_code, 201)
        self.assertEqual(PostModel.objects.all().count(),
                         self.init_posts_count + 1)
        self.assertTrue(res.data["id"])
        self.assertTrue(res.data["user"])
Пример #14
0
 def test_post_list(self):
     req = self.factory.get(_("post-list"))
     view = PostListView.as_view()
     res = view(req)
     self.assertEqual(res.status_code, 200)
Пример #15
0
class BookDelete(DeleteView):
    model = Book
    success_url = _('books')
Пример #16
0
class BookCreate(CreateView):
    model = Book
    fields = '__all__'
    initial = {'language': 'English'}
    success_url = _('books')
Пример #17
0
class AuthorDelete(DeleteView):
    model = Author
    success_url = _('authors')
Пример #18
0
 def login(self):
     """
     Method for login
     """
     self.client.login(email=self.email, password=self.password)
     self.response = self.client.get(_('home'), follow=True)
Пример #19
0
 def get_success_url(self):
     return _('contacts:index')
Пример #20
0
class LeavemsgView(generic.CreateView):

    form_class = LeaveMsgModelForm
    template_name = "ismblog/message_form.html"
    success_url = _('blogs')
Пример #21
0
class Userprofiles2Config(AppConfig):
    name = 'userprofiles2'
    verbose_name = _(u'User profiles')

    def ready(self):
        from userprofiles2 import signals
Пример #22
0
class BlogDelete(LoginRequiredMixin, DeleteView):
    model = Blog
    success_url = _('blogs')