# Copyright (c) 2013 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.

AUTHOR = 'arakhov@chromium.org'
NAME = 'bluetooth_SDP_ServiceSearchAttributeRequest'
ATTRIBUTES = "suite:bluetooth, suite:bluetooth_qualification"
TIME = 'SHORT'
TEST_CLASS = 'bluetooth'
TEST_TYPE = 'Server'
DEPENDENCIES = 'bluetooth,wificell'

DOC = """
Verify the correct behaviour of the device when executing Service Search
Attribute transaction.

The tester sends a Service Search Attribute Request to the DUT, checking:
* non-existing Service, existing Attribute
* existing Service, non-existing Attribute
* non-existing Service, non-existing Attribute
* existing Service, existing Attribute
* various specific attributes, listed in Test Specification
* correctness of continuation state behavior
* responses to invalid requests

This test covers the following Bluetooth SIG test cases:
TP/SERVER/SSA/BV-01-C
TP/SERVER/SSA/BV-02-C
TP/SERVER/SSA/BV-03-C
TP/SERVER/SSA/BV-04-C
TP/SERVER/SSA/BV-06-C
TP/SERVER/SSA/BV-07-C
TP/SERVER/SSA/BV-08-C
TP/SERVER/SSA/BV-09-C
TP/SERVER/SSA/BV-10-C
TP/SERVER/SSA/BV-11-C
TP/SERVER/SSA/BV-12-C
TP/SERVER/SSA/BV-13-C
TP/SERVER/SSA/BV-14-C
TP/SERVER/SSA/BV-15-C
TP/SERVER/SSA/BV-16-C
TP/SERVER/SSA/BV-17-C
TP/SERVER/SSA/BV-18-C
TP/SERVER/SSA/BV-19-C
TP/SERVER/SSA/BV-20-C
TP/SERVER/SSA/BV-21-C
TP/SERVER/SSA/BV-22-C
TP/SERVER/SSA/BV-23-C
TP/SERVER/SSA/BI-01-C
TP/SERVER/SSA/BI-02-C

"""

from autotest_lib.server.cros.bluetooth import bluetooth_tester
from autotest_lib.server import utils


args_dict = utils.args_to_dict(args)

def run(machine):
    device_host = hosts.create_host(machine)
    tester_host = bluetooth_tester.create_host_from(device_host, args=args_dict)
    job.run_test('bluetooth_SDP_ServiceSearchAttributeRequest',
                 device_host=device_host,
                 tester_host=tester_host,
                 interactive=False)

parallel_simple(run, machines)