def test__get_session(self, mock_keystone_get_session): osclient = osclients.OSClient(None, None, None) auth_url = "auth_url" version = "version" import warnings with mock.patch.object(warnings, "warn") as mock_warn: self.assertEqual(mock_keystone_get_session.return_value, osclient._get_session(auth_url, version)) self.assertTrue(mock_warn.called) mock_keystone_get_session.assert_called_once_with(version)
def test__get_endpoint(self, mock_keystone_service_catalog, endpoint_type, service_type, region_name): credential = oscredential.OpenStackCredential( "http://auth_url/v2.0", "user", "pass", endpoint_type=endpoint_type, region_name=region_name) mock_choose_service_type = mock.MagicMock() osclient = osclients.OSClient(credential, {}, mock.MagicMock()) osclient.choose_service_type = mock_choose_service_type mock_url_for = mock_keystone_service_catalog.url_for self.assertEqual(mock_url_for.return_value, osclient._get_endpoint(service_type)) call_args = { "service_type": mock_choose_service_type.return_value, "region_name": region_name} if endpoint_type: call_args["interface"] = endpoint_type mock_url_for.assert_called_once_with(**call_args) mock_choose_service_type.assert_called_once_with(service_type)
def test_cached(self): clients = osclients.Clients(mock.MagicMock()) client_name = "CachedTestCase.test_cached" fake_client = osclients.configure(client_name)(osclients.OSClient( clients.credential, clients.api_info, clients.cache)) fake_client.create_client = mock.MagicMock() self.assertEqual({}, clients.cache) fake_client() self.assertEqual({client_name: fake_client.create_client.return_value}, clients.cache) fake_client.create_client.assert_called_once_with() fake_client() fake_client.create_client.assert_called_once_with() fake_client("2") self.assertEqual( { client_name: fake_client.create_client.return_value, "%s('2',)" % client_name: fake_client.create_client.return_value }, clients.cache) clients.clear() self.assertEqual({}, clients.cache)
def test__get_session(self, auth_url): mock_keystoneauth1 = mock.MagicMock() self.set_up_keystone_mocks() osclient = osclients.OSClient(self.credential, {}, mock.MagicMock()) with mock.patch.dict("sys.modules", {"keystoneauth1": mock_keystoneauth1}): mock_keystoneauth1.discover.Discover.return_value = (mock.Mock( version_data=mock.Mock(return_value=[{ "version": (1, 0) }]))) osclient._get_session(auth_url=auth_url) if auth_url == "http://auth_url/v2.0": self.ksc_password.assert_called_once_with(auth_url=auth_url, password="******", tenant_name="tenant", username="******") elif auth_url is None: self.ksc_password.assert_called_once_with( auth_url="http://auth_url/v2.0", password="******", tenant_name="tenant", username="******") else: self.ksc_password.assert_called_once_with( auth_url=auth_url, password="******", tenant_name="tenant", username="******", domain_name=None, project_domain_name=None, user_domain_name=None) mock_keystoneauth1.session.Session.assert_has_calls([ mock.call(timeout=180.0, verify=True), mock.call(auth=self.ksc_identity_plugin, timeout=180.0, verify=True) ])