
bug 1078589 * allow client values to be overridden, but use auth_ref if none available * added tests to match this flow * refactored tokens into test_fixtures.py file Change-Id: I771a2dee6dedf31d883417d9b4e6e64bbb620f14
38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
import httplib2
|
|
import json
|
|
import mock
|
|
|
|
from keystoneclient.v2_0 import client
|
|
from tests import client_fixtures
|
|
from tests import utils
|
|
|
|
|
|
fake_response = httplib2.Response({"status": 200})
|
|
fake_body = json.dumps(client_fixtures.PROJECT_SCOPED_TOKEN)
|
|
mock_request = mock.Mock(return_value=(fake_response, fake_body))
|
|
|
|
|
|
class KeystoneclientTest(utils.TestCase):
|
|
|
|
def test_scoped_init(self):
|
|
with mock.patch.object(httplib2.Http, "request", mock_request):
|
|
cl = client.Client(username='exampleuser',
|
|
password='password',
|
|
auth_url='http://somewhere/')
|
|
self.assertIsNotNone(cl.auth_ref)
|
|
self.assertTrue(cl.auth_ref.scoped)
|
|
|
|
def test_auth_ref_load(self):
|
|
with mock.patch.object(httplib2.Http, "request", mock_request):
|
|
cl = client.Client(username='exampleuser',
|
|
password='password',
|
|
auth_url='http://somewhere/')
|
|
cache = json.dumps(cl.auth_ref)
|
|
new_client = client.Client(auth_ref=json.loads(cache))
|
|
self.assertIsNotNone(new_client.auth_ref)
|
|
self.assertTrue(new_client.auth_ref.scoped)
|
|
self.assertEquals(new_client.username, 'exampleuser')
|
|
self.assertIsNone(new_client.password)
|
|
self.assertEqual(new_client.management_url,
|
|
'http://admin:35357/v2.0')
|