Merge "Deprecate create Discover without session"
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
import logging
|
||||
import warnings
|
||||
|
||||
from debtcollector import removals
|
||||
import six
|
||||
@@ -96,6 +97,12 @@ class Discover(_discover.Discover):
|
||||
In the event that auth_url and endpoint is provided then auth_url will be
|
||||
used in accordance with how the client operates.
|
||||
|
||||
.. warning::
|
||||
|
||||
Creating an instance of this class without using the session argument
|
||||
is deprecated as of the 1.7.0 release and may be removed in the 2.0.0
|
||||
release.
|
||||
|
||||
:param session: A session object that will be used for communication.
|
||||
Clients will also be constructed with this session.
|
||||
:type session: keystoneclient.session.Session
|
||||
@@ -105,35 +112,38 @@ class Discover(_discover.Discover):
|
||||
service. (optional)
|
||||
:param string original_ip: The original IP of the requesting user which
|
||||
will be sent to identity service in a
|
||||
'Forwarded' header. (optional) DEPRECATED: use
|
||||
the session object. This is ignored if a session
|
||||
is provided.
|
||||
'Forwarded' header. (optional) This is ignored
|
||||
if a session is provided. Deprecated as of the
|
||||
1.7.0 release and may be removed in the 2.0.0
|
||||
release.
|
||||
:param boolean debug: Enables debug logging of all request and responses to
|
||||
the identity service. default False (optional)
|
||||
DEPRECATED: use the session object. This is ignored
|
||||
if a session is provided.
|
||||
This is ignored if a session is provided. Deprecated
|
||||
as of the 1.7.0 release and may be removed in the
|
||||
2.0.0 release.
|
||||
:param string cacert: Path to the Privacy Enhanced Mail (PEM) file which
|
||||
contains the trusted authority X.509 certificates
|
||||
needed to established SSL connection with the
|
||||
identity service. (optional) DEPRECATED: use the
|
||||
session object. This is ignored if a session is
|
||||
provided.
|
||||
identity service. (optional) This is ignored if a
|
||||
session is provided. Deprecated as of the 1.7.0
|
||||
release and may be removed in the 2.0.0 release.
|
||||
:param string key: Path to the Privacy Enhanced Mail (PEM) file which
|
||||
contains the unencrypted client private key needed to
|
||||
established two-way SSL connection with the identity
|
||||
service. (optional) DEPRECATED: use the session object.
|
||||
This is ignored if a session is provided.
|
||||
service. (optional) This is ignored if a session is
|
||||
provided. Deprecated as of the 1.7.0 release and may be
|
||||
removed in the 2.0.0 release.
|
||||
:param string cert: Path to the Privacy Enhanced Mail (PEM) file which
|
||||
contains the corresponding X.509 client certificate
|
||||
needed to established two-way SSL connection with the
|
||||
identity service. (optional) DEPRECATED: use the
|
||||
session object. This is ignored if a session is
|
||||
provided.
|
||||
identity service. (optional) This is ignored if a
|
||||
session is provided. Deprecated as of the 1.7.0 release
|
||||
and may be removed in the 2.0.0 release.
|
||||
:param boolean insecure: Does not perform X.509 certificate validation when
|
||||
establishing SSL connection with identity service.
|
||||
default: False (optional) DEPRECATED: use the
|
||||
session object. This is ignored if a session is
|
||||
provided.
|
||||
default: False (optional) This is ignored if a
|
||||
session is provided. Deprecated as of the 1.7.0
|
||||
release and may be removed in the 2.0.0 release.
|
||||
:param bool authenticated: Should a token be used to perform the initial
|
||||
discovery operations. default: None (attach a
|
||||
token if an auth plugin is available).
|
||||
@@ -143,6 +153,10 @@ class Discover(_discover.Discover):
|
||||
@utils.positional(2)
|
||||
def __init__(self, session=None, authenticated=None, **kwargs):
|
||||
if not session:
|
||||
warnings.warn(
|
||||
'Constructing a Discover instance without using a session is '
|
||||
'deprecated as of the 1.7.0 release and may be removed in the '
|
||||
'2.0.0 release.', DeprecationWarning)
|
||||
session = client_session.Session._construct(kwargs)
|
||||
kwargs['session'] = session
|
||||
|
||||
|
@@ -484,8 +484,10 @@ class ClientDiscoveryTests(utils.TestCase):
|
||||
text=V3_AUTH_RESPONSE,
|
||||
headers={'X-Subject-Token': V3_TOKEN})
|
||||
|
||||
disc = discover.Discover(auth_url=BASE_URL, debug=False,
|
||||
username='foo')
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL, debug=False,
|
||||
username='foo')
|
||||
client = disc.create_client(debug=True, password='bar')
|
||||
|
||||
self.assertIsInstance(client, v3_client.Client)
|
||||
@@ -498,7 +500,9 @@ class ClientDiscoveryTests(utils.TestCase):
|
||||
self.requests_mock.get(BASE_URL,
|
||||
status_code=300,
|
||||
text=V3_VERSION_ENTRY)
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
versions = disc.available_versions()
|
||||
@@ -515,7 +519,9 @@ class ClientDiscoveryTests(utils.TestCase):
|
||||
versions.add_version(V4_VERSION)
|
||||
self.requests_mock.get(BASE_URL, status_code=300, json=versions)
|
||||
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
self.assertRaises(exceptions.DiscoveryFailure,
|
||||
disc.create_client, version=4)
|
||||
|
||||
@@ -523,7 +529,9 @@ class ClientDiscoveryTests(utils.TestCase):
|
||||
versions = fixture.DiscoveryList(v2=True, v3=False)
|
||||
self.requests_mock.get(BASE_URL, status_code=300, json=versions)
|
||||
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
self.assertRaises(exceptions.DiscoveryFailure,
|
||||
disc.create_client, version=(3, 0))
|
||||
|
||||
@@ -558,7 +566,9 @@ class DiscoverQueryTests(utils.TestCase):
|
||||
def test_available_keystone_data(self):
|
||||
self.requests_mock.get(BASE_URL, status_code=300, text=V3_VERSION_LIST)
|
||||
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
versions = disc.version_data()
|
||||
|
||||
self.assertEqual((2, 0), versions[0]['version'])
|
||||
@@ -589,7 +599,9 @@ class DiscoverQueryTests(utils.TestCase):
|
||||
v1_url = "%sv1/" % BASE_URL
|
||||
v2_url = "%sv2/" % BASE_URL
|
||||
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
versions = disc.version_data()
|
||||
|
||||
self.assertEqual((1, 0), versions[0]['version'])
|
||||
@@ -620,7 +632,9 @@ class DiscoverQueryTests(utils.TestCase):
|
||||
v1_url = "%sv1/" % BASE_URL
|
||||
v2_url = "%sv2/" % BASE_URL
|
||||
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
versions = disc.version_data()
|
||||
|
||||
self.assertEqual((1, 0), versions[0]['version'])
|
||||
@@ -666,7 +680,9 @@ class DiscoverQueryTests(utils.TestCase):
|
||||
text = jsonutils.dumps({'versions': version_list})
|
||||
self.requests_mock.get(BASE_URL, text=text)
|
||||
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
|
||||
# deprecated is allowed by default
|
||||
versions = disc.version_data(allow_deprecated=False)
|
||||
@@ -688,7 +704,9 @@ class DiscoverQueryTests(utils.TestCase):
|
||||
text = jsonutils.dumps({'versions': version_list})
|
||||
self.requests_mock.get(BASE_URL, text=text)
|
||||
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
|
||||
versions = disc.version_data()
|
||||
self.assertEqual(0, len(versions))
|
||||
@@ -704,7 +722,9 @@ class DiscoverQueryTests(utils.TestCase):
|
||||
version_list = fixture.DiscoveryList(BASE_URL, v2=False,
|
||||
v3_status=status)
|
||||
self.requests_mock.get(BASE_URL, json=version_list)
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
|
||||
versions = disc.version_data()
|
||||
self.assertEqual(0, len(versions))
|
||||
@@ -734,7 +754,9 @@ class DiscoverQueryTests(utils.TestCase):
|
||||
text = jsonutils.dumps({'versions': version_list})
|
||||
self.requests_mock.get(BASE_URL, text=text)
|
||||
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
# Creating Discover not using session is deprecated.
|
||||
with self.deprecations.expect_deprecations_here():
|
||||
disc = discover.Discover(auth_url=BASE_URL)
|
||||
|
||||
# raw_version_data will return all choices, even invalid ones
|
||||
versions = disc.raw_version_data()
|
||||
|
Reference in New Issue
Block a user