Files
python-keystoneclient/tests/test_client.py
Joe Heck 1a35545db3 fixes auth_ref initialization error
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
2012-11-15 17:07:04 +00:00

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')