diff options
author | James E. Blair <jeblair@redhat.com> | 2016-07-18 10:32:00 -0700 |
---|---|---|
committer | James E. Blair <jeblair@redhat.com> | 2016-07-18 10:32:00 -0700 |
commit | 1f8889595bb506559bfe6157e4d536e11c8239fb (patch) | |
tree | 6ac72a235608f9eee6d6ce6c134f1bf400f7a9cf | |
parent | 2defbeaa1beb9ff9e0e3e31529f1f761ac4fcae5 (diff) | |
download | gear-1f8889595bb506559bfe6157e4d536e11c8239fb.tar.gz |
Add test for AdminRequest.isComplete
Change-Id: I16fd6b6debc3171ec9a346be079c32018e5b5f64
-rw-r--r-- | gear/tests/test_gear.py | 29 |
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): |