| 
					
				 | 
			
			
				@@ -15,10 +15,50 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import logging 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import unittest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import grpc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from grpc.experimental import aio 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from tests_aio.unit import test_base 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class TestAioRpcError(unittest.TestCase): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _TEST_INITIAL_METADATA = ("initial metadata",) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _TEST_TRAILING_METADATA = ("trailing metadata",) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def test_attributes(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        aio_rpc_error = aio.AioRpcError(self._TEST_INITIAL_METADATA, 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        "details", self._TEST_TRAILING_METADATA) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertEqual(aio_rpc_error.initial_metadata(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                         self._TEST_INITIAL_METADATA) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertEqual(aio_rpc_error.code(), 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertEqual(aio_rpc_error.details(), "details") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertEqual(aio_rpc_error.trailing_metadata(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                         self._TEST_TRAILING_METADATA) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def test_class_hierarchy(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        aio_rpc_error = aio.AioRpcError(self._TEST_INITIAL_METADATA, 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        "details", self._TEST_TRAILING_METADATA) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertIsInstance(aio_rpc_error, grpc.RpcError) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def test_class_attributes(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        aio_rpc_error = aio.AioRpcError(self._TEST_INITIAL_METADATA, 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        "details", self._TEST_TRAILING_METADATA) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertEqual(aio_rpc_error.__class__.__name__, "AioRpcError") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertEqual(aio_rpc_error.__class__.__doc__, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                         aio.AioRpcError.__doc__) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def test_class_singleton(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        first_aio_rpc_error = aio.AioRpcError(self._TEST_INITIAL_METADATA, 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                              "details", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                              self._TEST_TRAILING_METADATA) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        second_aio_rpc_error = aio.AioRpcError(self._TEST_INITIAL_METADATA, 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                               "details", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                               self._TEST_TRAILING_METADATA) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        self.assertIs(first_aio_rpc_error.__class__, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      second_aio_rpc_error.__class__) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class TestInsecureChannel(test_base.AioTestBase): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def test_insecure_channel(self): 
			 |