Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: third_party/twisted_8_1/twisted/words/test/test_basesupport.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2001-2006 Twisted Matrix Laboratories.
2 # See LICENSE for details.
3
4 from twisted.trial import unittest
5 from twisted.words.im import basesupport
6 from twisted.internet import error, defer
7
8 class DummyAccount(basesupport.AbstractAccount):
9 """
10 An account object that will do nothing when asked to start to log on.
11 """
12
13 loginHasFailed = False
14 loginCallbackCalled = False
15
16 def _startLogOn(self, *args):
17 """
18 Set self.loginDeferred to the same as the deferred returned, allowing a
19 testcase to .callback or .errback.
20
21 @return: A deferred.
22 """
23 self.loginDeferred = defer.Deferred()
24 return self.loginDeferred
25
26 def _loginFailed(self, result):
27 self.loginHasFailed = True
28 return basesupport.AbstractAccount._loginFailed(self, result)
29
30 def _cb_logOn(self, result):
31 self.loginCallbackCalled = True
32 return basesupport.AbstractAccount._cb_logOn(self, result)
33
34 class DummyUI(object):
35 """
36 Provide just the interface required to be passed to AbstractAccount.logOn.
37 """
38 clientRegistered = False
39
40 def registerAccountClient(self, result):
41 self.clientRegistered = True
42
43 class ClientMsgTests(unittest.TestCase):
44 def makeUI(self):
45 return DummyUI()
46
47 def makeAccount(self):
48 return DummyAccount('la', False, 'la', None, 'localhost', 6667)
49
50 def test_connect(self):
51 """
52 Test that account.logOn works, and it calls the right callback when a
53 connection is established.
54 """
55 account = self.makeAccount()
56 ui = self.makeUI()
57 d = account.logOn(ui)
58 account.loginDeferred.callback(None)
59
60 def check(result):
61 self.assert_(not account.loginHasFailed,
62 "Login shouldn't have failed")
63 self.assert_(account.loginCallbackCalled,
64 "We should be logged in")
65 d.addCallback(check)
66 return d
67
68 def test_failedConnect(self):
69 """
70 Test that account.logOn works, and it calls the right callback when a
71 connection is established.
72 """
73 account = self.makeAccount()
74 ui = self.makeUI()
75 d = account.logOn(ui)
76 account.loginDeferred.errback(Exception())
77
78 def err(reason):
79 self.assert_(account.loginHasFailed, "Login should have failed")
80 self.assert_(not account.loginCallbackCalled,
81 "We shouldn't be logged in")
82 self.assert_(not ui.clientRegistered,
83 "Client shouldn't be registered in the UI")
84 cb = lambda r: self.assert_(False, "Shouldn't get called back")
85 d.addCallbacks(cb, err)
86 return d
87
88 def test_alreadyConnecting(self):
89 """
90 Test that it can fail sensibly when someone tried to connect before
91 we did.
92 """
93 account = self.makeAccount()
94 ui = self.makeUI()
95 account.logOn(ui)
96 self.assertRaises(error.ConnectError, account.logOn, ui)
97
OLDNEW
« no previous file with comments | « third_party/twisted_8_1/twisted/words/test/__init__.py ('k') | third_party/twisted_8_1/twisted/words/test/test_domish.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698