@@ -813,21 +813,23 @@ def test_parse_mesh_80211s(self):
813813 o = OpenWrt (native = self ._80211s_uci )
814814 self .assertEqual (o .config , self ._80211s_netjson )
815815
816- def test_bssid_format (self ):
817- o = OpenWrt ({
818- "interfaces" : [
819- {
820- "name" : "wlan0" ,
821- "type" : "wireless" ,
822- "wireless" : {
823- "radio" : "radio1" ,
824- "mode" : "adhoc" ,
825- "ssid" : "adhoc-ssid" ,
826- "bssid" : "00:11:22:33:44:55"
827- }
816+ _bssid_netjson = {
817+ "interfaces" : [
818+ {
819+ "name" : "wlan0" ,
820+ "type" : "wireless" ,
821+ "wireless" : {
822+ "radio" : "radio0" ,
823+ "mode" : "adhoc" ,
824+ "ssid" : "bssid-test" ,
825+ "bssid" : "00:11:22:33:44:55"
828826 }
829- ]
830- })
827+ }
828+ ]
829+ }
830+
831+ def test_bssid_format (self ):
832+ o = OpenWrt (self ._bssid_netjson )
831833 o .validate ()
832834 # too short
833835 o .config ['interfaces' ][0 ]['wireless' ]['bssid' ] = '00:11:22:33:44'
@@ -840,11 +842,29 @@ def test_bssid_format(self):
840842 o .config ['interfaces' ][0 ]['wireless' ]['bssid' ] = '00:11:22:33:44:ZY'
841843 with self .assertRaises (ValidationError ):
842844 o .validate ()
845+
846+ def test_bssid_adhoc (self ):
847+ o = OpenWrt (self ._bssid_netjson )
848+ # bssid is required
849+ del o .config ['interfaces' ][0 ]['wireless' ]['bssid' ]
850+ with self .assertRaises (ValidationError ):
851+ o .validate ()
843852 # empty is not valid
844853 o .config ['interfaces' ][0 ]['wireless' ]['bssid' ] = ''
845854 with self .assertRaises (ValidationError ):
846855 o .validate ()
847856
857+ def test_bssid_station (self ):
858+ o = OpenWrt (self ._bssid_netjson )
859+ o .config ['interfaces' ][0 ]['wireless' ]['mode' ] = 'station'
860+ o .validate ()
861+ # bssid is not required
862+ del o .config ['interfaces' ][0 ]['wireless' ]['bssid' ]
863+ o .validate ()
864+ # empty is valid
865+ o .config ['interfaces' ][0 ]['wireless' ]['bssid' ] = ''
866+ o .validate ()
867+
848868 _list_option_netjson = {
849869 "interfaces" : [
850870 {
0 commit comments