# 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 = 'pstew@chromium.org'
NAME = 'network_Connect.openvpn_user_pass'
PURPOSE = 'Verify shill correctly authenticates to an OpenVPN server'
SUITE = 'network_nightly'
CRITERIA = """
This test fails if the DUT cannot authenticate to a locally running
OpenVPN server runing at the other end of a virtual Ethernet interface.
This server performs username / password authentication.
"""
TIME = 'SHORT'
TEST_CATEGORY = 'Functional'
TEST_CLASS = 'network'
TEST_TYPE = 'client'

DOC = """
  Tests that we can complete OpenVPN authentication with a server that
  performs username/password authentication.  This is a client-only test
  which verifies function of the OpenVPN client.  Since the server it is
  testing against is itself, this test is best suited for verifying that
  the connection manager is correctly passing parameters to the underlying
  VPN client to have it properly connect.

"""

job.run_test('network_VPNConnect',
             vpn_types=[ 'openvpn_user_pass' ],
             tag=NAME.split('.')[1])
