def test_can_validate_js_requests_zero_requests(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></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 = JSRequestsValidator(reviewer) validator.add_violation = Mock() validator.validate() expect(validator.add_violation.called).to_be_false()
def test_can_validate_js_requests_empty_html(self): 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=[], cache=self.sync_cache ) reviewer.violation_definitions = { 'total.size.js': {'default_value': 0.03}, 'total.requests.js': {'default_value': 1}, } result = { 'url': page.url, 'status': 200, 'content': None, 'html': None } reviewer.responses[page.url] = result reviewer.get_response = Mock(return_value=result) validator = JSRequestsValidator(reviewer) validator.add_violation = Mock() validator.validate() expect(validator.add_violation.called).to_be_false()
def test_can_validate_js_requests_on_globo_html(self): 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=[], cache=self.sync_cache ) reviewer.violation_definitions = { 'total.size.js': {'default_value': 0.03}, 'total.requests.js': {'default_value': 1}, } content = self.get_file('globo.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 = JSRequestsValidator(reviewer) validator.add_violation = Mock() validator.review.data = { 'total.requests.js': 2, 'total.size.js.gzipped': 0.04, } validator.validate() expect(validator.add_violation.call_args_list).to_include( call( key='total.requests.js', value={'total_js_files': 2, 'over_limit': 1}, points=5 ) ) expect(validator.add_violation.call_args_list).to_include( call( key='total.size.js', value=0.04, points=0 ))
def test_can_validate_js_requests_on_globo_html(self): 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=[], cache=self.sync_cache) reviewer.violation_definitions = { 'total.size.js': { 'default_value': 0.03 }, 'total.requests.js': { 'default_value': 1 }, } content = self.get_file('globo.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 = JSRequestsValidator(reviewer) validator.add_violation = Mock() validator.review.data = { 'total.requests.js': 2, 'total.size.js.gzipped': 0.04, } validator.validate() expect(validator.add_violation.call_args_list).to_include( call(key='total.requests.js', value={ 'total_js_files': 2, 'over_limit': 1 }, points=5)) expect(validator.add_violation.call_args_list).to_include( call(key='total.size.js', value=0.04, points=0))
def test_can_validate_js_requests_zero_requests(self): 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=[], cache=self.sync_cache) reviewer.violation_definitions = { 'total.size.js': { 'default_value': 0.03 }, 'total.requests.js': { 'default_value': 1 }, } content = "<html></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 = JSRequestsValidator(reviewer) validator.add_violation = Mock() validator.validate() expect(validator.add_violation.called).to_be_false()