예제 #1
0
def dummy_category():
    """
    Generate a dummy category.
    """
    category = Category(name=uuid6())
    category.save()
    return category
예제 #2
0
파일: utils.py 프로젝트: 2buntu/2buntu-blog
def dummy_category():
    """
    Generate a dummy category.
    """
    category = Category(name=uuid6())
    category.save()
    return category
예제 #3
0
class TestArticlePermission(TestCase):
    """
    Test that the correct users have access to the correct articles.
    """

    def setUp(self):
        # Create the request factory
        self.factory = RequestFactory()
        # Create three users - two normal users and an admin (staff)
        self.user1 = User.objects.create_user('user1', '*****@*****.**', 'user1')
        self.user2 = User.objects.create_user('user2', '*****@*****.**', 'user2')
        self.admin = User.objects.create_user('admin', '*****@*****.**', 'admin')
        self.admin.is_staff = True
        self.admin.save()
        # Create a dummy category for the articles
        self.category = Category(name='Test')
        self.category.save()
        # Create a dummy article for testing
        self.article = Article(author=self.user1, category=self.category, title='Test', body='Test', date=now())

    def request(self, article, user):
        request = self.factory.get(article.get_absolute_url())
        request.user = user
        return view_article(request, article.id)

    def check_permission(self, user, access):
        if access:
            self.assertEqual(self.request(self.article, user).status_code, 200)
        else:
            with self.assertRaises(Http404):
                self.request(self.article, user)

    def test_access_to_draft_article(self):
        self.article.status = Article.DRAFT
        self.article.save()
        self.check_permission(AnonymousUser(), False)
        self.check_permission(self.user1, True)
        self.check_permission(self.user2, False)
        self.check_permission(self.admin, True)

    def test_access_to_unapproved_article(self):
        self.article.status = Article.UNAPPROVED
        self.article.save()
        self.check_permission(AnonymousUser(), False)
        self.check_permission(self.user1, True)
        self.check_permission(self.user2, False)
        self.check_permission(self.admin, True)

    def test_access_to_published_article(self):
        self.article.status = Article.PUBLISHED
        self.article.save()
        self.check_permission(AnonymousUser(), True)
        self.check_permission(self.user1, True)
        self.check_permission(self.user2, True)
        self.check_permission(self.admin, True)
예제 #4
0
파일: tests.py 프로젝트: ashang/2buntu-blog
 def setUp(self):
     # Create a dummy user, category, and article
     user = User.objects.create_user('user', '*****@*****.**', 'user')
     category = Category(name='Test')
     category.save()
     self.article = Article(author=user, category=category, title='Test', body='Test', status=Article.PUBLISHED, date=now())
     self.article.save()
     # Create a dummy image
     o = BytesIO(smart_bytes('x\x9cb`\x01\x00\x00\x00\xff\xff\x03\x00\x00\x06\x00\x05'))
     self.image = Image(caption='Test', image=File(o, name='test.png'))
     self.image.save()
예제 #5
0
파일: tests.py 프로젝트: 2buntu/2buntu-blog
 def setUp(self):
     # Create a dummy user, category, and article
     user = User.objects.create_user('user', '*****@*****.**', 'user')
     category = Category(name='Test')
     category.save()
     self.article = Article(author=user, category=category, title='Test', body='Test', status=Article.PUBLISHED, date=now())
     self.article.save()
     # Create a dummy image
     o = BytesIO(smart_bytes('x\x9cb`\x01\x00\x00\x00\xff\xff\x03\x00\x00\x06\x00\x05'))
     self.image = Image(caption='Test', image=File(o, name='test.png'))
     self.image.save()
예제 #6
0
 def setUp(self):
     # Create the request factory
     self.factory = RequestFactory()
     # Create three users - two normal users and an admin (staff)
     self.user1 = User.objects.create_user('user1', '*****@*****.**', 'user1')
     self.user2 = User.objects.create_user('user2', '*****@*****.**', 'user2')
     self.admin = User.objects.create_user('admin', '*****@*****.**', 'admin')
     self.admin.is_staff = True
     self.admin.save()
     # Create a dummy category for the articles
     self.category = Category(name='Test')
     self.category.save()
     # Create a dummy article for testing
     self.article = Article(author=self.user1, category=self.category, title='Test', body='Test', date=now())