def test_get_session_without_auth_url(self): """test_get_session_without_auth_url check that we could not retrieve a session without auth_url""" osclients = OpenStackClients() osclients.auth_url = None # Checking v3 try: osclients.get_session() except Exception as ex: self.assertRaises(ex) # Checking v2 osclients.use_v3 = False try: osclients.get_session() except Exception as ex: self.assertRaises(ex)
def test_get_session_using_token(self): """test creating a session using a token instead of a password""" osclients = OpenStackClients() osclients.set_token('faketoken') session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) self.assertTrue(type(session.auth) == keystoneclient.auth.identity.v3.token.Token)
def test_get_session_without_auth_url(self): """test_get_session_without_auth_url check that we could not retrieve a session without auth_url""" osclients = OpenStackClients() osclients.auth_url = None # Checking v3 try: osclients.get_session() except Exception as ex: self.assertRaises(ex) # Checking v2 osclients.use_v3 = False try: osclients.get_session() except Exception as ex: self.assertRaises(ex)
def test_get_session_without_username_nor_token(self): """test_get_session_without_username check that we could not retrieve a session without username""" osclients = OpenStackClients() osclients.set_credential("", self.OS_PASSWORD, tenant_id=self.OS_TENANT_ID) # Checking v3 try: osclients.get_session() except Exception as ex: self.assertRaises(ex) # Checking v2 osclients.use_v3 = False try: osclients.get_session() except Exception as ex: self.assertRaises(ex)
def test_get_session_using_token(self): """test creating a session using a token instead of a password""" osclients = OpenStackClients() osclients.set_token('faketoken') session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) self.assertTrue( type(session.auth) == keystoneclient.auth.identity.v3.token.Token)
def test_get_session_with_different_auth_url(self): """test_get_session_without_auth_url check that we could retrieve a session with auth_url formats""" auth_url_v2_1 = "http://cloud.lab.fi-ware.org:4731/v2.0" auth_url_v2_2 = "http://cloud.lab.fi-ware.org:4731/v2.0/" auth_url_v3_1 = "http://cloud.lab.fi-ware.org:4731/v3" auth_url_v3_2 = "http://cloud.lab.fi-ware.org:4731/v3/" osclients = OpenStackClients() # Checking v3 osclients.auth_url = auth_url_v2_1 session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) session.invalidate() osclients._session_v3 = None osclients.auth_url = auth_url_v2_2 session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) session.invalidate() osclients._session_v3 = None # Checking v2 osclients.use_v3 = False osclients.auth_url = auth_url_v3_1 session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) session.invalidate() osclients._session_v2 = None osclients.auth_url = auth_url_v3_2 session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) session.invalidate() osclients._session_v2 = None
def test_get_session_with_different_auth_url(self): """test_get_session_without_auth_url check that we could retrieve a session with auth_url formats""" auth_url_v2_1 = "http://cloud.lab.fi-ware.org:4731/v2.0" auth_url_v2_2 = "http://cloud.lab.fi-ware.org:4731/v2.0/" auth_url_v3_1 = "http://cloud.lab.fi-ware.org:4731/v3" auth_url_v3_2 = "http://cloud.lab.fi-ware.org:4731/v3/" osclients = OpenStackClients() # Checking v3 osclients.auth_url = auth_url_v2_1 session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) session.invalidate() osclients._session_v3 = None osclients.auth_url = auth_url_v2_2 session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) session.invalidate() osclients._session_v3 = None # Checking v2 osclients.use_v3 = False osclients.auth_url = auth_url_v3_1 session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) session.invalidate() osclients._session_v2 = None osclients.auth_url = auth_url_v3_2 session = osclients.get_session() self.assertIsInstance(session, keystoneclient.session.Session) session.invalidate() osclients._session_v2 = None
def test_get_session_without_username_nor_token(self): """test_get_session_without_username check that we could not retrieve a session without username""" osclients = OpenStackClients() osclients.set_credential("", self.OS_PASSWORD, tenant_id=self.OS_TENANT_ID) # Checking v3 try: osclients.get_session() except Exception as ex: self.assertRaises(ex) # Checking v2 osclients.use_v3 = False try: osclients.get_session() except Exception as ex: self.assertRaises(ex)
class TestOSClientsOverrideEndpoint(TestCase): """Class to test the endpoint override feature""" def setUp(self): d = defaultdict(list) d['catalog'].append(service) self.access = d self.osclients = OpenStackClients() self.url = 'http://fake.org:9090' self.original_url = service['endpoints'][1]['url'] def restore_catalog(self): """restore catalog""" service['endpoints'][1]['url'] = self.original_url def tearDown(self): """restore objects""" self.restore_catalog() def override_endpoint(self): """method that override the endpoint""" self.osclients.override_endpoint('object-store', 'Spain2', 'admin', self.url) def assertOverrideEndpoint(self): """check that the override has been done""" self.assertEquals(self.osclients.get_admin_endpoint('object-store', 'Spain2'), self.url) def test_override_endpoint_session(self): """test that invoking override endpoint does not create a session""" self.override_endpoint() self.assertFalse(self.osclients._session_v2) self.assertFalse(self.osclients._session_v3) def test_override_endpoint(self): """check that a session catalog is overriden""" mock = MagicMock() config = {'auth.get_access.return_value': self.access} mock.configure_mock(**config) self.osclients._session_v3 = mock self.override_endpoint() self.assertOverrideEndpoint() @patch('fiwareskuld.utils.osclients.session') def test_override_endpoint_multiple(self, mock): """test that override works with an already created session and then with a new one without invoking the method again""" config = {'Session.return_value.auth.get_access.return_value': self.access} mock.configure_mock(**config) session = self.osclients.get_session() self.override_endpoint() self.assertOverrideEndpoint() # invalidate and create a new session; ensure than catalog is again # the original. Setting a new token invalidate the session. The new # one is created at the invocation of get_admin_endpoint. self.restore_catalog() self.osclients.set_token('faketoken') # check again self.assertOverrideEndpoint()
class TestOSClientsOverrideEndpoint(TestCase): """Class to test the endpoint override feature""" def setUp(self): d = defaultdict(list) d['catalog'].append(service) self.access = d self.osclients = OpenStackClients() self.url = 'http://fake.org:9090' self.original_url = service['endpoints'][1]['url'] def restore_catalog(self): """restore catalog""" service['endpoints'][1]['url'] = self.original_url def tearDown(self): """restore objects""" self.restore_catalog() def override_endpoint(self): """method that override the endpoint""" self.osclients.override_endpoint('object-store', 'Spain2', 'admin', self.url) def assertOverrideEndpoint(self): """check that the override has been done""" self.assertEquals( self.osclients.get_admin_endpoint('object-store', 'Spain2'), self.url) def test_override_endpoint_session(self): """test that invoking override endpoint does not create a session""" self.override_endpoint() self.assertFalse(self.osclients._session_v2) self.assertFalse(self.osclients._session_v3) def test_override_endpoint(self): """check that a session catalog is overriden""" mock = MagicMock() config = {'auth.get_access.return_value': self.access} mock.configure_mock(**config) self.osclients._session_v3 = mock self.override_endpoint() self.assertOverrideEndpoint() @patch('fiwareskuld.utils.osclients.session') def test_override_endpoint_multiple(self, mock): """test that override works with an already created session and then with a new one without invoking the method again""" config = { 'Session.return_value.auth.get_access.return_value': self.access } mock.configure_mock(**config) session = self.osclients.get_session() self.override_endpoint() self.assertOverrideEndpoint() # invalidate and create a new session; ensure than catalog is again # the original. Setting a new token invalidate the session. The new # one is created at the invocation of get_admin_endpoint. self.restore_catalog() self.osclients.set_token('faketoken') # check again self.assertOverrideEndpoint()