Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Side by Side Diff: tools/chrome_proxy/webdriver/common.py

Issue 2726423003: Integration tests for WebLite to Lo-Fi fallback (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import argparse 5 import argparse
6 import json 6 import json
7 import logging 7 import logging
8 import os 8 import os
9 import re 9 import re
10 import socket 10 import socket
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 571
572 Args: 572 Args:
573 http_response: The HTTPResponse object to check. 573 http_response: The HTTPResponse object to check.
574 """ 574 """
575 expected_via_header = ParseFlags().via_header_value 575 expected_via_header = ParseFlags().via_header_value
576 self.assertNotIn('via', http_response.response_headers) 576 self.assertNotIn('via', http_response.response_headers)
577 if 'via' in http_response.response_headers: 577 if 'via' in http_response.response_headers:
578 self.assertNotIn(expected_via_header, 578 self.assertNotIn(expected_via_header,
579 http_response.response_headers['via']) 579 http_response.response_headers['via'])
580 580
581 def assertLoFiResponse(self, http_response, expected_lo_fi): 581 def checkLoFiResponse(self, http_response, expected_lo_fi):
582 """Asserts that the response and request headers contain the given directive 582 """Asserts that if expected the response headers contain the Lo-Fi directive
583 and the content size is less than 100 if |expected_lo_fi|. Otherwise, checks 583 then the request headers do too. Also checks that the content size is less
584 that the response and request headers don't contain the Lo-Fi directive and 584 than 100 if |expected_lo_fi|. Otherwise, checks that the response and
585 the content size is greater than 100. 585 request headers don't contain the Lo-Fi directive and the content size is
586 greater than 100.
586 587
587 Args: 588 Args:
588 http_response: The HTTPResponse object to check. 589 http_response: The HTTPResponse object to check.
589 expected_lo_fi: Whether the response should be Lo-Fi. 590 expected_lo_fi: Whether the response should be Lo-Fi.
590 591
591 Returns: 592 Returns:
592 Whether the response was Lo-Fi. 593 Whether the response was Lo-Fi.
593 """ 594 """
594 595
595 if (expected_lo_fi) : 596 if (expected_lo_fi) :
(...skipping 10 matching lines...) Expand all
606 return False; 607 return False;
607 else: 608 else:
608 self.assertNotIn('chrome-proxy-accept-transform', 609 self.assertNotIn('chrome-proxy-accept-transform',
609 http_response.request_headers) 610 http_response.request_headers)
610 self.assertNotIn('chrome-proxy-content-transform', 611 self.assertNotIn('chrome-proxy-content-transform',
611 http_response.response_headers) 612 http_response.response_headers)
612 content_length = http_response.response_headers['content-length'] 613 content_length = http_response.response_headers['content-length']
613 self.assertTrue(int(content_length) > 100) 614 self.assertTrue(int(content_length) > 100)
614 return False; 615 return False;
615 616
617 def checkLitePageResponse(self, http_response):
618 """Asserts that if the response headers contain the Lite Page directive then
619 the request headers do too.
620
621 Args:
622 http_response: The HTTPResponse object to check.
623
624 Returns:
625 Whether the response was a Lite Page.
626 """
627
628 self.assertHasChromeProxyViaHeader(http_response)
629 if ('chrome-proxy-content-transform' not in http_response.response_headers):
630 return False;
631 cpct_response = http_response.response_headers[
632 'chrome-proxy-content-transform']
633 cpat_request = http_response.request_headers[
634 'chrome-proxy-accept-transform']
635 if ('lite-page' in cpct_response):
636 self.assertIn('lite-page', cpat_request)
637 return True;
638 return False;
639
616 @staticmethod 640 @staticmethod
617 def RunAllTests(run_all_tests=False): 641 def RunAllTests(run_all_tests=False):
618 """A simple helper method to run all tests using unittest.main(). 642 """A simple helper method to run all tests using unittest.main().
619 643
620 Args: 644 Args:
621 run_all_tests: If True, all tests in the directory will be run, Otherwise 645 run_all_tests: If True, all tests in the directory will be run, Otherwise
622 only the tests in the file given on the command line will be run. 646 only the tests in the file given on the command line will be run.
623 """ 647 """
624 flags = ParseFlags() 648 flags = ParseFlags()
625 logger = GetLogger() 649 logger = GetLogger()
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 args[0].skipTest('This test runs on Mac OS only.') 731 args[0].skipTest('This test runs on Mac OS only.')
708 return wrapper 732 return wrapper
709 733
710 def NotMac(func): 734 def NotMac(func):
711 def wrapper(*args, **kwargs): 735 def wrapper(*args, **kwargs):
712 if sys.platform == 'darwin': 736 if sys.platform == 'darwin':
713 func(*args, **kwargs) 737 func(*args, **kwargs)
714 else: 738 else:
715 args[0].skipTest('This test does not run on Mac OS.') 739 args[0].skipTest('This test does not run on Mac OS.')
716 return wrapper 740 return wrapper
OLDNEW
« no previous file with comments | « no previous file | tools/chrome_proxy/webdriver/lite_page.py » ('j') | tools/chrome_proxy/webdriver/lite_page.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698