Exemplo n.º 1
0
 def setUp(self):
     self.owner = create_user(username='******', password='******')
     self.tester = create_user(username='******', password='******')
     self.pip = fixture.get(
         Project,
         slug='pip',
         users=[self.owner],
         main_language_project=None,
     )
     self.subproject = fixture.get(
         Project,
         slug='sub',
         language='ja',
         users=[self.owner],
         main_language_project=None,
     )
     self.translation = fixture.get(
         Project,
         slug='trans',
         language='ja',
         users=[self.owner],
         main_language_project=None,
     )
     self.pip.add_subproject(self.subproject)
     self.pip.translations.add(self.translation)
Exemplo n.º 2
0
 def setUp(self):
     with mock.patch('readthedocs.projects.models.broadcast'):
         self.owner = create_user(username='******', password='******')
         self.tester = create_user(username='******', password='******')
         self.pip = fixture.get(
             Project,
             slug='pip',
             users=[self.owner],
             main_language_project=None,
         )
         self.seed = fixture.get(
             Project,
             slug='sub',
             users=[self.owner],
             main_language_project=None,
         )
         self.subproject = fixture.get(
             Project,
             slug='subproject',
             language='ja',
             users=[self.owner],
             main_language_project=None,
         )
         self.translation = fixture.get(
             Project,
             slug='trans',
             language='ja',
             users=[self.owner],
             main_language_project=None,
         )
         self.pip.add_subproject(self.subproject, alias='sub')
         self.pip.translations.add(self.translation)
 def setUp(self):
     with mock.patch('readthedocs.projects.models.broadcast'):
         self.owner = create_user(username='******', password='******')
         self.tester = create_user(username='******', password='******')
         self.pip = fixture.get(
             Project,
             slug='pip',
             users=[self.owner],
             main_language_project=None,
         )
         self.seed = fixture.get(
             Project,
             slug='sub',
             users=[self.owner],
             main_language_project=None,
         )
         self.subproject = fixture.get(
             Project,
             slug='subproject',
             language='ja',
             users=[self.owner],
             main_language_project=None,
         )
         self.translation = fixture.get(
             Project,
             slug='trans',
             language='ja',
             users=[self.owner],
             main_language_project=None,
         )
         self.pip.add_subproject(self.subproject, alias='sub')
         self.pip.translations.add(self.translation)
 def setUp(self):
     # Previous Fixtures
     self.owner = create_user(username='******', password='******')
     self.tester = create_user(username='******', password='******')
     self.pip = get(Project, slug='pip', users=[self.owner],
                    privacy_level='public', main_language_project=None)
     self.private = get(Project, slug='private', privacy_level='private',
                        main_language_project=None)
Exemplo n.º 5
0
 def setUp(self):
     # Previous Fixtures
     self.owner = create_user(username='******', password='******')
     self.tester = create_user(username='******', password='******')
     self.pip = get(Project, slug='pip', users=[self.owner],
                    privacy_level='public', main_language_project=None)
     self.private = get(Project, slug='private', privacy_level='private',
                        main_language_project=None)
 def setUp(self):
     with mock.patch('readthedocs.projects.models.broadcast'):
         with mock.patch('readthedocs.projects.models.update_static_metadata'):
             self.owner = create_user(username='******', password='******')
             self.tester = create_user(username='******', password='******')
             self.pip = get(Project, slug='pip', users=[self.owner], main_language_project=None)
             self.subproject = get(Project, slug='sub', language='ja', users=[self.owner], main_language_project=None)
             self.translation = get(Project, slug='trans', language='ja', users=[self.owner], main_language_project=None)
             self.pip.add_subproject(self.subproject)
             self.pip.translations.add(self.translation)
