Merge pull request #17281 from lidizheng/issue-16718

Raise the exception while credential initialization
pull/17301/head
Lidi Zheng 6 years ago committed by GitHub
commit 4bc98acfd7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
  2. 11
      src/python/grpcio_tests/tests/unit/_credentials_test.py

@ -129,6 +129,8 @@ cdef class SSLSessionCacheLRU:
cdef class SSLChannelCredentials(ChannelCredentials):
def __cinit__(self, pem_root_certificates, private_key, certificate_chain):
if pem_root_certificates is not None and not isinstance(pem_root_certificates, bytes):
raise TypeError('expected certificate to be bytes, got %s' % (type(pem_root_certificates)))
self._pem_root_certificates = pem_root_certificates
self._private_key = private_key
self._certificate_chain = certificate_chain

@ -15,6 +15,7 @@
import unittest
import logging
import six
import grpc
@ -53,6 +54,16 @@ class CredentialsTest(unittest.TestCase):
self.assertIsInstance(channel_first_second_and_third,
grpc.ChannelCredentials)
@unittest.skipIf(six.PY2, 'only invalid in Python3')
def test_invalid_string_certificate(self):
self.assertRaises(
TypeError,
grpc.ssl_channel_credentials,
root_certificates='A Certificate',
private_key=None,
certificate_chain=None,
)
if __name__ == '__main__':
logging.basicConfig()

Loading…
Cancel
Save