81 lines
2.9 KiB
Python
81 lines
2.9 KiB
Python
# 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))
|