diff --git a/tests/utests/ofagent/test_connection_mgr.py b/tests/utests/ofagent/test_connection_mgr.py
index 657a37a..179e691 100644
--- a/tests/utests/ofagent/test_connection_mgr.py
+++ b/tests/utests/ofagent/test_connection_mgr.py
@@ -28,7 +28,7 @@
         consul_endpoint,voltha_endpoint,controller_endpoints  = self.gen_endpoints()
         test_connection_init = ConnectionManager(consul_endpoint, voltha_endpoint, controller_endpoints)
         self.assertEqual(test_connection_init.consul_endpoint,consul_endpoint)
-        self.assertEqual(test_connection_init.voltha_endpoint, voltha_endpoint)
+        self.assertEqual(test_connection_init.vcore_endpoint, voltha_endpoint)
         self.assertEqual(test_connection_init.controller_endpoints, controller_endpoints)
 
     def test_resolve_endpoint(self):
@@ -58,7 +58,7 @@
         with self.assertRaises(Exception) as context:
             test_connection_init.delete_agent(device.datapath_id)
         print context.exception
-        self.assertTrue('\'NoneType\' object has no attribute \'disconnect\'' in context.exception)
+        self.assertTrue('\'NoneType\' object has no attribute \'disconnect\'' in str(context.exception))
 
     def test_forward_packet_in(self):
         consul_endpoint, voltha_endpoint, controller_endpoints = self.gen_endpoints()
@@ -69,4 +69,4 @@
         test_connection_init.forward_packet_in(device.id, packet_in)
 
 if __name__ == '__main__':
-    main()
\ No newline at end of file
+    main()
