_credentials_test.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Copyright 2016, Google Inc.
  2. # All rights reserved.
  3. #
  4. # Redistribution and use in source and binary forms, with or without
  5. # modification, are permitted provided that the following conditions are
  6. # met:
  7. #
  8. # * Redistributions of source code must retain the above copyright
  9. # notice, this list of conditions and the following disclaimer.
  10. # * Redistributions in binary form must reproduce the above
  11. # copyright notice, this list of conditions and the following disclaimer
  12. # in the documentation and/or other materials provided with the
  13. # distribution.
  14. # * Neither the name of Google Inc. nor the names of its
  15. # contributors may be used to endorse or promote products derived from
  16. # this software without specific prior written permission.
  17. #
  18. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  19. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  20. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  21. # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  22. # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  23. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  24. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  25. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  26. # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  27. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  28. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  29. """Tests of credentials."""
  30. import unittest
  31. import grpc
  32. class CredentialsTest(unittest.TestCase):
  33. def test_call_credentials_composition(self):
  34. first = grpc.access_token_call_credentials('abc')
  35. second = grpc.access_token_call_credentials('def')
  36. third = grpc.access_token_call_credentials('ghi')
  37. first_and_second = grpc.composite_call_credentials(first, second)
  38. first_second_and_third = grpc.composite_call_credentials(
  39. first, second, third)
  40. self.assertIsInstance(first_and_second, grpc.CallCredentials)
  41. self.assertIsInstance(first_second_and_third, grpc.CallCredentials)
  42. def test_channel_credentials_composition(self):
  43. first_call_credentials = grpc.access_token_call_credentials('abc')
  44. second_call_credentials = grpc.access_token_call_credentials('def')
  45. third_call_credentials = grpc.access_token_call_credentials('ghi')
  46. channel_credentials = grpc.ssl_channel_credentials()
  47. channel_and_first = grpc.composite_channel_credentials(
  48. channel_credentials, first_call_credentials)
  49. channel_first_and_second = grpc.composite_channel_credentials(
  50. channel_credentials, first_call_credentials, second_call_credentials)
  51. channel_first_second_and_third = grpc.composite_channel_credentials(
  52. channel_credentials, first_call_credentials, second_call_credentials,
  53. third_call_credentials)
  54. self.assertIsInstance(channel_and_first, grpc.ChannelCredentials)
  55. self.assertIsInstance(channel_first_and_second, grpc.ChannelCredentials)
  56. self.assertIsInstance(
  57. channel_first_second_and_third, grpc.ChannelCredentials)
  58. if __name__ == '__main__':
  59. unittest.main(verbosity=2)