Exemplo n.º 7
0
 def setUp(self):
     with mock.patch('readthedocs.projects.models.broadcast'):
         with mock.patch('readthedocs.projects.models.update_static_metadata'):
             self.owner = create_user(username='******', password='******')
             self.tester = create_user(username='******', password='******')
             self.pip = get(Project, slug='pip', users=[self.owner], main_language_project=None)
             self.subproject = get(Project, slug='sub', language='ja', users=[self.owner], main_language_project=None)
             self.translation = get(Project, slug='trans', language='ja', users=[self.owner], main_language_project=None)
             self.pip.add_subproject(self.subproject)
             self.pip.translations.add(self.translation)
Exemplo n.º 8
0
    def setUp(self):
        self.owner = create_user(username='******', password='******')
        self.domain = 'pip.dev.readthedocs.io'
        self.pip = get(
            Project,
            name='pip',
            slug='pip',
            users=[self.owner],
            privacy_level='public',
            urlconf='subpath/$subproject/$version/$language/$filename'  # Flipped
        )
        self.subproject = get(
            Project,
            name='subproject',
            slug='subproject',
            users=[self.owner],
            privacy_level='public',
            main_language_project=None,
        )
        self.relationship = get(
            ProjectRelationship,
            parent=self.pip,
            child=self.subproject,
        )

        self.old_urlconf = get_urlconf()
        sys.modules['fake_urlconf'] = self.pip.proxito_urlconf
        set_urlconf('fake_urlconf')
Exemplo n.º 9
0
    def test_add_comment_view_without_existing_hash(self):

        comment_text = "Here's a comment added to a new hash."
        version = get(Version, project=fixture())
        node = create_node(project=version.project, version=version)
        user = create_user(username='******', password='******')

        number_of_nodes = DocumentNode.objects.count()

        post_data = {
            'node': random.getrandbits(128),
            'commit': random.getrandbits(128),
            'project': node.project.slug,
            'version': node.version.slug,
            'document_page': node.page,
            'text': comment_text
        }

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

        response = self.client.post('/api/v2/comments/', post_data)
        self.assertEqual(response.status_code, 201)
        self.assertEqual(response.data['text'], comment_text)
        self.assertEqual(DocumentNode.objects.count(),
                         number_of_nodes + 1)  # We created a new node.
Exemplo n.º 10
0
    def test_add_comment_view_with_existing_hash(self):

        node = create_node()
        user = create_user(username='******', password='******')

        comment_text = "Here's a comment added through the comment view."

        post_data = {
            'node': node.latest_hash(),
            'commit': node.latest_hash(),
            'project': node.project.slug,
            'version': node.version.slug,
            'document_page': node.page,
            'text': comment_text
        }

        self.client.login(username="******", password="******")
        response = self.client.post('/api/v2/comments/', post_data)

        comment_from_orm = node.comments.filter(text=comment_text)
        self.assertTrue(comment_from_orm.exists())

        self.assertEqual(
            comment_from_orm[0].node, node,
            "The comment exists, but lives in a different node!  Not supposed to happen."
        )
Exemplo n.º 11
0
 def setUp(self):
     self.owner = create_user(username='******', password='******')
     self.domain = 'pip.dev.readthedocs.io'
     self.pip = get(
         Project,
         name='pip',
         slug='pip',
         users=[self.owner],
         privacy_level=PUBLIC,
         urlconf='subpath/$subproject/$version/$language/$filename'  # Flipped
     )
     self.pip.versions.update(privacy_level=PUBLIC)
     self.subproject = get(
         Project,
         name='subproject',
         slug='subproject',
         users=[self.owner],
         privacy_level=PUBLIC,
         main_language_project=None,
     )
     self.testing_version = get(
         Version,
         slug='testing',
         project=self.subproject,
         built=True,
         active=True,
     )
     self.subproject.versions.update(privacy_level=PUBLIC)
     self.relationship = get(
         ProjectRelationship,
         parent=self.pip,
         child=self.subproject,
     )
