diff options
Diffstat (limited to 'tests/generator/test_wifis.py')
-rw-r--r-- | tests/generator/test_wifis.py | 59 |
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): |