|
13 | 13 | from cStringIO import StringIO
|
14 | 14 | import time
|
15 | 15 | import sys
|
| 16 | +import re |
16 | 17 |
|
17 | 18 |
|
18 | 19 | def assert_commit_serialization(rwrepo, commit_id, print_performance_info=False):
|
@@ -273,3 +274,44 @@ def test_serialization_unicode_support(self):
|
273 | 274 | # it appears
|
274 | 275 | cmt.author.__repr__()
|
275 | 276 |
|
| 277 | + def test_gpgsig(self): |
| 278 | + cmt = self.rorepo.commit() |
| 279 | + cmt._deserialize(open(fixture_path('commit_with_gpgsig'))) |
| 280 | + |
| 281 | + fixture_sig = """-----BEGIN PGP SIGNATURE----- |
| 282 | +Version: GnuPG v1.4.11 (GNU/Linux) |
| 283 | +
|
| 284 | +iQIcBAABAgAGBQJRk8zMAAoJEG5mS6x6i9IjsTEP/0v2Wx/i7dqyKban6XMIhVdj |
| 285 | +uI0DycfXqnCCZmejidzeao+P+cuK/ZAA/b9fU4MtwkDm2USvnIOrB00W0isxsrED |
| 286 | +sdv6uJNa2ybGjxBolLrfQcWutxGXLZ1FGRhEvkPTLMHHvVriKoNFXcS7ewxP9MBf |
| 287 | +NH97K2wauqA+J4BDLDHQJgADCOmLrGTAU+G1eAXHIschDqa6PZMH5nInetYZONDh |
| 288 | +3SkOOv8VKFIF7gu8X7HC+7+Y8k8U0TW0cjlQ2icinwCc+KFoG6GwXS7u/VqIo1Yp |
| 289 | +Tack6sxIdK7NXJhV5gAeAOMJBGhO0fHl8UUr96vGEKwtxyZhWf8cuIPOWLk06jA0 |
| 290 | +g9DpLqmy/pvyRfiPci+24YdYRBua/vta+yo/Lp85N7Hu/cpIh+q5WSLvUlv09Dmo |
| 291 | +TTTG8Hf6s3lEej7W8z2xcNZoB6GwXd8buSDU8cu0I6mEO9sNtAuUOHp2dBvTA6cX |
| 292 | +PuQW8jg3zofnx7CyNcd3KF3nh2z8mBcDLgh0Q84srZJCPRuxRcp9ylggvAG7iaNd |
| 293 | +XMNvSK8IZtWLkx7k3A3QYt1cN4y1zdSHLR2S+BVCEJea1mvUE+jK5wiB9S4XNtKm |
| 294 | +BX/otlTa8pNE3fWYBxURvfHnMY4i3HQT7Bc1QjImAhMnyo2vJk4ORBJIZ1FTNIhJ |
| 295 | +JzJMZDRLQLFvnzqZuCjE |
| 296 | +=przd |
| 297 | +-----END PGP SIGNATURE-----""" |
| 298 | + self.assertEqual(cmt.gpgsig, fixture_sig) |
| 299 | + self.assertIn('NTB: Multiple NTB client fix', cmt.message) |
| 300 | + cmt.gpgsig = "<test\ndummy\nsig>" |
| 301 | + self.assertNotEqual(cmt.gpgsig, fixture_sig) |
| 302 | + |
| 303 | + cstream = StringIO() |
| 304 | + cmt._serialize(cstream) |
| 305 | + value = cstream.getvalue() |
| 306 | + self.assertRegexpMatches(value, re.compile(r"^gpgsig <test\n dummy\n sig>$", re.MULTILINE)) |
| 307 | + |
| 308 | + cstream.seek(0) |
| 309 | + cmt.gpgsig = None |
| 310 | + cmt._deserialize(cstream) |
| 311 | + self.assertEqual(cmt.gpgsig, "<test\ndummy\nsig>") |
| 312 | + |
| 313 | + cmt.gpgsig = None |
| 314 | + cstream = StringIO() |
| 315 | + cmt._serialize(cstream) |
| 316 | + value = cstream.getvalue() |
| 317 | + self.assertNotRegexpMatches(value, re.compile(r"^gpgsig ", re.MULTILINE)) |
0 commit comments