From 14144cbf4d5aa8e3b2cd7ee9a126f24c354fe7fb Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Mon, 24 May 2021 20:51:53 +0200
Subject: smoketest: isis: T3417: test domain and area-password settings

---
 smoketest/scripts/cli/test_protocols_isis.py | 31 ++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/smoketest/scripts/cli/test_protocols_isis.py b/smoketest/scripts/cli/test_protocols_isis.py
index 02521f040..f6c13991b 100755
--- a/smoketest/scripts/cli/test_protocols_isis.py
+++ b/smoketest/scripts/cli/test_protocols_isis.py
@@ -165,5 +165,36 @@ class TestProtocolsISIS(VyOSUnitTestSHIM.TestCase):
                 route_map_name = route_map + level + afi
                 self.assertIn(f' default-information originate {afi} {level} always route-map {route_map_name} metric {metric}', tmp)
 
+
+    def test_isis_05_password(self):
+        password = 'foo'
+
+        self.isis_base_config()
+
+        self.cli_set(base_path + ['area-password', 'plaintext-password', password])
+        self.cli_set(base_path + ['area-password', 'md5', password])
+        self.cli_set(base_path + ['domain-password', 'plaintext-password', password])
+        self.cli_set(base_path + ['domain-password', 'md5', password])
+
+        # verify() - can not use both md5 and plaintext-password for area-password
+        with self.assertRaises(ConfigSessionError):
+            self.cli_commit()
+        self.cli_delete(base_path + ['area-password', 'md5', password])
+
+        # verify() - can not use both md5 and plaintext-password for domain-password
+        with self.assertRaises(ConfigSessionError):
+            self.cli_commit()
+        self.cli_delete(base_path + ['domain-password', 'md5', password])
+
+        # Commit all changes
+        self.cli_commit()
+
+        # Verify all changes
+        tmp = self.getFRRconfig(f'router isis {domain}')
+        self.assertIn(f' net {net}', tmp)
+        self.assertIn(f' domain-password clear {password}', tmp)
+        self.assertIn(f' area-password clear {password}', tmp)
+
+
 if __name__ == '__main__':
     unittest.main(verbosity=2)
-- 
cgit v1.2.3