def setUp(self): super(ConnectionDetailsTestCase, self).setUp() self.session = Session(FakeSession(TestCoreService())) self.sd = ConnectionDetails( service_name='test', session=self.session )
class ConnectionDetailsTestCase(unittest.TestCase): def setUp(self): super(ConnectionDetailsTestCase, self).setUp() self.session = Session(FakeSession(TestCoreService())) self.sd = ConnectionDetails( service_name='test', session=self.session ) def test_init(self): self.assertEqual(self.sd.service_name, 'test') self.assertEqual(self.sd.session, self.session) self.assertEqual(self.sd._api_version, None) self.assertEqual(self.sd._loaded_service_data, None) def test_service_data(self): self.assertEqual(self.sd._loaded_service_data, None) # Access the property. It should load the data, cache it & return it. self.assertEqual(len(self.sd.service_data), 2) self.assertNotEqual(self.sd._loaded_service_data, None) # Ensure the API version was cleared out as well. self.assertEqual(self.sd._api_version, None) def test_api_version(self): self.assertEqual(self.sd._api_version, None) # Access the property. It should load the data, cache it & return it. self.assertEqual(self.sd.api_version, '2013-08-23') self.assertEqual(self.sd._api_version, '2013-08-23') # Test the cached version self.sd._api_version += 'a' self.assertEqual(self.sd.api_version, '2013-08-23a') def test__introspect_service(self): service_data = self.sd._introspect_service( self.session.core_session, 'test' ) # We test the introspected data elsewhere, so it's enough that we # just check the necessary method names are here. self.assertEqual(sorted(list(service_data.keys())), [ 'create_queue', 'delete_queue' ]) def test_reload_service_data(self): service_data = self.sd._introspect_service( self.session.core_session, 'test' ) self.assertEqual(sorted(list(service_data.keys())), [ 'create_queue', 'delete_queue' ]) # Now it changed. self.sd.session = Session(FakeSession(ChangedTestCoreService())) self.sd.reload_service_data() self.assertEqual(sorted(list(self.sd.service_data.keys())), [ 'delete_queue' ])