Exemplo n.º 12
0
 def setUp(self):
     self.factory = RequestFactory()
     self.middleware = CorsMiddleware()
     self.url = '/api/v2/search'
     self.owner = create_user(username='******', password='******')
     self.project = get(
         Project,
         slug='pip',
         users=[self.owner],
         privacy_level='public',
         mail_language_project=None,
     )
     self.subproject = get(
         Project,
         users=[self.owner],
         privacy_level='public',
         mail_language_project=None,
     )
     self.relationship = get(
         ProjectRelationship,
         parent=self.project,
         child=self.subproject,
     )
     self.domain = get(Domain,
                       domain='my.valid.domain',
                       project=self.project)
Exemplo n.º 13
0
    def setUp(self):
        self.user = create_user(username='******', password='******')

        self.project = get(Project, slug='test')

        self.golduser = get(GoldUser, user=self.user, level=LEVEL_CHOICES[0][0])

        self.client.login(username='******', password='******')
Exemplo n.º 14
0
    def setUp(self):
        self.user = create_user(username='******', password='******')

        self.project = get(Project, slug='test', users=[fixture(), self.user])

        self.golduser = get(GoldUser, user=self.user, level=LEVEL_CHOICES[0][0])

        self.client.login(username='******', password='******')
Exemplo n.º 15
0
 def setUp(self):
     self.middleware = ProxitoMiddleware()
     self.url = '/'
     self.owner = create_user(username='******', password='******')
     self.pip = get(Project,
                    slug='pip',
                    users=[self.owner],
                    privacy_level='public')
Exemplo n.º 16
0
 def setUp(self):
     self.factory = RequestFactory()
     self.middleware = SubdomainMiddleware()
     self.url = '/'
     self.owner = create_user(username='******', password='******')
     self.pip = get(Project,
                    slug='pip',
                    users=[self.owner],
                    privacy_level='public')
Exemplo n.º 17
0
 def setUp(self):
     self.factory = RequestFactory()
     self.middleware = CorsMiddleware()
     self.url = '/api/v2/search'
     self.owner = create_user(username='******', password='******')
     self.pip = get(
         Project, slug='pip',
         users=[self.owner], privacy_level='public',
     )
     self.domain = get(Domain, domain='my.valid.domain', project=self.pip)
Exemplo n.º 18
0
    def setUp(self):
        self.owner = create_user(username='******', password='******')

        self.moderated_project = get(Project, comment_moderation=True)
        self.moderated_project.users.add(self.owner)
        self.moderated_version = get(Version, project=self.moderated_project)

        self.moderated_node = get(DocumentNode,
                                  project=self.moderated_project,
                                  version=self.moderated_version)
        get(NodeSnapshot, node=self.moderated_node)
Exemplo n.º 19
0
    def setUpTestData(cls):
        cls.owner = create_user(username='******', password='******')

        cls.moderated_project = get(Project, comment_moderation=True)
        cls.moderated_project.users.add(cls.owner)
        cls.moderated_version = get(Version, project=cls.moderated_project)

        cls.moderated_node = get(DocumentNode,
                                 project=cls.moderated_project,
                                 version=cls.moderated_version)
        get(NodeSnapshot, node=cls.moderated_node)
Exemplo n.º 20
0
    def setUpTestData(cls):
        cls.owner = create_user(username='******', password='******')

        cls.moderated_project = get(Project, comment_moderation=True)
        cls.moderated_project.users.add(cls.owner)
        cls.moderated_version = get(Version, project=cls.moderated_project)

        cls.moderated_node = get(DocumentNode,
                                 project=cls.moderated_project,
                                 version=cls.moderated_version)
        get(NodeSnapshot, node=cls.moderated_node)
Exemplo n.º 21
0
    def setUp(self):
        self.owner = create_user(username='******', password='******')

        self.moderated_project = get(Project, comment_moderation=True)
        self.moderated_project.users.add(self.owner)
        self.moderated_version = get(Version, project=self.moderated_project)

        self.moderated_node = get(DocumentNode,
                                  project=self.moderated_project,
                                  version=self.moderated_version)
        get(NodeSnapshot, node=self.moderated_node)
