# 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 = "ChromeOS Team"
NAME = "cellular_Smoke.novatel-e362"
PURPOSE = "Verify 3G modem can connect to the network."
CRITERIA = """
This test will fail if one of the following conditions occur:
  - 3G modem fails to connect to network
  - the modem is not left in a working state
"""
ATTRIBUTES = "suite:cellular_ota"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "network"
TEST_TYPE = "client"
DEPENDENCIES = "modem:novatel-e362"
DOC = """
  Tests that 3G modem can connect to the network

  The test attempts to connect using the 3G network.  It assumes that
  a 3G modem is plugged in and has a signal.  The test then
  disconnects from the network, and verifies that the modem still
  responds to modem manager DBUS API calls.  It repeats the
  connect/disconnect sequence several times.
"""

from autotest_lib.client.cros.cellular import test_environment

test_env = test_environment.CellularOTATestEnvironment()
job.run_test('cellular_Smoke', tag='novatel-e362', test_env=test_env)
