# 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))