Exemplo n.º 22
0
 def setUp(self):
     self.factory = RequestFactory()
     self.middleware = SubdomainMiddleware()
     self.url = '/'
     self.owner = create_user(username='******', password='******')
     self.pip = get(
         Project,
         slug='pip',
         users=[self.owner],
         privacy_level='public'
     )
Exemplo n.º 23
0
    def setUp(self):
        self.owner = create_user(username='******', password='******')

        self.moderated_project = get(Project, comment_moderation=True)
        self.moderated_project.users.add(self.owner)

        self.moderated_node = get(DocumentNode, project=self.moderated_project)
        get(NodeSnapshot, node=self.moderated_node)

        self.moderated_comment = get(DocumentComment,
                                     text='Some comment text.',
                                     node=self.moderated_node)
Exemplo n.º 24
0
    def setUpTestData(cls):
        cls.owner = create_user(username='******', password='******')

        cls.moderated_project = get(Project, comment_moderation=True)
        cls.moderated_project.users.add(cls.owner)

        cls.moderated_node = get(DocumentNode, project=cls.moderated_project)
        get(NodeSnapshot, node=cls.moderated_node)

        cls.moderated_comment = get(DocumentComment,
                                    text='Some comment text.',
                                    node=cls.moderated_node)
Exemplo n.º 25
0
 def setUp(self):
     self.factory = RequestFactory()
     self.middleware = CorsMiddleware()
     self.url = '/api/v2/search'
     self.owner = create_user(username='******', password='******')
     self.pip = get(
         Project,
         slug='pip',
         users=[self.owner],
         privacy_level='public',
     )
     self.domain = get(Domain, domain='my.valid.domain', project=self.pip)
Exemplo n.º 26
0
    def setUp(self):
        self.user = create_user(username='******', password='******')

        self.project = get(Project, slug='test', users=[fixture(), self.user])

        self.golduser = get(
            GoldUser,
            user=self.user,
            level=LEVEL_CHOICES[0][0],
            pub_date=GoldUser.SPONSOR_PROJECT_CUTOFF - timedelta(days=1),
        )

        self.client.login(username='******', password='******')
Exemplo n.º 27
0
    def setUp(self):
        self.owner = create_user(username='******', password='******')

        self.moderated_project = get(Project, comment_moderation=True)
        self.moderated_project.users.add(self.owner)

        self.moderated_node = get(DocumentNode,
                                  project=self.moderated_project)
        get(NodeSnapshot, node=self.moderated_node)

        self.moderated_comment = get(DocumentComment,
                                     text='Some comment text.',
                                     node=self.moderated_node)
Exemplo n.º 28
0
    def setUp(self):
        self.user = create_user(username='******', password='******')

        self.project = get(Project, slug='test', users=[fixture(), self.user])

        self.golduser = get(
            GoldUser,
            user=self.user,
            level=LEVEL_CHOICES[0][0],
            pub_date=GoldUser.SPONSOR_PROJECT_CUTOFF - timedelta(days=1),
        )

        self.client.login(username='******', password='******')
Exemplo n.º 29
0
    def setUpTestData(cls):
        cls.owner = create_user(username='******', password='******')

        cls.moderated_project = get(Project, comment_moderation=True)
        cls.moderated_project.users.add(cls.owner)

        cls.moderated_node = get(DocumentNode,
                                 project=cls.moderated_project)
        get(NodeSnapshot, node=cls.moderated_node)

        cls.moderated_comment = get(DocumentComment,
                                    text='Some comment text.',
                                    node=cls.moderated_node)
