Test that tenant list function can use auth_url
Listing tenants can be done on the auth URL because it is often needed to be performed with an unscoped token. The behaviour is not tested though so add a test to cover it. Change-Id: Ic14d54f0f1d8cca2c3a5a6a6da7465c703773aa0
This commit is contained in:
@@ -15,7 +15,9 @@ import uuid
|
||||
import httpretty
|
||||
|
||||
from keystoneclient import exceptions
|
||||
from keystoneclient import fixture
|
||||
from keystoneclient.tests.v2_0 import utils
|
||||
from keystoneclient.v2_0 import client
|
||||
from keystoneclient.v2_0 import tenants
|
||||
from keystoneclient.v2_0 import users
|
||||
|
||||
@@ -345,3 +347,38 @@ class TenantTests(utils.TestCase):
|
||||
|
||||
self.assertEqual(set([user_id1, user_id2]),
|
||||
set([u.id for u in user_objs]))
|
||||
|
||||
@httpretty.activate
|
||||
def test_list_tenants_use_admin_url(self):
|
||||
self.stub_url(httpretty.GET, ['tenants'], json=self.TEST_TENANTS)
|
||||
|
||||
self.assertEqual(self.TEST_URL, self.client.management_url)
|
||||
|
||||
tenant_list = self.client.tenants.list()
|
||||
[self.assertIsInstance(t, tenants.Tenant) for t in tenant_list]
|
||||
|
||||
self.assertEqual(len(self.TEST_TENANTS['tenants']['values']),
|
||||
len(tenant_list))
|
||||
|
||||
@httpretty.activate
|
||||
def test_list_tenants_fallback_to_auth_url(self):
|
||||
new_auth_url = 'http://keystone.test:5000/v2.0'
|
||||
|
||||
token = fixture.V2Token(token_id=self.TEST_TOKEN,
|
||||
user_name=self.TEST_USER,
|
||||
user_id=self.TEST_USER_ID)
|
||||
|
||||
self.stub_auth(base_url=new_auth_url, json=token)
|
||||
self.stub_url(httpretty.GET, ['tenants'], base_url=new_auth_url,
|
||||
json=self.TEST_TENANTS)
|
||||
|
||||
c = client.Client(username=self.TEST_USER,
|
||||
auth_url=new_auth_url,
|
||||
password=uuid.uuid4().hex)
|
||||
|
||||
self.assertIsNone(c.management_url)
|
||||
tenant_list = c.tenants.list()
|
||||
[self.assertIsInstance(t, tenants.Tenant) for t in tenant_list]
|
||||
|
||||
self.assertEqual(len(self.TEST_TENANTS['tenants']['values']),
|
||||
len(tenant_list))
|
||||
|
Reference in New Issue
Block a user