# 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, wiley, quiche'
NAME = 'network_Connect.openvpn_user_pass'
SUITE = 'network_nightly, qav'
TIME = 'SHORT'
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.

  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.

"""

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