Exemplo n.º 30
0
    def setUp(self):
        self.owner = create_user(username='******', password='******')
        self.domain = 'pip.dev.readthedocs.io'
        self.pip = get(
            Project,
            slug='pip',
            users=[self.owner],
            privacy_level='public',
            urlconf='subpath/to/$version/$language/$filename'  # Flipped
        )

        self.old_urlconf = get_urlconf()
        sys.modules['fake_urlconf'] = self.pip.proxito_urlconf
        set_urlconf('fake_urlconf')
Exemplo n.º 31
0
    def test_adding_projects_after_cutoff(self):
        user = create_user(username='******', password='******')
        self.client.login(username='******', password='******')
        after_cutoff_golduser = get(
            GoldUser,
            user=user,
            level=LEVEL_CHOICES[0][0],
            pub_date=GoldUser.SPONSOR_PROJECT_CUTOFF + timedelta(days=1),
        )
        self.assertEqual(after_cutoff_golduser.projects.count(), 0)

        # Ensure no gold project is created
        resp = self.client.post(reverse('gold_projects'), data={'project': 'test'})
        self.assertEqual(after_cutoff_golduser.projects.count(), 0)
        self.assertEqual(resp.status_code, 302)
Exemplo n.º 32
0
 def setUp(self):
     # Previous Fixtures
     self.eric = create_user(username='******', password='******')
     self.test = create_user(username='******', password='******')
     self.tester = create_user(username='******', password='******')
     self.project = fixture.get(Project, slug='pip')
     self.organization = fixture.get(
         Organization,
         name='Mozilla',
         slug='mozilla',
         projects=[self.project],
     )
     self.team = fixture.get(
         Team,
         name='Foobar',
         slug='foobar',
         organization=self.organization,
         members=[self.test],
     )
     self.owner = fixture.get(
         OrganizationOwner,
         owner=self.eric,
         organization=self.organization,
     )
Exemplo n.º 33
0
    def test_adding_projects_after_cutoff(self):
        user = create_user(username='******', password='******')
        self.client.login(username='******', password='******')
        after_cutoff_golduser = get(
            GoldUser,
            user=user,
            level=LEVEL_CHOICES[0][0],
            pub_date=GoldUser.SPONSOR_PROJECT_CUTOFF + timedelta(days=1),
        )
        self.assertEqual(after_cutoff_golduser.projects.count(), 0)

        # Ensure no gold project is created
        resp = self.client.post(reverse('gold_projects'),
                                data={'project': 'test'})
        self.assertEqual(after_cutoff_golduser.projects.count(), 0)
        self.assertEqual(resp.status_code, 302)
Exemplo n.º 34
0
 def setUp(self):
     self.factory = RequestFactory()
     self.middleware = CorsMiddleware()
     self.url = '/api/v2/search'
     self.owner = create_user(username='******', password='******')
     self.project = get(
         Project,
         slug='pip',
         users=[self.owner],
         privacy_level=PUBLIC,
         main_language_project=None,
     )
     self.project.versions.update(privacy_level=PUBLIC)
     self.version = self.project.versions.get(slug=LATEST)
     self.subproject = get(
         Project,
         users=[self.owner],
         privacy_level=PUBLIC,
         main_language_project=None,
     )
     self.subproject.versions.update(privacy_level=PUBLIC)
     self.version_subproject = self.subproject.versions.get(slug=LATEST)
     self.relationship = get(
         ProjectRelationship,
         parent=self.project,
         child=self.subproject,
     )
     self.domain = get(
         Domain,
         domain='my.valid.domain',
         project=self.project,
     )
     self.another_project = get(
         Project,
         privacy_level=PUBLIC,
         slug='another',
     )
     self.another_project.versions.update(privacy_level=PUBLIC)
     self.another_version = self.another_project.versions.get(slug=LATEST)
     self.another_domain = get(
         Domain,
         domain='another.valid.domain',
         project=self.another_project,
     )
