[CalendarServer-changes] [8548] CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py
source_changes at macosforge.org
source_changes at macosforge.org
Mon Jan 16 16:06:50 PST 2012
Revision: 8548
http://trac.macosforge.org/projects/calendarserver/changeset/8548
Author: wsanchez at apple.com
Date: 2012-01-16 16:06:50 -0800 (Mon, 16 Jan 2012)
Log Message:
-----------
Add some tests
Added Paths:
-----------
CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py
Added: CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py
===================================================================
--- CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py (rev 0)
+++ CalendarServer/trunk/calendarserver/tools/shell/test/test_cmd.py 2012-01-17 00:06:50 UTC (rev 8548)
@@ -0,0 +1,95 @@
+#!/usr/bin/env python
+##
+# Copyright (c) 2012 Apple Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+##
+
+import twisted.trial.unittest
+from twisted.internet.defer import inlineCallbacks
+
+from txdav.common.icommondatastore import NotFoundError
+
+from calendarserver.tools.shell.cmd import CommandsBase, Commands
+from calendarserver.tools.shell.vfs import RootFolder
+
+
+class TestCommandsBase(twisted.trial.unittest.TestCase):
+
+ @inlineCallbacks
+ def test_getTargetNone(self):
+ cmd = CommandsBase(RootFolder(None))
+ target = (yield cmd.getTarget([]))
+ self.assertEquals(target, cmd.wd)
+
+ def test_getTargetMissing(self):
+ cmd = CommandsBase(RootFolder(None))
+ self.assertFailure(cmd.getTarget(["/foo"]), NotFoundError)
+
+ @inlineCallbacks
+ def test_getTargetOne(self):
+ cmd = CommandsBase(RootFolder(None))
+ target = (yield cmd.getTarget(["users"]))
+ match = (yield cmd.wd.locate(["users"]))
+ self.assertEquals(target, match)
+
+ @inlineCallbacks
+ def test_getTargetSome(self):
+ cmd = CommandsBase(RootFolder(None))
+ target = (yield cmd.getTarget(["users", "blah"]))
+ match = (yield cmd.wd.locate(["users"]))
+ self.assertEquals(target, match)
+
+ def test_commandsNone(self):
+ cmd = CommandsBase(RootFolder(None))
+ commands = cmd.commands()
+
+ self.assertEquals(sorted(commands), [])
+
+ def test_commandsSome(self):
+ class SomeCommands(CommandsBase):
+ def cmd_a(self, tokens):
+ pass
+ def cmd_b(self, tokens):
+ pass
+ def cmd_hidden(self, tokens):
+ pass
+ cmd_hidden.hidden = "Hidden"
+
+ cmd = SomeCommands(RootFolder(None))
+ commands = cmd.commands()
+
+ self.assertEquals(
+ sorted(commands),
+ [ ("a", cmd.cmd_a), ("b", cmd.cmd_b) ]
+ )
+
+ def test_complete(self):
+ items = (
+ "foo",
+ "bar",
+ "foobar",
+ "baz",
+ "quux",
+ )
+
+ def c(word):
+ return sorted(CommandsBase.complete(word, items))
+
+ self.assertEquals(c("f" ), ["oo", "oobar"])
+ self.assertEquals(c("foo" ), ["", "bar"])
+ self.assertEquals(c("foobar" ), [""])
+ self.assertEquals(c("foobars"), [])
+ self.assertEquals(c("baz" ), [""])
+ self.assertEquals(c("q" ), ["uux"])
+ self.assertEquals(c("xyzzy" ), [])
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120116/390f1fef/attachment.html>
More information about the calendarserver-changes
mailing list