summaryrefslogtreecommitdiff
path: root/tests/generator/test_wifis.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/generator/test_wifis.py')
-rw-r--r--tests/generator/test_wifis.py59
1 files changed, 39 insertions, 20 deletions
diff --git a/tests/generator/test_wifis.py b/tests/generator/test_wifis.py
index 1a4ead2..5e8050a 100644
--- a/tests/generator/test_wifis.py
+++ b/tests/generator/test_wifis.py
@@ -19,7 +19,7 @@
import os
import stat
-from .base import TestBase, ND_WIFI_DHCP4, SD_WPA
+from .base import TestBase, ND_WIFI_DHCP4, SD_WPA, NM_MANAGED, NM_UNMANAGED
class TestNetworkd(TestBase):
@@ -29,6 +29,7 @@ class TestNetworkd(TestBase):
version: 2
wifis:
wl0:
+ regulatory-domain: "DE"
access-points:
"Joe's Home":
password: "s0s3kr1t"
@@ -57,10 +58,8 @@ class TestNetworkd(TestBase):
dhcp4: yes''')
self.assert_networkd({'wl0.network': ND_WIFI_DHCP4 % 'wl0'})
- self.assert_nm(None, '''[keyfile]
-# devices managed by networkd
-unmanaged-devices+=interface-name:wl0,''')
- self.assert_nm_udev(None)
+ self.assert_nm(None)
+ self.assert_nm_udev(NM_UNMANAGED % 'wl0')
# generates wpa config and enables wpasupplicant unit
with open(os.path.join(self.workdir.name, 'run/netplan/wpa-wl0.conf')) as f:
@@ -131,6 +130,7 @@ network={
psk="s0s3kr1t"
}
''', new_config)
+ self.assertIn('country=DE\n', new_config)
self.assertEqual(stat.S_IMODE(os.fstat(f.fileno()).st_mode), 0o600)
self.assertTrue(os.path.isfile(os.path.join(
self.workdir.name, 'run/systemd/system/netplan-wpa-wl0.service')))
@@ -240,10 +240,8 @@ RouteMetric=600
UseMTU=true
'''})
- self.assert_nm(None, '''[keyfile]
-# devices managed by networkd
-unmanaged-devices+=interface-name:wl0,''')
- self.assert_nm_udev(None)
+ self.assert_nm(None)
+ self.assert_nm_udev(NM_UNMANAGED % 'wl0')
def test_wifi_match(self):
err = self.generate('''network:
@@ -292,10 +290,8 @@ Name=wl0
[Network]
LinkLocalAddressing=ipv6
'''})
- self.assert_nm(None, '''[keyfile]
-# devices managed by networkd
-unmanaged-devices+=interface-name:wl0,''')
- self.assert_nm_udev(None)
+ self.assert_nm(None)
+ self.assert_nm_udev(NM_UNMANAGED % 'wl0')
# generates wpa config and enables wpasupplicant unit
with open(os.path.join(self.workdir.name, 'run/netplan/wpa-wl0.conf')) as f:
@@ -328,10 +324,8 @@ Name=wl0
[Network]
LinkLocalAddressing=ipv6
'''})
- self.assert_nm(None, '''[keyfile]
-# devices managed by networkd
-unmanaged-devices+=interface-name:wl0,''')
- self.assert_nm_udev(None)
+ self.assert_nm(None)
+ self.assert_nm_udev(NM_UNMANAGED % 'wl0')
# generates wpa config and enables wpasupplicant unit
with open(os.path.join(self.workdir.name, 'run/netplan/wpa-wl0.conf')) as f:
@@ -495,7 +489,7 @@ mode=infrastructure
band=a
'''})
self.assert_networkd({})
- self.assert_nm_udev(None)
+ self.assert_nm_udev(NM_MANAGED % 'wl0')
def test_wifi_match_mac(self):
self.generate('''network:
@@ -547,7 +541,9 @@ method=ignore
[wifi]
ssid=workplace
mode=infrastructure
-'''})
+'''}, '''[device-netplan.wifis.all]
+match-device=type:wifi
+managed=1\n\n''')
def test_wifi_ap(self):
self.generate('''network:
@@ -580,7 +576,7 @@ key-mgmt=wpa-psk
psk=s0s3cret
'''})
self.assert_networkd({})
- self.assert_nm_udev(None)
+ self.assert_nm_udev(NM_MANAGED % 'wl0')
def test_wifi_adhoc(self):
self.generate('''network:
@@ -661,6 +657,29 @@ ssid=homenet
mode=infrastructure
'''})
+ def test_wifi_regdom(self):
+ out = self.generate('''network:
+ wifis:
+ wl0:
+ regulatory-domain: GB
+ access-points:
+ homenet: {mode: infrastructure}
+ wl1:
+ regulatory-domain: DE
+ access-points:
+ homenet2: {mode: infrastructure}''')
+
+ self.assertIn('wl1: Conflicting regulatory-domain (GB vs DE)', out)
+ with open(os.path.join(self.workdir.name, 'run/netplan/wpa-wl0.conf')) as f:
+ new_config = f.read()
+ self.assertIn('country=GB\n', new_config)
+ with open(os.path.join(self.workdir.name, 'run/netplan/wpa-wl1.conf')) as f:
+ new_config = f.read()
+ self.assertIn('country=DE\n', new_config)
+ with open(os.path.join(self.workdir.name, 'run/systemd/system/netplan-regdom.service')) as f:
+ new_config = f.read()
+ self.assertIn('ExecStart=/usr/sbin/iw reg set DE\n', new_config)
+
class TestConfigErrors(TestBase):