[CalendarServer-changes] [9121] CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Apr 16 11:58:37 PDT 2012


Revision: 9121
          http://trac.macosforge.org/projects/calendarserver/changeset/9121
Author:   wsanchez at apple.com
Date:     2012-04-16 11:58:37 -0700 (Mon, 16 Apr 2012)
Log Message:
-----------
More tests, and need cooresponding fixes.

Modified Paths:
--------------
    CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py

Modified: CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py	2012-04-16 18:34:53 UTC (rev 9120)
+++ CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py	2012-04-16 18:58:37 UTC (rev 9121)
@@ -114,22 +114,60 @@
         self.assertEquals(c("h"), ["idden"])
         self.assertEquals(c("f"), [])
 
-    def test_completeFiles(self):
+    @inlineCallbacks
+    def _test_completeFiles(self, tests):
         protocol = ShellProtocol(None, commandsClass=SomeCommands)
         commands = protocol.commands
 
         def c(word):
-            return sorted(commands.complete_files(word))
+            d = commands.complete_files(word)
+            d.addCallback(lambda c: sorted(c))
+            return d
 
-        raise NotImplementedError()
+        for word, completions in tests:
+            self.assertEquals((yield c(word)), completions, "Completing %r" % (word,))
 
-    test_completeFiles.todo = "Not implemented."
+    def test_completeFilesLevelOne(self):
+        return self._test_completeFiles((
+            (""      , ["groups/", "locations/", "resources/", "uids/", "users/"]),
+            ("u"     , ["ids/", "sers/"]),
+            ("g"     , ["roups/"]),
+            ("gr"    , ["oups/"]),
+            ("groups", ["/"]),
+        ))
 
+    test_completeFilesLevelOne.todo = "Doesn't work yet"
+
+    def test_completeFilesLevelOneSlash(self):
+        return self._test_completeFiles((
+            ("/"      , ["groups/", "locations/", "resources/", "uids/", "users/"]),
+            ("/u"     , ["ids/", "sers/"]),
+            ("/g"     , ["roups/"]),
+            ("/gr"    , ["oups/"]),
+            ("/groups", ["/"]),
+        ))
+
+    test_completeFilesLevelOneSlash.todo = "Doesn't work yet"
+
+    def test_completeFilesDirectory(self):
+        return self._test_completeFiles((
+            ("users/" , ["wsanchez", "admin"]), # FIXME: Look up users
+        ))
+
+    test_completeFilesDirectory.todo = "Doesn't work yet"
+
+    def test_completeFilesLevelTwo(self):
+        return self._test_completeFiles((
+            ("users/w" , ["sanchez"]), # FIXME: Look up users?
+        ))
+
+    test_completeFilesLevelTwo.todo = "Doesn't work yet"
+
     def test_listEntryToString(self):
         raise NotImplementedError()
         self.assertEquals(CommandsBase.listEntryToString(file, "stuff"), "")
 
-    test_listEntryToString.todo = "Not implemented"
+    test_listEntryToString.todo = "Test not implemented"
 
 
 class SomeCommands(CommandsBase):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120416/aa8fd97e/attachment.html>


More information about the calendarserver-changes mailing list