blob: fcf992c61a8e1ef84f15aab5ae3c8fdbd7a8eb83 [file] [log] [blame]
# Copyright 2021 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from autotest_lib.client.common_lib import error
from autotest_lib.server import test
from autotest_lib.server.hosts.tls_client import connection
from autotest_lib.server.hosts.tls_client import fake_omaha
class infra_TLSFakeOmaha(test.test):
"""
Start the TLS FakeOmaha service and ensure a URL is returned.
"""
version = 1
def run_once(self, host, case):
"""
Run the test.
@param host: A host object representing the DUT.
@param case: The case to run.
"""
tlsconn = connection.TLSConnection()
self.fake_omaha = fake_omaha.TLSFakeOmaha(tlsconn)
self.host = host
# Run the case
eval("self._%s()" % case)
def _basic(self):
"""Run the test with the minimum number of flags."""
fake_omaha_url = self.fake_omaha.start_omaha(
self.host.hostname,
target_build=
'gs://chromeos-image-archive/eve-release/R87-13457.0.0',
payloads=[{
'payload_id': 'ROOTFS',
'payload_type': 'FULL'
}])
if fake_omaha_url is None or fake_omaha_url == '':
raise error.TestFail("No url returned from fake_omaha")
if 'http://' not in fake_omaha_url:
raise error.TestFail("fake_omaha returned invalid update url: %s" %
fake_omaha_url)
def _full(self):
"""Run the test with the none-default flags."""
fake_omaha_url = self.fake_omaha.start_omaha(
self.host.hostname,
target_build=
'gs://chromeos-image-archive/eve-release/R87-13457.0.0',
payloads=[{
'payload_id': 'ROOTFS',
'payload_type': 'FULL'
}],
exposed_via_proxy=True,
critical_update=True,
return_noupdate_starting=1)
critical_tag = 'critical_update=True'
no_update_tag = '&no_update=True'
none_proxy_url = 'http://127.0.0.1'
if critical_tag not in fake_omaha_url:
raise error.TestFail("fake_omaha returned invalid update url: %s"
" Expected %s in url." %
(fake_omaha_url, critical_tag))
if no_update_tag not in fake_omaha_url:
raise error.TestFail("fake_omaha returned invalid update url: %s"
" Expected %s in url." %
(fake_omaha_url, no_update_tag))
if none_proxy_url in fake_omaha_url:
raise error.TestFail("fake_omaha returned invalid update url: %s"
" Expected %s NOT in url." %
(fake_omaha_url, none_proxy_url))