]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-network: add test for drop-in [WireGuardPeer] section
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 31 Mar 2019 14:56:39 +0000 (23:56 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 1 Apr 2019 01:30:30 +0000 (10:30 +0900)
This also merges the two wireguard tests, and use wait_online()
to speed up the test.

test/test-network/conf/25-wireguard.netdev.d/peer.conf [new file with mode: 0644]
test/test-network/conf/25-wireguard.network [new file with mode: 0644]
test/test-network/systemd-networkd-tests.py

diff --git a/test/test-network/conf/25-wireguard.netdev.d/peer.conf b/test/test-network/conf/25-wireguard.netdev.d/peer.conf
new file mode 100644 (file)
index 0000000..7ba6923
--- /dev/null
@@ -0,0 +1,4 @@
+[WireGuardPeer]
+PublicKey=lsDtM3AbjxNlauRKzHEPfgS1Zp7cp/VX5Use/P4PQSc=
+AllowedIPs=fdbc:bae2:7871:0500:e1fe:0793:8636:dad1/128
+AllowedIPs=fdbc:bae2:7871:e1fe:0793:8636::/96
diff --git a/test/test-network/conf/25-wireguard.network b/test/test-network/conf/25-wireguard.network
new file mode 100644 (file)
index 0000000..ab30523
--- /dev/null
@@ -0,0 +1,2 @@
+[Match]
+Name=wg99
index 4e4858507f8ef7919957fdc4367bdd6be9311bb1..fb5c033cd951332f49884b4ea528d78204f0f3a8 100755 (executable)
@@ -295,6 +295,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
         '25-wireguard-23-peers.network',
         '25-wireguard-private-key.txt',
         '25-wireguard.netdev',
+        '25-wireguard.network',
         '6rd.network',
         'erspan.network',
         'gre.network',
@@ -493,17 +494,25 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
     @expectedFailureIfModuleIsNotAvailable('wireguard')
     def test_wireguard(self):
-        self.copy_unit_to_networkd_unit_path('25-wireguard.netdev')
-        self.start_networkd()
+        self.copy_unit_to_networkd_unit_path('25-wireguard.netdev', '25-wireguard.network',
+                                             '25-wireguard-23-peers.netdev', '25-wireguard-23-peers.network',
+                                             '25-wireguard-private-key.txt')
+        self.start_networkd(0)
+        self.wait_online(['wg99:carrier', 'wg98:routable'])
+
+        self.assertTrue(self.link_exits('wg99'))
+        self.assertTrue(self.link_exits('wg98'))
 
         if shutil.which('wg'):
             subprocess.call('wg')
+
             output = subprocess.check_output(['wg', 'show', 'wg99', 'listen-port']).rstrip().decode('utf-8')
             self.assertTrue(output, '51820')
             output = subprocess.check_output(['wg', 'show', 'wg99', 'fwmark']).rstrip().decode('utf-8')
             self.assertTrue(output, '0x4d2')
             output = subprocess.check_output(['wg', 'show', 'wg99', 'allowed-ips']).rstrip().decode('utf-8')
             self.assertTrue(output, 'RDf+LSpeEre7YEIKaxg+wbpsNV7du+ktR99uBEtIiCA=\t192.168.26.0/24 fd31:bf08:57cb::/48')
+            self.assertTrue(output, 'lsDtM3AbjxNlauRKzHEPfgS1Zp7cp/VX5Use/P4PQSc=\tfdbc:bae2:7871:e1fe:793:8636::/96 fdbc:bae2:7871:500:e1fe:793:8636:dad1/128')
             output = subprocess.check_output(['wg', 'show', 'wg99', 'persistent-keepalive']).rstrip().decode('utf-8')
             self.assertTrue(output, 'RDf+LSpeEre7YEIKaxg+wbpsNV7du+ktR99uBEtIiCA=\t20')
             output = subprocess.check_output(['wg', 'show', 'wg99', 'endpoints']).rstrip().decode('utf-8')
@@ -511,21 +520,9 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
             output = subprocess.check_output(['wg', 'show', 'wg99', 'private-key']).rstrip().decode('utf-8')
             self.assertTrue(output, 'EEGlnEPYJV//kbvvIqxKkQwOiS+UENyPncC4bF46ong=')
 
-        self.assertTrue(self.link_exits('wg99'))
-
-    @expectedFailureIfModuleIsNotAvailable('wireguard')
-    def test_wireguard_23_peers(self):
-        self.copy_unit_to_networkd_unit_path('25-wireguard-23-peers.netdev', '25-wireguard-23-peers.network',
-                                             '25-wireguard-private-key.txt')
-        self.start_networkd()
-
-        if shutil.which('wg'):
-            subprocess.call('wg')
             output = subprocess.check_output(['wg', 'show', 'wg98', 'private-key']).rstrip().decode('utf-8')
             self.assertTrue(output, 'CJQUtcS9emY2fLYqDlpSZiE/QJyHkPWr+WHtZLZ90FU=')
 
-        self.assertTrue(self.link_exits('wg98'))
-
     def test_geneve(self):
         self.copy_unit_to_networkd_unit_path('25-geneve.netdev')
         self.start_networkd()