예제 #1
0
    def test_check_doesnt_increase_count_if_not_full(self, now_mock):
        now_mock.return_value = datetime.utcnow()
        request = MockRequest()
        request.META["REMOTE_ADDR"] = "127.0.0.1"

        self.limiter.counter_full(request)

        self.assertEqual(len(cache._cache), 0)
예제 #2
0
    def test_edit_post_invalid_owner(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {"domain": self.domain.domain, "enabled": False, "owner": 0}

        response = admin.domain_admin_edit(request, self.domain.pk)
        self.assertEqual(response.status_code, 200)
        self.domain.refresh_from_db()
        self.assertEqual(self.domain.enabled, True)
        self.assertEqual(self.domain.owner, None)
        self.assertEqual(models.Domain.objects.count(), 1)
예제 #3
0
    def test_create_post_invalid(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {}

        self.assertEqual(models.Domain.objects.count(), 0)

        response = admin.domain_admin_create(request)
        self.assertEqual(response.status_code, 200)

        self.assertEqual(models.Domain.objects.count(), 0)
예제 #4
0
    def test_edit_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {"domain": self.domain.domain, "enabled": False}

        response = admin.domain_admin_edit(request, self.domain.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"], urlresolvers.reverse("admin:domains:index"))

        self.domain.refresh_from_db()
        self.assertEqual(self.domain.enabled, False)
        self.assertEqual(models.Domain.objects.count(), 1)
예제 #5
0
    def test_check_does_increase_count_if_full(self, now_mock):
        now_mock.return_value = datetime.utcnow()
        request = MockRequest()
        request.META["REMOTE_ADDR"] = "127.0.0.1"

        for i in range(self.limit_count):
            self.limiter.counter_increase(request)

        self.assertEqual(len(cache._cache), 1)
        self.assertEqual(cache.get(self.make_key(request, now_mock())), self.limit_count)

        self.limiter.counter_full(request)

        self.assertEqual(len(cache._cache), 1)
        self.assertEqual(cache.get(self.make_key(request, now_mock())), self.limit_count + 1)
예제 #6
0
    def test_create_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {"domain": "example.com"}

        self.assertEqual(models.Domain.objects.count(), 0)

        response = admin.domain_admin_create(request)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"], urlresolvers.reverse("admin:domains:index"))

        domain = models.Domain.objects.get()
        self.assertEqual(domain.owner, None)
        self.assertEqual(domain.enabled, True)
        self.assertEqual(domain.domain, "example.com")
예제 #7
0
    def test_check_does_increase_count_if_full(self, now_mock):
        now_mock.return_value = datetime.utcnow()
        cache.cache.clear()
        request = MockRequest()
        request.META["REMOTE_ADDR"] = "127.0.0.1"

        for i in range(settings.REGISTER_LIMIT_COUNT):
            utils.register_counter_increase(request)

        self.assertEqual(len(cache.cache._cache), 1)
        self.assertEqual(cache.cache.get(utils.make_key(request, now_mock())), settings.REGISTER_LIMIT_COUNT)

        utils.register_counter_full(request)

        self.assertEqual(len(cache.cache._cache), 1)
        self.assertEqual(cache.cache.get(utils.make_key(request, now_mock())), settings.REGISTER_LIMIT_COUNT + 1)
예제 #8
0
    def test_create_page_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {"title": "Test Page", "slug": "test-page"}

        page = models.HelpBasePage.objects.filter(parent__isnull=True).get()
        response = views.create_page(request, "helppage", page.pk)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(models.HelpPage.objects.count(), 0)

        request.POST["body"] = "body"
        response = views.create_page(request, "helppage", page.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"], reverse("admin:index", kwargs={"page_pk": page.pk}))

        new_page = models.HelpBasePage.objects.get(slug="test-page", parent_id=page.pk)
        self.assertEqual(new_page.specific_class, models.HelpPage)
예제 #9
0
    def test_edit_page_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {"title": "Test Page", "slug": "test-page"}
        page = models.HelpBasePage.objects.filter(parent__isnull=False).get()

        response = views.edit_page(request, page_pk=page.pk)
        self.assertEqual(response.status_code, 200)

        request.POST["app"] = "tickets.urls"
        response = views.edit_page(request, page_pk=page.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"], reverse("admin:index", kwargs={"page_pk": page.pk}))

        page.refresh_from_db()
        self.assertEqual(page.title, "Test Page")
        self.assertEqual(page.slug, "test-page")
예제 #10
0
파일: tests.py 프로젝트: Inboxen/Inboxen
    def test_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {}
        post = BlogPostFactory(author=self.user)
        other_post = BlogPostFactory(author=self.user)

        response = views.blog_admin_delete(request, post.pk)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(models.BlogPost.objects.count(), 2)

        request.POST = {"yes_delete": True}

        response = views.blog_admin_delete(request, post.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"], urlresolvers.reverse("admin:blog:index"))

        self.assertEqual(models.BlogPost.objects.count(), 1)
        self.assertEqual(models.BlogPost.objects.get(), other_post)
예제 #11
0
    def test_make_key_ipv4(self):
        now = timezone.now()
        now.replace(second=15)
        request = MockRequest()
        request.META["REMOTE_ADDR"] = "127.0.0.1"

        key1 = utils.make_key(request, now)

        # IPv4 addresses are one per host
        request.META["REMOTE_ADDR"] = "127.0.0.2"
        key2 = utils.make_key(request, now)

        self.assertNotEqual(key1, key2)

        # seconds don't matter
        now.replace(second=45)
        key3 = utils.make_key(request, now)

        self.assertEqual(key2, key3)
예제 #12
0
파일: tests.py 프로젝트: Inboxen/Inboxen
    def test_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {}

        response = views.blog_admin_create(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(models.BlogPost.objects.count(), 0)

        request.POST = {"subject": "Test", "body": "Hello"}

        response = views.blog_admin_create(request)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"], urlresolvers.reverse("admin:blog:index"))

        self.assertEqual(models.BlogPost.objects.count(), 1)
        post = models.BlogPost.objects.get()
        self.assertEqual(post.subject, "Test")
        self.assertEqual(post.body, "Hello")
        self.assertEqual(post.draft, True)
예제 #13
0
파일: tests.py 프로젝트: Inboxen/Inboxen
    def test_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {}
        post = BlogPostFactory(author=self.user, draft=True, subject="no", body="no")

        response = views.blog_admin_edit(request, post.pk)
        self.assertEqual(response.status_code, 200)

        request.POST = {"subject": "Test", "body": "Hello"}

        response = views.blog_admin_edit(request, post.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"], urlresolvers.reverse("admin:blog:index"))

        self.assertEqual(models.BlogPost.objects.count(), 1)
        post = models.BlogPost.objects.get()
        self.assertEqual(post.subject, "Test")
        self.assertEqual(post.body, "Hello")
        self.assertEqual(post.draft, False)
예제 #14
0
파일: tests.py 프로젝트: 3nprob/Inboxen
    def test_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {}
        post = BlogPostFactory(author=self.user)
        other_post = BlogPostFactory(author=self.user)

        response = views.blog_admin_delete(request, post.pk)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(models.BlogPost.objects.count(), 2)

        request.POST = {"yes_delete": True}

        response = views.blog_admin_delete(request, post.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"],
                         urls.reverse("admin:blog:index"))

        self.assertEqual(models.BlogPost.objects.count(), 1)
        self.assertEqual(models.BlogPost.objects.get(), other_post)
예제 #15
0
    def test_route(self):
        page = models.AppPage.objects.get()
        request = MockRequest()

        pg, args, kwargs = page.route(request, [])
        self.assertEqual(pg, page)
        self.assertEqual(args, ())
        self.assertEqual(kwargs, {})
        self.assertEqual(page._view.view_class, ticket_views.QuestionHomeView)

        request.path = "/help/questions/ticket/12/"
        pg, args, kwargs = page.route(request, ["ticket", "12"])
        self.assertEqual(pg, page)
        self.assertEqual(args, ())
        self.assertEqual(kwargs, {"pk": "12"})
        self.assertEqual(page._view.view_class, ticket_views.QuestionDetailView)

        page.live = False
        page.save()
        with self.assertRaises(Http404):
            page.route(request, ["ticket", "12"])
예제 #16
0
    def test_post_succeeded(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {"succeeded": True}
        request_obj = factories.RequestFactory(requester=self.user)
        # also pre-create profile
        pool_amount = request_obj.requester.inboxenprofile.pool_amount

        response = admin.request_admin_edit(request, request_obj.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"],
                         urlresolvers.reverse("admin:requests:index"))

        request_obj.refresh_from_db()
        self.assertEqual(request_obj.succeeded, True)
        self.assertEqual(request_obj.authorizer, self.user)
        self.assertNotEqual(request_obj.date_decided, None)

        request_obj.requester.inboxenprofile.refresh_from_db()
        self.assertEqual(request_obj.requester.inboxenprofile.pool_amount,
                         pool_amount + request_obj.amount)
예제 #17
0
    def test_index(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        BlogPostFactory.create_batch(2,
                                     draft=factory.Iterator([True, False]),
                                     author=self.user)

        response = views.blog_admin_index(request)
        self.assertEqual(response.status_code, 200)

        expected_posts = models.BlogPost.objects.all()
        self.assertEqual(list(response.context_data["posts"]),
                         list(expected_posts))
예제 #18
0
    def test_delete_page_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {}

        page = models.HelpBasePage.objects.filter(parent__isnull=False).get()

        response = views.delete_page(request, page_pk=page.pk)
        self.assertEqual(response.status_code, 200)

        # page still exists
        page.refresh_from_db()

        request.POST["yes_delete"] = True
        response = views.delete_page(request, page_pk=page.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"], reverse("admin:index", kwargs={"page_pk": page.parent_id}))

        # page was deleted
        with self.assertRaises(models.HelpBasePage.DoesNotExist):
            page.refresh_from_db()
예제 #19
0
    def test_404(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        page = models.HelpBasePage.objects.filter(parent__isnull=True).get()

        with self.assertRaises(Http404):
            views.create_page(request, "helppage", 123)

        with self.assertRaises(Http404):
            views.create_page(request, "notpage", page.pk)

        with self.assertRaises(Http404):
            views.create_page(request, "notpage", 123)
예제 #20
0
파일: tests.py 프로젝트: LK4268/Inboxen
    def test_get(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        question = QuestionFactory()

        with self.assertRaises(Http404):
            views.question_admin_response(request, 0)

        response = views.question_admin_response(request, question.pk)
        self.assertEqual(response.status_code, 200)

        self.assertEqual(response.context_data["question"], question)
        self.assertEqual(response.context_data["form"].question, question)
예제 #21
0
    def test_form_good_data(self):
        params = {"username": self.user.username}
        request = MockRequest(self.user)
        form = DeleteAccountForm(request, data=params)

        self.assertTrue(form.is_valid())

        form.save()

        self.assertEqual(request.user, AnonymousUser())
        messages = list(request._messages)
        self.assertEqual(str(messages[0]), "Account deleted. Thanks for using our service.")
예제 #22
0
    def test_index_page_logged_in(self):
        user = factories.UserFactory()
        assert self.client.login(username=user.username, password="******", request=MockRequest(user))

        response = self.client.get(urlresolvers.reverse("index"))
        self.assertEqual(response.status_code, 200)
        self.assertNotIn("Join", response.content)

        with override_settings(ENABLE_REGISTRATION=False):
            response = self.client.get(urlresolvers.reverse("index"))
            self.assertEqual(response.status_code, 200)
            self.assertNotIn("Join", response.content)
예제 #23
0
    def setUp(self):
        """Create the client and grab the user"""
        super(InboxInlineEditTestCase, self).setUp()
        self.user = factories.UserFactory()
        self.inbox = factories.InboxFactory(user=self.user)

        login = self.client.login(username=self.user.username,
                                  password="******",
                                  request=MockRequest(self.user))

        if not login:
            raise Exception("Could not log in")
예제 #24
0
    def test_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {}

        response = views.blog_admin_create(request)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(models.BlogPost.objects.count(), 0)

        request.POST = {"subject": "Test", "body": "Hello"}

        response = views.blog_admin_create(request)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"],
                         urlresolvers.reverse("admin:blog:index"))

        self.assertEqual(models.BlogPost.objects.count(), 1)
        post = models.BlogPost.objects.get()
        self.assertEqual(post.subject, "Test")
        self.assertEqual(post.body, "Hello")
        self.assertEqual(post.draft, True)
예제 #25
0
    def test_index(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        factories.DomainFactory.create_batch(2,
                                             enabled=factory.Iterator(
                                                 [True, False]))

        response = admin.domain_admin_index(request)
        self.assertEqual(response.status_code, 200)

        expected_domains = models.Domain.objects.all()
        self.assertEqual(list(response.context_data["domains"]),
                         list(expected_domains))
예제 #26
0
    def test_get(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request_obj = factories.RequestFactory()

        response = admin.request_admin_edit(request, request_obj.pk)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.context_data["form"].instance, request_obj)
        self.assertEqual(models.Request.objects.count(), 1)

        with self.assertRaises(Http404):
            admin.request_admin_edit(request, 0)

        self.assertEqual(models.Request.objects.count(), 1)
예제 #27
0
    def test_child_page(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        page = models.HelpBasePage.objects.filter(parent__isnull=False).get()

        response = views.index(request, page_pk=page.pk)
        self.assertEqual(response.status_code, 200)

        expected_page = models.HelpBasePage.objects.filter(
            parent__isnull=True).get()
        self.assertEqual(response.context_data["page"], page)

        breadcrumbs = [p for p in response.context_data["breadcrumbs"]]
        self.assertEqual(breadcrumbs, [page.parent, page])
예제 #28
0
    def test_cycle_session_less_than_week_left(self):
        user = factories.UserFactory()
        request = MockRequest(user)
        request.session.save(must_create=True)

        session_obj = request.session._get_session_from_db()
        session_obj.expire_date = timezone.now() + timedelta(days=3)
        session_obj.save()
        session_key = request.session.session_key
        self.middleware(request)
        self.assertNotEqual(request.session.session_key, session_key)
        user.refresh_from_db()
        self.assertNotEqual(user.last_login, None)
예제 #29
0
    def test_choose_type_get(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        page = models.HelpBasePage.objects.filter(parent__isnull=True).get()

        response = views.choose_page_type(request, parent_pk=page.pk)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.context_data["parent_pk"], page.pk)
        self.assertEqual(response.context_data["models"], [
            models.HelpIndex._meta, models.AppPage._meta, models.HelpPage._meta
        ])

        breadcrumbs = [p for p in response.context_data["breadcrumbs"]]
        self.assertEqual(breadcrumbs, [page])
예제 #30
0
파일: tests.py 프로젝트: LK4268/Inboxen
    def test_index(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        QuestionFactory.create_batch(
            len(models.Question.STATUS_CHOICES),
            status=factory.Iterator(
                [i[0] for i in models.Question.STATUS_CHOICES]))

        response = views.question_admin_index(request)
        self.assertEqual(response.status_code, 200)

        expected_questions = models.Question.objects.all()
        self.assertEqual(list(response.context_data["questions"]),
                         list(expected_questions))
예제 #31
0
    def setUp(self):
        super().setUp()
        self.user = factories.UserFactory()

        login = self.client.login(username=self.user.username,
                                  password="******",
                                  request=MockRequest(self.user))

        if not login:
            raise Exception("Could not log in")

        self.sudo_protected_url = urls.reverse("user-delete")
        self.sudo_url = urls.reverse("user-sudo")
예제 #32
0
    def setUp(self):
        self.user = factories.UserFactory()

        login = self.client.login(username=self.user.username,
                                  password="******",
                                  request=MockRequest(self.user))

        self.url = urlresolvers.reverse("user-search", kwargs={"q": "cheddär"})
        key = "%s-None-None-cheddär" % self.user.id
        self.key = urllib.parse.quote(key)

        if not login:
            raise Exception("Could not log in")
예제 #33
0
    def setUp(self):
        self.user = factories.UserFactory()

        login = self.client.login(username=self.user.username,
                                  password="******",
                                  request=MockRequest(self.user))

        self.url = urls.reverse("user-home-search", kwargs={"q": "cheddär"})
        self.key = create_search_cache_key(self.user.id, "cheddär", "home",
                                           None, None)

        if not login:
            raise Exception("Could not log in")
예제 #34
0
    def setUp(self):
        super(HomeViewTestCase, self).setUp()
        self.user = factories.UserFactory()
        domain = factories.DomainFactory()
        self.inboxes = factories.InboxFactory.create_batch(150,
                                                           domain=domain,
                                                           user=self.user)

        login = self.client.login(username=self.user.username,
                                  password="******",
                                  request=MockRequest(self.user))

        if not login:
            raise Exception("Could not log in")
예제 #35
0
    def test_sum_counters_spreadout(self):
        now = timezone.now()
        request = MockRequest()
        request.META["REMOTE_ADDR"] = "127.0.0.1"

        for i in range(settings.REGISTER_LIMIT_COUNT - 1):
            key = utils.make_key(request, now - timedelta(minutes=i * 2))
            cache.cache.set(key, 1)

        request.META["REMOTE_ADDR"] = "127.0.0.2"
        for i in range(settings.REGISTER_LIMIT_COUNT - 1):
            key = utils.make_key(request, now - timedelta(minutes=i * 2))
            cache.cache.set(key, 1)

        login_data = {"username": "******", "password1": "qwerty123456", "password2": "qwerty123456"}
        response = self.client.post(self.get_url(), login_data)
        self.assertNotEqual(response["Location"], self.get_url())
        self.assertEqual(get_user_model().objects.count(), 1)

        # next attempt should be rejected
        response = self.client.post(self.get_url(), login_data)
        self.assertEqual(response["Location"], self.get_url())
        self.assertEqual(get_user_model().objects.count(), 1)
예제 #36
0
    def setUp(self):
        self.user = factories.UserFactory()

        login = self.client.login(username=self.user.username,
                                  password="******",
                                  request=MockRequest(self.user))
        assert login

        self.inbox = factories.InboxFactory(user=self.user)
        self.url = urls.reverse("inbox-disown",
                                kwargs={
                                    "inbox": self.inbox.inbox,
                                    "domain": self.inbox.domain.domain
                                })
예제 #37
0
    def test_sum_counters_spreadout(self):
        now = timezone.now()
        request = MockRequest()
        request.META["REMOTE_ADDR"] = "127.0.0.1"

        for i in range(settings.REGISTER_LIMIT_COUNT - 1):
            key = utils.make_register_key(request, now - timedelta(minutes=i * 2))
            cache.cache.set(key, 1)

        request.META["REMOTE_ADDR"] = "127.0.0.2"
        for i in range(settings.REGISTER_LIMIT_COUNT - 1):
            key = utils.make_register_key(request, now - timedelta(minutes=i * 2))
            cache.cache.set(key, 1)

        login_data = {"username": "******", "password1": "qwerty123456", "password2": "qwerty123456"}
        response = self.client.post(self.get_url(), login_data)
        self.assertNotEqual(response["Location"], self.get_url())
        self.assertEqual(get_user_model().objects.count(), 1)

        # next attempt should be rejected
        response = self.client.post(self.get_url(), login_data)
        self.assertEqual(response["Location"], self.get_url())
        self.assertEqual(get_user_model().objects.count(), 1)
예제 #38
0
    def test_delete_page_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {}

        page = models.HelpBasePage.objects.filter(parent__isnull=False).get()

        response = views.delete_page(request, page_pk=page.pk)
        self.assertEqual(response.status_code, 200)

        # page still exists
        page.refresh_from_db()

        request.POST["yes_delete"] = True
        response = views.delete_page(request, page_pk=page.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(
            response["Location"],
            reverse("admin:index", kwargs={"page_pk": page.parent_id}))

        # page was deleted
        with self.assertRaises(models.HelpBasePage.DoesNotExist):
            page.refresh_from_db()
예제 #39
0
    def test_post(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        request.method = "POST"
        request.POST = {}
        post = BlogPostFactory(author=self.user,
                               draft=True,
                               subject="no",
                               body="no")

        response = views.blog_admin_edit(request, post.pk)
        self.assertEqual(response.status_code, 200)

        request.POST = {"subject": "Test", "body": "Hello"}

        response = views.blog_admin_edit(request, post.pk)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"],
                         urlresolvers.reverse("admin:blog:index"))

        self.assertEqual(models.BlogPost.objects.count(), 1)
        post = models.BlogPost.objects.get()
        self.assertEqual(post.subject, "Test")
        self.assertEqual(post.body, "Hello")
        self.assertEqual(post.draft, False)
예제 #40
0
    def test_make_key_ipv6(self):
        now = timezone.now()
        now.replace(second=15)
        request = MockRequest()
        request.META["REMOTE_ADDR"] = "2001:ba8:1f1:f315:216:5eff:fe00:379"

        key1 = utils.make_key(request, now)

        # a /64 addresses is one per host
        request.META["REMOTE_ADDR"] = "2001:ba8:1f1:f315:216:5eff:fe00:380"
        key2 = utils.make_key(request, now)

        self.assertEqual(key1, key2)

        request.META["REMOTE_ADDR"] = "2001:ba8:1f1:f311:216:5eff:fe00:380"
        key3 = utils.make_key(request, now)

        self.assertNotEqual(key2, key3)

        # seconds don't matter
        now.replace(second=45)
        key4 = utils.make_key(request, now)

        self.assertEqual(key3, key4)
예제 #41
0
    def test_inbox_ratelimit_valid_keys(self):
        request = MockRequest(self.user)

        cache_prefix = u"hello€@.+-_ <>"

        with override_settings(INBOX_LIMIT_CACHE_PREFIX=cache_prefix), \
                warnings.catch_warnings(record=True) as w:
            self.assertEqual(inbox_ratelimit.counter_full(request), False)

            for i in range(settings.INBOX_LIMIT_COUNT + 1):
                inbox_ratelimit.counter_increase(request)

            self.assertEqual(inbox_ratelimit.counter_full(request), True)

        self.assertEqual(len(w), 0)
예제 #42
0
    def setUp(self):
        """Create the client and grab the user"""
        self.user = factories.UserFactory()
        other_user = factories.UserFactory(username="******")

        for args in itertools.product([True, False],
                                      [self.user, other_user, None]):
            factories.DomainFactory(enabled=args[0], owner=args[1])

        login = self.client.login(username=self.user.username,
                                  password="******",
                                  request=MockRequest(self.user))

        if not login:
            raise Exception("Could not log in")
예제 #43
0
    def test_make_key_ipv6(self):
        now = timezone.now()
        now.replace(second=15)
        request = MockRequest()
        request.META["REMOTE_ADDR"] = "2001:ba8:1f1:f315:216:5eff:fe00:379"

        key1 = utils.make_key(request, now)

        # a /64 addresses is one per host
        request.META["REMOTE_ADDR"] = "2001:ba8:1f1:f315:216:5eff:fe00:380"
        key2 = utils.make_key(request, now)

        self.assertEqual(key1, key2)

        request.META["REMOTE_ADDR"] = "2001:ba8:1f1:f311:216:5eff:fe00:380"
        key3 = utils.make_key(request, now)

        self.assertNotEqual(key2, key3)

        # seconds don't matter
        now.replace(second=45)
        key4 = utils.make_key(request, now)

        self.assertEqual(key3, key4)
예제 #44
0
파일: tests.py 프로젝트: LK4268/Inboxen
    def setUp(self):
        super(QuestionDetailTestCase, self).setUp()
        self.user = factories.UserFactory()
        self.other_user = factories.UserFactory(username="******")

        self.question = QuestionFactory(author=self.user,
                                        status=models.Question.NEW)
        self.page = AppPage.objects.get(app="tickets.urls")

        login = self.client.login(username=self.user.username,
                                  password="******",
                                  request=MockRequest(self.user))

        if not login:
            raise Exception("Could not log in")
예제 #45
0
    def test_urls_logged_in(self):
        urls = [
            reverse("user-registration"),
            reverse("user-status"),
            reverse("user-success"),
            reverse("user-login")
        ]

        assert self.client.login(username=self.user.username,
                                 password="******",
                                 request=MockRequest(self.user))

        for url in urls:
            response = self.client.get(url)
            self.assertEqual(response.status_code, 302)
            self.assertEqual(response["Location"], reverse("user-home"))
예제 #46
0
    def test_has_no_preview(self):
        request = MockRequest(self.user, has_otp=True, has_sudo=True)
        base_page = models.HelpBasePage.objects.filter(
            parent__isnull=False).get()
        ct = ContentType.objects.get(model="helppage", app_label="cms")
        page = models.HelpPage.objects.create(parent=base_page,
                                              title="FAQ",
                                              body="",
                                              content_type=ct)

        response = views.edit_page(request, page_pk=page.pk)
        self.assertEqual(response.status_code, 200)
        response.render()
        self.assertInHTML("<div class=\"panel-heading\">Preview</div>",
                          response.content.decode(),
                          count=0)