def setUp(self): super(CollectionDetailsTestCase, self).setUp() self.test_dirs = [ os.path.join(os.path.dirname(__file__), 'test_data') ] self.test_loader = ResourceJSONLoader(self.test_dirs) self.session = Session(FakeSession(TestCoreService())) self.cd = CollectionDetails( self.session, 'test', 'PipelineCollection', loader=self.test_loader ) # Fake some identifiers in. self.alt_cd = CollectionDetails( self.session, 'test', 'JobCollection', loader=self.test_loader ) self.alt_cd._loaded_data = { 'api_version': 'something', 'collections': { 'JobCollection': { 'resource': 'Job', 'identifiers': [ { 'var_name': 'pipeline', 'api_name': '$whatever.Pipeline', }, { 'var_name': 'id', 'api_name': 'Id', }, ], 'operations': {} } } }
class CollectionDetailsTestCase(unittest.TestCase): def setUp(self): super(CollectionDetailsTestCase, self).setUp() self.test_dirs = [ os.path.join(os.path.dirname(__file__), 'test_data') ] self.test_loader = ResourceJSONLoader(self.test_dirs) self.session = Session(FakeSession(TestCoreService())) self.cd = CollectionDetails( self.session, 'test', 'PipelineCollection', loader=self.test_loader ) # Fake some identifiers in. self.alt_cd = CollectionDetails( self.session, 'test', 'JobCollection', loader=self.test_loader ) self.alt_cd._loaded_data = { 'api_version': 'something', 'collections': { 'JobCollection': { 'resource': 'Job', 'identifiers': [ { 'var_name': 'pipeline', 'api_name': '$whatever.Pipeline', }, { 'var_name': 'id', 'api_name': 'Id', }, ], 'operations': {} } } } def test_init(self): self.assertEqual(self.cd.session, self.session) self.assertEqual(self.cd.service_name, 'test') self.assertEqual(self.cd.loader, self.test_loader) self.assertEqual(self.cd._loaded_data, None) self.assertEqual(self.cd._api_version, None) def test_service_data_uncached(self): self.assertEqual(self.cd._loaded_data, None) data = self.cd.service_data self.assertEqual(len(data.keys()), 4) self.assertTrue('api_version' in self.cd._loaded_data) def test_collection_data_uncached(self): self.assertEqual(self.cd._loaded_data, None) data = self.cd.collection_data self.assertEqual(len(data.keys()), 2) self.assertFalse('identifier' in data) self.assertTrue('operations' in data) self.assertTrue('api_version' in self.cd._loaded_data) def test_api_version_uncached(self): self.assertEqual(self.cd._api_version, None) av = self.cd.api_version self.assertEqual(av, '2013-11-27') self.assertEqual(self.cd._api_version, '2013-11-27') def test_identifiers(self): self.assertEqual(self.cd.identifiers, []) # Now with something with identifiers. self.assertEqual(self.alt_cd.identifiers, [ { 'api_name': '$whatever.Pipeline', 'var_name': 'pipeline', }, { 'api_name': 'Id', 'var_name': 'id', } ]) def test_result_key_for(self): # Non-existent self.assertEqual(self.cd.result_key_for('notthere'), None) # Now with actual data. self.assertEqual(self.cd.result_key_for('create'), 'Pipeline') self.assertEqual(self.cd.result_key_for('each'), 'Pipelines') def test_resource_uncached(self): self.assertEqual(self.cd._loaded_data, None) res = self.cd.resource self.assertEqual(res, 'Pipeline') self.assertTrue('api_version' in self.cd._loaded_data) def test_cached(self): # Fake in data. self.cd._loaded_data = { 'api_version': '20XX-MM-II', 'hello': 'world', } data = self.cd.service_data av = self.cd.api_version self.assertTrue('hello' in data) self.assertTrue('20XX-MM-II' in av)