Ver código fonte

Fix bug in nodes and add tests

oz123 10 anos atrás
pai
commit
55a53d1f8a
2 arquivos alterados com 11 adições e 5 exclusões
  1. 5 5
      pwman/data/nodes.py
  2. 6 0
      pwman/tests/test_base_ui.py

+ 5 - 5
pwman/data/nodes.py

@@ -38,19 +38,19 @@ class Node(object):
     def __str__(self):
         p = "{entry_title:>{width}} {entry:<{width}}\n".format(
             entry_title=pwman.ui.tools.typeset('Username:', Fore.RED),
-            width=10, entry=self.username)
+            width=10, entry=str(self.username))
         p += "{entry_title:>{width}} {entry:<{width}}\n".format(
             entry_title=pwman.ui.tools.typeset('Password:', Fore.RED),
-            width=10, entry=self.password)
+            width=10, entry=str(self.password))
         p += "{entry_title:>{width}} {entry:<{width}}\n".format(
             entry_title=pwman.ui.tools.typeset('URL:', Fore.RED),
-            width=10, entry=self.url)
+            width=10, entry=str(self.url))
         p += "{entry_title:>{width}} {entry:<{width}}\n".format(
             entry_title=pwman.ui.tools.typeset('Notes:', Fore.RED),
-            width=10, entry=self.notes)
+            width=10, entry=str(self.notes))
         p += "{entry_title:>{width}} {entry:<{width}}\n".format(
             entry_title=pwman.ui.tools.typeset('Tags:', Fore.RED),
-            width=10, entry=self.tags)
+            width=10, entry=str(self.tags))
         return p
 
     @classmethod

+ 6 - 0
pwman/tests/test_base_ui.py

@@ -101,6 +101,12 @@ class TestBaseUI(unittest.TestCase):
         ce = CryptoEngine.get()
         self.assertIsNone(ce._cipher)
 
+    def test_6_do_print(self):
+        v = StringIO()
+        sys.stdout = v
+        self.tester.cli.do_print('1')
+        self.assertIn('\x1b[31mUsername:\x1b[0m alice', v.getvalue())
+
     def test_5_do_delete(self):
         self.assertIsNone(self.tester.cli._do_rm('x'))
         sys.stdin = StringIO("y\n")