Exemplo n.º 35
0
    def test_moderate_comment_by_approving(self):
        user = create_user(username='******', password='******')

        project = get(Project, versions=[fixture()])
        project.users.add(user)
        node = create_node(project=project)

        comment = get(DocumentComment, node=node)

        post_data = {
            'decision': 1,
        }

        self.assertFalse(comment.has_been_approved_since_most_recent_node_change())

        self.client.login(username="******", password="******")
        response = self.client.put('/api/v2/comments/%s/moderate/' % comment.id, post_data)
        self.assertEqual(response.data['decision'], 1)
        self.assertTrue(comment.has_been_approved_since_most_recent_node_change())
    def setUp(self):
        self.owner = create_user(username='******', password='******')
        self.domain = 'pip.dev.readthedocs.io'
        self.pip = get(
            Project,
            slug='pip',
            users=[self.owner],
            privacy_level=PUBLIC,
            urlconf='subpath/to/$version/$language/$filename'  # Flipped
        )
        self.testing_version = get(
            Version,
            slug='testing',
            project=self.pip,
            built=True,
            active=True,
        )
        self.pip.versions.update(privacy_level=PUBLIC)

        sys.modules['fake_urlconf'] = self.pip.proxito_urlconf
        set_urlconf('fake_urlconf')
 def setUp(self):
     self.factory = RequestFactory()
     self.middleware = CorsMiddleware()
     self.url = '/api/v2/search'
     self.owner = create_user(username='******', password='******')
     self.project = get(
         Project, slug='pip',
         users=[self.owner], privacy_level='public',
         mail_language_project=None
     )
     self.subproject = get(
         Project,
         users=[self.owner],
         privacy_level='public',
         mail_language_project=None,
     )
     self.relationship = get(
         ProjectRelationship,
         parent=self.project,
         child=self.subproject
     )
     self.domain = get(Domain, domain='my.valid.domain', project=self.project)
Exemplo n.º 38
0
    def setUp(self):
        self.owner = create_user(username='******', password='******')

        self.moderated_project = get(Project, comment_moderation=True)
        self.moderated_project.users.add(self.owner)

        self.moderated_node = create_node(project=self.moderated_project)

        self.first_moderated_comment = get(DocumentComment,
                                           node=self.moderated_node)
        self.second_moderated_comment = get(DocumentComment,
                                            node=self.moderated_node)

        self.unmoderated_project = get(Project, comment_moderation=False)
        self.unmoderated_project.users.add(self.owner)

        self.unmoderated_node = create_node(project=self.unmoderated_project)

        self.first_unmoderated_comment = get(DocumentComment,
                                             node=self.unmoderated_node)
        self.second_unmoderated_comment = get(DocumentComment,
                                              node=self.unmoderated_node)
Exemplo n.º 39
0
    def setUpTestData(cls):
        cls.owner = create_user(username='******', password='******')

        cls.moderated_project = get(Project, comment_moderation=True)
        cls.moderated_project.users.add(cls.owner)

        cls.moderated_node = create_node(project=cls.moderated_project)

        cls.first_moderated_comment = get(DocumentComment,
                                          node=cls.moderated_node)
        cls.second_moderated_comment = get(DocumentComment,
                                           node=cls.moderated_node)

        cls.unmoderated_project = get(Project, comment_moderation=False)
        cls.unmoderated_project.users.add(cls.owner)

        cls.unmoderated_node = create_node(project=cls.unmoderated_project)

        cls.first_unmoderated_comment = get(DocumentComment,
                                            node=cls.unmoderated_node)
        cls.second_unmoderated_comment = get(DocumentComment,
                                             node=cls.unmoderated_node)
