コード例 #1
0
    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': {}
                }
            }
        }
コード例 #2
0
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)