# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import dbus
from autotest_lib.client.bin import test
from autotest_lib.client.common_lib import error
SERVICE_NAME = 'org.chromium.WebServer'
MANAGER_INTERFACE = 'org.chromium.WebServer.Manager'
MANAGER_OBJECT_PATH = '/org/chromium/WebServer/Manager'
EXPECTED_PING_RESPONSE = 'Web Server is running'
class webservd_BasicDBusAPI(test.test):
"""Check that basic webservd daemon DBus APIs are functional."""
version = 1
def run_once(self):
"""Test entry point."""
bus = dbus.SystemBus()
manager_proxy = dbus.Interface(
bus.get_object(SERVICE_NAME, MANAGER_OBJECT_PATH),
dbus_interface=MANAGER_INTERFACE)
ping_response = manager_proxy.Ping()
if EXPECTED_PING_RESPONSE != ping_response:
raise error.TestFail(
'Expected Manager.Ping to return %s but got %s instead.' %
(EXPECTED_PING_RESPONSE, ping_response))