Bug 1366071 - Add check in talos tp6 to ensure mitmproxy certificate was installed successfully; r=jmaher

MozReview-Commit-ID: 8wRtSSQ5SEp

--HG--
extra : rebase_source : eaca0fc6d1e1bbaee313e84ab787039b45b5da63
This commit is contained in:
Rob Wood 2017-08-22 16:15:37 -04:00
Родитель 96e2314506
Коммит e229a35db0
2 изменённых файлов: 25 добавлений и 3 удалений

Просмотреть файл

@ -31,6 +31,15 @@ def write_autoconfig_files(fx_install_dir,
fd.write(autoconfig_contents)
def read_autoconfig_file(fx_install_dir):
''' Read autoconfig file that modifies Firefox startup
fx_install_dir - path to Firefox installation
'''
with open(_cfg_file_path(fx_install_dir), 'r') as fd:
return fd.read()
def _autoconfig_path(fx_install_dir):
platform = platform_name()
if platform in ('win32', 'win64'):

Просмотреть файл

@ -71,9 +71,22 @@ def _read_certificate(certificate_path):
return ''.join(contents.splitlines()[1:-1])
def is_mitmproxy_cert_installed():
def is_mitmproxy_cert_installed(browser_install):
"""Verify mitmxproy CA cert was added to Firefox"""
# TODO: Bug 1366071
from mozharness.mozilla.firefox.autoconfig import read_autoconfig_file
try:
# read autoconfig file, confirm mitmproxy cert is in there
certificate = _read_certificate(DEFAULT_CERT_PATH)
contents = read_autoconfig_file(browser_install)
if (MITMPROXY_SETTINGS % {'cert': certificate}) in contents:
LOG.info("Verified mitmproxy CA certificate is installed in Firefox")
else:
LOG.info("Firefox autoconfig file contents:")
LOG.info(contents)
return False
except:
LOG.info("Failed to read Firefox autoconfig file, when verifying CA certificate install")
return False
return True
@ -89,7 +102,7 @@ def install_mitmproxy_cert(mitmproxy_proc, browser_path, scripts_path):
LOG.info('Calling configure_mitmproxy with browser folder: %s' % browser_install)
configure_mitmproxy(browser_install, scripts_path)
# cannot continue if failed to add CA cert to Firefox, need to check
if not is_mitmproxy_cert_installed():
if not is_mitmproxy_cert_installed(browser_install):
LOG.error('Aborting: failed to install mitmproxy CA cert into Firefox')
stop_mitmproxy_playback(mitmproxy_proc)
sys.exit()