Exemplo n.º 40
0
    def setUpTestData(cls):
        cls.owner = create_user(username='******', password='******')

        cls.moderated_project = get(Project, comment_moderation=True)
        cls.moderated_project.users.add(cls.owner)

        cls.moderated_node = create_node(project=cls.moderated_project)

        cls.first_moderated_comment = get(DocumentComment,
                                          node=cls.moderated_node)
        cls.second_moderated_comment = get(DocumentComment,
                                           node=cls.moderated_node)

        cls.unmoderated_project = get(Project, comment_moderation=False)
        cls.unmoderated_project.users.add(cls.owner)

        cls.unmoderated_node = create_node(project=cls.unmoderated_project)

        cls.first_unmoderated_comment = get(DocumentComment,
                                            node=cls.unmoderated_node)
        cls.second_unmoderated_comment = get(DocumentComment,
                                             node=cls.unmoderated_node)
Exemplo n.º 41
0
    def test_moderate_comment_by_approving(self):
        user = create_user(username='******', password='******')

        project = get(Project, versions=[fixture()])
        project.users.add(user)
        node = create_node(project=project)

        comment = get(DocumentComment, node=node)

        post_data = {
            'decision': 1,
        }

        self.assertFalse(
            comment.has_been_approved_since_most_recent_node_change())

        self.client.login(username="******", password="******")
        response = self.client.put(
            '/api/v2/comments/%s/moderate/' % comment.id, post_data)
        self.assertEqual(response.data['decision'], 1)
        self.assertTrue(
            comment.has_been_approved_since_most_recent_node_change())
Exemplo n.º 42
0
    def setUp(self):
        self.owner = create_user(username='******', password='******')

        self.moderated_project = get(Project, comment_moderation=True)
        self.moderated_project.users.add(self.owner)

        self.moderated_node = create_node(project=self.moderated_project)

        self.first_moderated_comment = get(DocumentComment,
                                           node=self.moderated_node)
        self.second_moderated_comment = get(DocumentComment,
                                            node=self.moderated_node)

        self.unmoderated_project = get(Project, comment_moderation=False)
        self.unmoderated_project.users.add(self.owner)

        self.unmoderated_node = create_node(project=self.unmoderated_project)

        self.first_unmoderated_comment = get(DocumentComment,
                                             node=self.unmoderated_node)
        self.second_unmoderated_comment = get(DocumentComment,
                                              node=self.unmoderated_node)
Exemplo n.º 43
0
    def test_add_comment_view_without_existing_hash(self):

        comment_text = "Here's a comment added to a new hash."
        version = get(Version, project=fixture())
        node = create_node(project=version.project, version=version)
        user = create_user(username='******', password='******')

        number_of_nodes = DocumentNode.objects.count()

        post_data = {
            'node': random.getrandbits(128),
            'commit': random.getrandbits(128),
            'project': node.project.slug,
            'version': node.version.slug,
            'document_page': node.page,
            'text': comment_text
        }

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

        response = self.client.post('/api/v2/comments/', post_data)
        self.assertEqual(response.status_code, 201)
        self.assertEqual(response.data['text'], comment_text)
        self.assertEqual(DocumentNode.objects.count(), number_of_nodes + 1)  # We created a new node.
Exemplo n.º 44
0
    def test_add_comment_view_with_existing_hash(self):

        node = create_node()
        user = create_user(username='******', password='******')

        comment_text = "Here's a comment added through the comment view."

        post_data = {
            'node': node.latest_hash(),
            'commit': node.latest_hash(),
            'project': node.project.slug,
            'version': node.version.slug,
            'document_page': node.page,
            'text': comment_text
        }

        self.client.login(username="******", password="******")
        response = self.client.post('/api/v2/comments/', post_data)

        comment_from_orm = node.comments.filter(text=comment_text)
        self.assertTrue(comment_from_orm.exists())

        self.assertEqual(comment_from_orm[0].node, node,
                         "The comment exists, but lives in a different node!  Not supposed to happen.")
Exemplo n.º 45
0
    def setUp(self):
        self.factory = RequestFactory()
        self.middleware = ReadTheDocsSessionMiddleware()

        self.user = create_user(username='******', password='******')