Example #1
0
    def test_can_get_violation_definitions(self):
        reviewer = Mock()
        validator = MetaRobotsValidator(reviewer)
        definitions = validator.get_violation_definitions()

        expect(definitions).to_length(2)
        expect('presence.meta.robots.noindex' in definitions).to_be_true()
        expect('presence.meta.robots.nofollow' in definitions).to_be_true()
Example #2
0
    def test_can_validate_meta_robots_nofollow(self):
        config = Config()

        page = PageFactory.create()

        reviewer = Reviewer(api_url='http://localhost:2368',
                            page_uuid=page.uuid,
                            page_url=page.url,
                            page_score=0.0,
                            config=config,
                            validators=[])

        content = '<html><meta robots="nofollow"></html>'

        result = {
            'url': page.url,
            'status': 200,
            'content': content,
            'html': lxml.html.fromstring(content)
        }
        reviewer.responses[page.url] = result
        reviewer.get_response = Mock(return_value=result)

        validator = MetaRobotsValidator(reviewer)
        validator.add_violation = Mock()
        validator.review.data = {
            'meta.tags': [{
                'key': 'robots',
                'content': 'nofollow'
            }]
        }

        validator.validate()

        validator.add_violation.assert_called_once_with(
            key='presence.meta.robots.nofollow', value=None, points=50)