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

# This test tries invalid WPA and RSN passprhase lengths.
{ "name":"RSNWPABadKeyLength",
  "steps":[             # Channel [any]
    # Test passphrase that is too small by one
    [ "!connect",        { "security":"rsn", "psk":"0123456", "hidden":True },
                           "org.chromium.flimflam.Error.InvalidPassphrase" ],
    [ "!connect",        { "security":"wpa", "psk":"0123456", "hidden":True },
                           "org.chromium.flimflam.Error.InvalidPassphrase" ],
    # Test a textual passphrase that is too large by one
    [ "!connect",        { "security":"rsn", "hidden":True,
                           "psk":"x123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123" },
                           "org.chromium.flimflam.Error.InvalidPassphrase" ],
    [ "!connect",        { "security":"wpa", "hidden":True,
                           "psk":"x123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123" },
                           "org.chromium.flimflam.Error.InvalidPassphrase" ],
    # Test a hex-only passphrase that is too large by one
     [ "!connect",        { "security":"rsn", "hidden":True,
                           "psk":"0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "01234" },
                           "org.chromium.flimflam.Error.InvalidPassphrase" ],
    [ "!connect",        { "security":"wpa", "hidden":True,
                           "psk":"0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "0123456789"
                                 "01234" },
                           "org.chromium.flimflam.Error.InvalidPassphrase" ],
  ],
}
