# 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 is similar to the CheckHiddenSSID test in MatFunc, in that
# we create a hidden network and have the DUT join it.  However in
# this case, we're not trying to test connectivity -- we're trying
# to confirm that on connecting, the service properties continue
# to reflect that the service is hidden.
{ "name":"HiddenSSID",
  "steps":[
    [ "create",                          { "type":"hostap" } ],
    [ "config",                          { "channel":"2437", "mode":"11g",
                                           "ssid_suffix":"visible" } ],
    [ "connect",                         { "security":"none" } ],
    [ "client_check_service_properties", { "WiFi.HiddenSSID":"0" } ],

    [ "config",                          { "channel":"2437", "mode":"11g",
                                           "hidessid":None,
                                           "ssid_suffix":"hidden" } ],
    [ "connect",                         { "security":"none", "hidden":True } ],
    [ "client_check_service_properties", { "WiFi.HiddenSSID":"1" } ],
    [ "destroy" ],
  ],
}
