summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames E. Blair <jeblair@redhat.com>2016-07-18 10:32:00 -0700
committerJames E. Blair <jeblair@redhat.com>2016-07-18 10:32:00 -0700
commit1f8889595bb506559bfe6157e4d536e11c8239fb (patch)
tree6ac72a235608f9eee6d6ce6c134f1bf400f7a9cf
parent2defbeaa1beb9ff9e0e3e31529f1f761ac4fcae5 (diff)
downloadgear-1f8889595bb506559bfe6157e4d536e11c8239fb.tar.gz
Add test for AdminRequest.isComplete
Change-Id: I16fd6b6debc3171ec9a346be079c32018e5b5f64
-rw-r--r--gear/tests/test_gear.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/gear/tests/test_gear.py b/gear/tests/test_gear.py
index 6398b9e..3791295 100644
--- a/gear/tests/test_gear.py
+++ b/gear/tests/test_gear.py
@@ -42,6 +42,35 @@ class ConnectionTestCase(tests.BaseTestCase):
'host: %s port: %s>' % (self.host, self.port)))
+class AdminRequestTestCase(tests.BaseTestCase):
+ scenarios = [
+ ('empty newline', dict(response=b'.\n', remainder=b'')),
+ ('empty return', dict(response=b'.\r\n', remainder=b'')),
+ ('data newline', dict(response=b'foo\n.\n', remainder=b'')),
+ ('data return', dict(response=b'foo\r\n.\r\n', remainder=b'')),
+ ('pipeline newline', dict(response=b'foo\n.\nbar',
+ remainder=b'bar')),
+ ('pipeline return', dict(response=b'foo\r\n.\r\nbar',
+ remainder=b'bar')),
+ ]
+
+ def test_full_packet(self):
+ req = gear.StatusAdminRequest()
+ ret = req.isComplete(self.response)
+ self.assertTrue(ret[0])
+ self.assertEqual(ret[1], self.remainder)
+
+ def test_partial_packet(self):
+ req = gear.StatusAdminRequest()
+ for i in range(len(self.response)-len(self.remainder)):
+ ret = req.isComplete(self.response[:i])
+ self.assertFalse(ret[0])
+ self.assertIsNone(ret[1])
+ ret = req.isComplete(self.response)
+ self.assertTrue(ret[0])
+ self.assertEqual(ret[1], self.remainder)
+
+
class TestConnection(tests.BaseTestCase):
def setUp(self):