Ejemplo n.º 1
0
 def setUp(self):
     super(ConnectionDetailsTestCase, self).setUp()
     self.session = Session(FakeSession(TestCoreService()))
     self.sd = ConnectionDetails(
         service_name='test',
         session=self.session
     )
Ejemplo n.º 2
0
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'
        ])