"""A mock protocol server client to test callbacks."""
def __init__(self):
+ self.end_calls = []
self.error_calls = []
self.failure_calls = []
self.start_calls = []
def addSuccess(self, test):
self.success_calls.append(test)
+ def endTest(self, test):
+ self.end_calls.append(test)
+
def startTest(self, test):
self.start_calls.append(test)
protocol.startTest(subunit.RemotedTestCase("test old mcdonald"))
self.assertEqual(protocol.start_calls,
[subunit.RemotedTestCase("test old mcdonald")])
+ self.assertEqual(protocol.end_calls, [])
self.assertEqual(protocol.error_calls, [])
self.assertEqual(protocol.failure_calls, [])
self.assertEqual(protocol.success_calls, [])
protocol.addError(subunit.RemotedTestCase("old mcdonald"),
subunit.RemoteError("omg it works"))
self.assertEqual(protocol.start_calls, [])
+ self.assertEqual(protocol.end_calls, [])
self.assertEqual(protocol.error_calls, [(
subunit.RemotedTestCase("old mcdonald"),
subunit.RemoteError("omg it works"))])
protocol.addFailure(subunit.RemotedTestCase("old mcdonald"),
subunit.RemoteError("omg it works"))
self.assertEqual(protocol.start_calls, [])
+ self.assertEqual(protocol.end_calls, [])
self.assertEqual(protocol.error_calls, [])
self.assertEqual(protocol.failure_calls, [
(subunit.RemotedTestCase("old mcdonald"),
protocol = MockTestProtocolServerClient()
protocol.addSuccess(subunit.RemotedTestCase("test old mcdonald"))
self.assertEqual(protocol.start_calls, [])
+ self.assertEqual(protocol.end_calls, [])
self.assertEqual(protocol.error_calls, [])
self.assertEqual(protocol.failure_calls, [])
self.assertEqual(protocol.success_calls,
[subunit.RemotedTestCase("test old mcdonald")])
+ def test_end_test(self):
+ protocol = MockTestProtocolServerClient()
+ protocol.endTest(subunit.RemotedTestCase("test old mcdonald"))
+ self.assertEqual(protocol.end_calls,
+ [subunit.RemotedTestCase("test old mcdonald")])
+ self.assertEqual(protocol.error_calls, [])
+ self.assertEqual(protocol.failure_calls, [])
+ self.assertEqual(protocol.success_calls, [])
+ self.assertEqual(protocol.start_calls, [])
class TestTestImports(unittest.TestCase):
bing = subunit.RemotedTestCase("bing crosby")
an_error = subunit.RemotedTestCase("an error")
self.assertEqual(client.start_calls, [mcdonald, bing, an_error])
+ self.assertEqual(client.end_calls, [mcdonald, bing, an_error])
self.assertEqual(client.error_calls,
[(an_error, subunit.RemoteError())])
self.assertEqual(client.failure_calls,
self.protocol.lineReceived("error old mcdonald\n")
self.keywords_before_test()
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls,
[(self.test, subunit.RemoteError(""))])
self.assertEqual(self.client.failure_calls, [])
self.protocol.lineReceived("failure old mcdonald\n")
self.keywords_before_test()
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [])
self.assertEqual(self.client.failure_calls,
[(self.test, subunit.RemoteError())])
self.protocol.lineReceived("success old mcdonald\n")
self.keywords_before_test()
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [])
self.assertEqual(self.client.failure_calls, [])
self.assertEqual(self.client.success_calls, [self.test])
"successful: a\n"
"]\n")
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.failure_calls,
[(self.test, subunit.RemoteError())])
self.assertEqual(self.client.error_calls, [])
"successful a\n"
"successful: a\n"
"]\n"))])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [])
self.assertEqual(self.client.success_calls, [])
def setUp(self):
self.client = MockTestProtocolServerClient()
self.protocol = subunit.TestProtocolServer(self.client)
+ self.test = subunit.RemotedTestCase("old mcdonald")
def test_lost_connection_no_input(self):
self.protocol.lostConnection()
def test_lost_connection_after_start(self):
self.protocol.lineReceived("test old mcdonald\n")
self.protocol.lostConnection()
- test = subunit.RemotedTestCase("old mcdonald")
- self.assertEqual(self.client.start_calls, [test])
+ self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [
- (test, subunit.RemoteError("lost connection during "
- "test 'old mcdonald'"))])
+ (self.test, subunit.RemoteError("lost connection during "
+ "test 'old mcdonald'"))])
self.assertEqual(self.client.failure_calls, [])
self.assertEqual(self.client.success_calls, [])
self.protocol.lineReceived("test old mcdonald\n")
self.protocol.lineReceived("error old mcdonald\n")
self.protocol.lostConnection()
- test = subunit.RemotedTestCase("old mcdonald")
- self.assertEqual(self.client.start_calls, [test])
+ self.assertEqual(self.client.start_calls, [self.test])
self.assertEqual(self.client.failure_calls, [])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [
- (test, subunit.RemoteError(""))])
+ (self.test, subunit.RemoteError(""))])
self.assertEqual(self.client.success_calls, [])
def test_lost_connection_during_error(self):
self.protocol.lineReceived("test old mcdonald\n")
self.protocol.lineReceived("error old mcdonald [\n")
self.protocol.lostConnection()
- test = subunit.RemotedTestCase("old mcdonald")
- self.assertEqual(self.client.start_calls, [test])
+ self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [
- (test, subunit.RemoteError("lost connection during error report of"
- " test 'old mcdonald'"))])
+ (self.test, subunit.RemoteError("lost connection during error "
+ "report of test 'old mcdonald'"))])
self.assertEqual(self.client.failure_calls, [])
self.assertEqual(self.client.success_calls, [])
self.protocol.lineReceived("failure old mcdonald\n")
self.protocol.lostConnection()
test = subunit.RemotedTestCase("old mcdonald")
- self.assertEqual(self.client.start_calls, [test])
+ self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [])
- self.assertEqual(self.client.failure_calls, [(test, subunit.RemoteError())])
+ self.assertEqual(self.client.failure_calls,
+ [(self.test, subunit.RemoteError())])
self.assertEqual(self.client.success_calls, [])
def test_lost_connection_during_failure(self):
self.protocol.lineReceived("test old mcdonald\n")
self.protocol.lineReceived("failure old mcdonald [\n")
self.protocol.lostConnection()
- test = subunit.RemotedTestCase("old mcdonald")
- self.assertEqual(self.client.start_calls, [test])
- self.assertEqual(self.client.error_calls, [
- (test, subunit.RemoteError("lost connection during failure report"
- " of test 'old mcdonald'"))])
+ self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
+ self.assertEqual(self.client.error_calls,
+ [(self.test,
+ subunit.RemoteError("lost connection during "
+ "failure report"
+ " of test 'old mcdonald'"))])
self.assertEqual(self.client.failure_calls, [])
self.assertEqual(self.client.success_calls, [])
self.protocol.lineReceived("test old mcdonald\n")
self.protocol.lineReceived("success old mcdonald\n")
self.protocol.lostConnection()
- self.assertEqual(self.client.start_calls,
- [subunit.RemotedTestCase("old mcdonald")])
+ self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [])
self.assertEqual(self.client.failure_calls, [])
- self.assertEqual(self.client.success_calls,
- [subunit.RemotedTestCase("old mcdonald")])
+ self.assertEqual(self.client.success_calls, [self.test])
class TestTestProtocolServerAddError(unittest.TestCase):
def simple_error_keyword(self, keyword):
self.protocol.lineReceived("%s mcdonalds farm\n" % keyword)
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [
(self.test, subunit.RemoteError(""))])
self.assertEqual(self.client.failure_calls, [])
self.protocol.lineReceived("error mcdonalds farm [\n")
self.protocol.lineReceived("]\n")
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [
(self.test, subunit.RemoteError(""))])
self.assertEqual(self.client.failure_calls, [])
self.protocol.lineReceived(" ]\n")
self.protocol.lineReceived("]\n")
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [
(self.test, subunit.RemoteError("]\n"))])
self.assertEqual(self.client.failure_calls, [])
def simple_failure_keyword(self, keyword):
self.protocol.lineReceived("%s mcdonalds farm\n" % keyword)
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [])
self.assertEqual(self.client.failure_calls,
[(self.test, subunit.RemoteError())])
self.protocol.lineReceived("failure mcdonalds farm [\n")
self.protocol.lineReceived("]\n")
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [])
self.assertEqual(self.client.failure_calls,
[(self.test, subunit.RemoteError())])
self.protocol.lineReceived(" ]\n")
self.protocol.lineReceived("]\n")
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [])
self.assertEqual(self.client.failure_calls,
[(self.test, subunit.RemoteError("]\n"))])
def simple_success_keyword(self, keyword):
self.protocol.lineReceived("%s mcdonalds farm\n" % keyword)
self.assertEqual(self.client.start_calls, [self.test])
+ self.assertEqual(self.client.end_calls, [self.test])
self.assertEqual(self.client.error_calls, [])
self.assertEqual(self.client.success_calls, [self.test])