From cef9025bf89b59e09ef5d5d72e70e0acaaf02d75 Mon Sep 17 00:00:00 2001
From: Christoph Hellwig <hch@lst.de>
Date: Sat, 26 Mar 2016 18:28:06 +0100
Subject: [PATCH] tests: check for invalid subsystem names

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 nvmet/test_nvmet.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/nvmet/test_nvmet.py b/nvmet/test_nvmet.py
index b092baa..5654c59 100644
--- a/nvmet/test_nvmet.py
+++ b/nvmet/test_nvmet.py
@@ -1,4 +1,6 @@
 
+import random
+import string
 import unittest
 import nvmet.nvme as nvme
 
@@ -146,6 +148,25 @@ class TestNvmet(unittest.TestCase):
         s.delete()
         self.assertEqual(len(list(root.subsystems)), 0)
 
+    def test_invalid_input(self):
+        root = nvme.Root()
+        root.clear_existing()
+
+        self.assertRaises(nvme.CFSError, nvme.Subsystem,
+                          nqn='', mode='create')
+        self.assertRaises(nvme.CFSError, nvme.Subsystem,
+                          nqn='/', mode='create')
+
+        for l in [ 257, 512, 1024, 2048 ]:
+            toolong = ''.join(random.choice(string.lowercase)
+                              for i in range(l))
+            self.assertRaises(nvme.CFSError, nvme.Subsystem,
+                              nqn=toolong, mode='create')
+
+        discover_nqn = "nqn.2014-08.org.nvmexpress.discovery"
+        self.assertRaises(nvme.CFSError, nvme.Subsystem,
+                          nqn=discover_nqn, mode='create')
+
     def test_save_restore(self):
         root = nvme.Root()
         root.clear_existing()
-- 
GitLab