示例#1
0
 def test_clean__recipients_ignored_if_not_limited(self, visibility):
     form = ContentForm(
         data={"text": "barfoo", "visibility": visibility.value, "recipients": "foobar"},
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
示例#2
0
 def test_untrusted_editor_text_is_cleaned(self, admin_client, rf):
     request, view = self._get_request_and_view(rf)
     request.user.trusted_editor = False
     request.user.save()
     form = ContentForm(data={"text": "<script>console.log</script>"}, user=request.user)
     form.full_clean()
     assert form.cleaned_data["text"] == "&lt;script&gt;console.log&lt;/script&gt;"
示例#3
0
 def test_clean__recipients_ignored_if_not_limited(self, visibility):
     form = ContentForm(
         data={"text": "barfoo", "visibility": visibility.value, "recipients": "foobar"},
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
示例#4
0
 def test_clean_text(self):
     form = ContentForm(
         data={"text": "<script>alert</script>", "visibility": Visibility.PUBLIC},
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
     self.assertEqual(form.cleaned_data.get('text'), "&lt;script&gt;alert&lt;/script&gt;")
示例#5
0
 def test_untrusted_editor_text_is_cleaned(self):
     self.user.trusted_editor = False
     self.user.save()
     form = ContentForm(data={"text": "<script>console.log</script>"},
                        user=self.user)
     form.full_clean()
     assert form.cleaned_data[
         "text"] == "&lt;script&gt;console.log&lt;/script&gt;"
示例#6
0
 def test_clean__recipients(self, values):
     recipients, result = values
     form = ContentForm(
         data={"text": "barfoo", "visibility": Visibility.LIMITED.value, "recipients": recipients},
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid() is result, values)
示例#7
0
 def test_clean_text(self):
     form = ContentForm(
         data={"text": "<script>alert</script>", "visibility": Visibility.PUBLIC},
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
     self.assertEqual(form.cleaned_data.get('text'), "&lt;script&gt;alert&lt;/script&gt;")
示例#8
0
 def test_clean__recipients(self, values):
     recipients, result = values
     form = ContentForm(
         data={"text": "barfoo", "visibility": Visibility.LIMITED.value, "recipients": recipients},
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid() is result, values)
示例#9
0
 def test_clean_text__trusted_editor(self):
     self.user.trusted_editor = True
     form = ContentForm(
         data={"text": "<script>alert</script>", "visibility": Visibility.PUBLIC},
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
     self.assertEqual(form.cleaned_data.get('text'), "<script>alert</script>")
示例#10
0
 def test_clean_text__trusted_editor(self):
     self.user.trusted_editor = True
     form = ContentForm(
         data={"text": "<script>alert</script>", "visibility": Visibility.PUBLIC},
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
     self.assertEqual(form.cleaned_data.get('text'), "<script>alert</script>")
示例#11
0
 def test_form_valid(self):
     view = self.get_instance(ContentCreateView, request=self.req)
     form = ContentForm(data={"text": "barfoo", "visibility": Visibility.PUBLIC.value}, user=self.user)
     form.full_clean()
     response = view.form_valid(form)
     assert response.status_code == 302
     content = Content.objects.first()
     assert content.text == "barfoo"
     assert content.author == self.user.profile
     assert content.visibility == Visibility.PUBLIC
示例#12
0
 def test_untrusted_editor_text_is_cleaned(self):
     self.user.trusted_editor = False
     self.user.save()
     form = ContentForm(
         data={"text": "<script>console.log</script>", "visibility": Visibility.PUBLIC.value},
         instance=self.content,
         user=self.user,
     )
     form.full_clean()
     self.assertEqual(form.cleaned_data["text"], "&lt;script&gt;console.log&lt;/script&gt;")
示例#13
0
 def test_form_valid(self):
     view = self.get_instance(ContentCreateView, request=self.req)
     form = ContentForm(data={"text": "barfoo", "visibility": Visibility.PUBLIC.value}, user=self.user)
     form.full_clean()
     response = view.form_valid(form)
     assert response.status_code == 302
     content = Content.objects.first()
     assert content.text == "barfoo"
     assert content.author == self.user.profile
     assert content.visibility == Visibility.PUBLIC
示例#14
0
 def test_untrusted_editor_text_is_cleaned(self):
     self.user.trusted_editor = False
     self.user.save()
     form = ContentForm(
         data={"text": "<script>console.log</script>", "visibility": Visibility.PUBLIC.value},
         instance=self.content,
         user=self.user,
     )
     form.full_clean()
     self.assertEqual(form.cleaned_data["text"], "&lt;script&gt;console.log&lt;/script&gt;")
示例#15
0
 def test_untrusted_editor_text_is_cleaned(self, admin_client, rf):
     request, view, content = self._get_request_view_and_content(rf)
     request.user.trusted_editor = False
     request.user.save()
     form = ContentForm(
         data={"text": "<script>console.log</script>", "visibility": Visibility.PUBLIC.value},
         instance=content,
         user=request.user
     )
     form.full_clean()
     assert form.cleaned_data["text"] == "&lt;script&gt;console.log&lt;/script&gt;"
示例#16
0
 def test_form_valid(self):
     form = ContentForm(
         data={"text": "barfoo", "visibility": Visibility.PUBLIC.value},
         instance=self.content,
         user=self.user,
     )
     form.full_clean()
     response = self.view.form_valid(form)
     self.assertEqual(response.status_code, 302)
     content = Content.objects.first()
     self.assertEqual(content.author, self.user.profile)
     self.assertEqual(content.visibility, Visibility.PUBLIC)
     self.assertEqual(content.text, "barfoo")
示例#17
0
 def test_form_valid(self):
     form = ContentForm(
         data={"text": "barfoo", "visibility": Visibility.PUBLIC.value},
         instance=self.content,
         user=self.user,
     )
     form.full_clean()
     response = self.view.form_valid(form)
     self.assertEqual(response.status_code, 302)
     content = Content.objects.first()
     self.assertEqual(content.author, self.user.profile)
     self.assertEqual(content.visibility, Visibility.PUBLIC)
     self.assertEqual(content.text, "barfoo")
示例#18
0
 def test_save__collects_recipients__reply_copies_from_parent(self):
     form = ContentForm(
         data={
             "text": "foobar",
         },
         user=self.user,
         is_reply=True,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
     content = form.save(parent=self.limited_content)
     self.assertEqual(
         set(content.limited_visibilities.all()),
         {self.profile, self.profile2},
     )
示例#19
0
 def test_save__collects_recipients__reply_copies_from_parent(self):
     form = ContentForm(
         data={
             "text": "foobar",
         },
         user=self.user,
         is_reply=True,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
     content = form.save(parent=self.limited_content)
     self.assertEqual(
         set(content.limited_visibilities.all()),
         {self.profile, self.profile2},
     )
示例#20
0
 def test_save__collects_recipients(self):
     form = ContentForm(
         data={
             "text": "foobar",
             "visibility": Visibility.LIMITED,
             "recipients": "[email protected],[email protected]"
         },
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
     content = form.save()
     self.assertEqual(
         set(content.limited_visibilities.all()),
         {self.profile, self.profile2},
     )
示例#21
0
 def test_save__collects_recipients(self):
     form = ContentForm(
         data={
             "text": "foobar",
             "visibility": Visibility.LIMITED,
             "recipients": "[email protected],[email protected]"
         },
         user=self.user,
     )
     form.full_clean()
     self.assertTrue(form.is_valid())
     content = form.save()
     self.assertEqual(
         set(content.limited_visibilities.all()),
         {self.profile, self.profile2},
     )
示例#22
0
    def test_clean__recipients_and_include_following_cant_both_be_empty(self):
        form = ContentForm(data={
            "text": "barfoo",
            "visibility": Visibility.LIMITED.value
        },
                           user=self.user)
        form.full_clean()
        self.assertFalse(form.is_valid())

        form = ContentForm(
            data={
                "text": "barfoo",
                "visibility": Visibility.LIMITED.value,
                "recipients": self.user.profile.fid
            },
            user=self.user,
        )
        form.full_clean()
        self.assertTrue(form.is_valid())

        form = ContentForm(
            data={
                "text": "barfoo",
                "visibility": Visibility.LIMITED.value,
                "include_following": True
            },
            user=self.user,
        )
        form.full_clean()
        self.assertTrue(form.is_valid())
示例#23
0
    def test_clean__recipients_and_include_following_cant_both_be_empty(self):
        form = ContentForm(data={"text": "barfoo", "visibility": Visibility.LIMITED.value}, user=self.user)
        form.full_clean()
        self.assertFalse(form.is_valid())

        form = ContentForm(
            data={"text": "barfoo", "visibility": Visibility.LIMITED.value, "recipients": self.user.profile.fid},
            user=self.user,
        )
        form.full_clean()
        self.assertTrue(form.is_valid())

        form = ContentForm(
            data={"text": "barfoo", "visibility": Visibility.LIMITED.value, "include_following": True},
            user=self.user,
        )
        form.full_clean()
        self.assertTrue(form.is_valid())
示例#24
0
 def test_untrusted_editor_text_is_cleaned(self):
     self.user.trusted_editor = False
     self.user.save()
     form = ContentForm(data={"text": "<script>console.log</script>"}, user=self.user)
     form.full_clean()
     assert form.cleaned_data["text"] == "&lt;script&gt;console.log&lt;/script&gt;"