remove X-Auth-Project-Id, re-add auth by token support (most tests pass)
This commit is contained in:
@@ -96,6 +96,7 @@ class Client(client.HTTPClient):
|
||||
tenant_id=self.tenant_id,
|
||||
tenant_name=self.tenant_name,
|
||||
password=self.password,
|
||||
token=self.auth_token,
|
||||
return_raw=True)
|
||||
self._extract_service_catalog(self.auth_url, raw_token)
|
||||
return True
|
||||
|
@@ -33,7 +33,6 @@ class ClientTest(utils.TestCase):
|
||||
def test_get_call():
|
||||
resp, body = cl.get("/hi")
|
||||
headers = {"X-Auth-Token": "token",
|
||||
"X-Auth-Project-Id": "project_id",
|
||||
"User-Agent": cl.USER_AGENT,
|
||||
}
|
||||
mock_request.assert_called_with("http://127.0.0.1:5000/"
|
||||
@@ -52,7 +51,6 @@ class ClientTest(utils.TestCase):
|
||||
cl.post("/hi", body=[1, 2, 3])
|
||||
headers = {
|
||||
"X-Auth-Token": "token",
|
||||
"X-Auth-Project-Id": "project_id",
|
||||
"Content-Type": "application/json",
|
||||
"User-Agent": cl.USER_AGENT
|
||||
}
|
||||
|
@@ -8,7 +8,7 @@ from keystoneclient.v2_0 import client
|
||||
|
||||
|
||||
class TestCase(unittest.TestCase):
|
||||
TEST_TENANT = '1'
|
||||
TEST_TENANT_ID = '1'
|
||||
TEST_TENANT_NAME = 'aTenant'
|
||||
TEST_TOKEN = 'aToken'
|
||||
TEST_USER = 'test'
|
||||
@@ -70,7 +70,7 @@ class TestCase(unittest.TestCase):
|
||||
httplib2.Http.request = self.mox.CreateMockAnything()
|
||||
self.client = client.Client(username=self.TEST_USER,
|
||||
token=self.TEST_TOKEN,
|
||||
project_id=self.TEST_TENANT,
|
||||
tenant_name=self.TEST_TENANT_ID,
|
||||
auth_url=self.TEST_URL,
|
||||
endpoint=self.TEST_URL)
|
||||
|
||||
|
@@ -36,7 +36,7 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase):
|
||||
"username": self.TEST_USER,
|
||||
"password": self.TEST_TOKEN,
|
||||
},
|
||||
"tenantId": self.TEST_TENANT
|
||||
"tenantId": self.TEST_TENANT_ID
|
||||
}
|
||||
}
|
||||
self.TEST_REQUEST_HEADERS = {
|
||||
@@ -47,7 +47,6 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase):
|
||||
def test_authenticate_failure(self):
|
||||
self.TEST_REQUEST_BODY['auth']['passwordCredentials']['password'] = \
|
||||
'bad_key'
|
||||
self.TEST_REQUEST_HEADERS['X-Auth-Project-Id'] = '1'
|
||||
resp = httplib2.Response({
|
||||
"status": 401,
|
||||
"body": json.dumps({"unauthorized": {
|
||||
@@ -70,11 +69,10 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase):
|
||||
with self.assertRaises(exceptions.Unauthorized):
|
||||
client.Client(username=self.TEST_USER,
|
||||
password="bad_key",
|
||||
project_id=self.TEST_TENANT,
|
||||
tenant_id=self.TEST_TENANT_ID,
|
||||
auth_url=self.TEST_URL)
|
||||
|
||||
def test_auth_redirect(self):
|
||||
self.TEST_REQUEST_HEADERS['X-Auth-Project-Id'] = '1'
|
||||
correct_response = json.dumps(self.TEST_RESPONSE_DICT)
|
||||
dict_responses = [
|
||||
{"headers": {'location': self.TEST_ADMIN_URL + "/tokens"},
|
||||
@@ -101,17 +99,16 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase):
|
||||
|
||||
cs = client.Client(username=self.TEST_USER,
|
||||
password=self.TEST_TOKEN,
|
||||
project_id=self.TEST_TENANT,
|
||||
tenant_id=self.TEST_TENANT_ID,
|
||||
auth_url=self.TEST_URL)
|
||||
|
||||
self.assertEqual(cs.management_url,
|
||||
self.TEST_RESPONSE_DICT["access"]["serviceCatalog"][3]
|
||||
['endpoints'][0]["publicURL"])
|
||||
['endpoints'][0]["adminURL"])
|
||||
self.assertEqual(cs.auth_token,
|
||||
self.TEST_RESPONSE_DICT["access"]["token"]["id"])
|
||||
|
||||
def test_authenticate_success_password_scoped(self):
|
||||
self.TEST_REQUEST_HEADERS['X-Auth-Project-Id'] = '1'
|
||||
resp = httplib2.Response({
|
||||
"status": 200,
|
||||
"body": json.dumps(self.TEST_RESPONSE_DICT),
|
||||
@@ -126,11 +123,11 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase):
|
||||
|
||||
cs = client.Client(username=self.TEST_USER,
|
||||
password=self.TEST_TOKEN,
|
||||
project_id=self.TEST_TENANT,
|
||||
tenant_id=self.TEST_TENANT_ID,
|
||||
auth_url=self.TEST_URL)
|
||||
self.assertEqual(cs.management_url,
|
||||
self.TEST_RESPONSE_DICT["access"]["serviceCatalog"][3]
|
||||
['endpoints'][0]["publicURL"])
|
||||
['endpoints'][0]["adminURL"])
|
||||
self.assertEqual(cs.auth_token,
|
||||
self.TEST_RESPONSE_DICT["access"]["token"]["id"])
|
||||
|
||||
@@ -159,7 +156,6 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase):
|
||||
def test_authenticate_success_token_scoped(self):
|
||||
del self.TEST_REQUEST_BODY['auth']['passwordCredentials']
|
||||
self.TEST_REQUEST_BODY['auth']['token'] = {'id': self.TEST_TOKEN}
|
||||
self.TEST_REQUEST_HEADERS['X-Auth-Project-Id'] = '1'
|
||||
self.TEST_REQUEST_HEADERS['X-Auth-Token'] = self.TEST_TOKEN
|
||||
resp = httplib2.Response({
|
||||
"status": 200,
|
||||
@@ -174,11 +170,11 @@ class AuthenticateAgainstKeystoneTests(utils.TestCase):
|
||||
self.mox.ReplayAll()
|
||||
|
||||
cs = client.Client(token=self.TEST_TOKEN,
|
||||
project_id=self.TEST_TENANT,
|
||||
tenant_id=self.TEST_TENANT_ID,
|
||||
auth_url=self.TEST_URL)
|
||||
self.assertEqual(cs.management_url,
|
||||
self.TEST_RESPONSE_DICT["access"]["serviceCatalog"][3]
|
||||
['endpoints'][0]["publicURL"])
|
||||
['endpoints'][0]["adminURL"])
|
||||
self.assertEqual(cs.auth_token,
|
||||
self.TEST_RESPONSE_DICT["access"]["token"]["id"])
|
||||
|
||||
|
@@ -10,11 +10,9 @@ from tests import utils
|
||||
class RoleTests(utils.TestCase):
|
||||
def setUp(self):
|
||||
super(RoleTests, self).setUp()
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'X-Auth-Token': 'aToken',
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
self.TEST_POST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'Content-Type': 'application/json',
|
||||
self.TEST_POST_HEADERS = {'Content-Type': 'application/json',
|
||||
'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
self.TEST_ROLES = {
|
||||
|
@@ -10,11 +10,9 @@ from tests import utils
|
||||
class ServiceTests(utils.TestCase):
|
||||
def setUp(self):
|
||||
super(ServiceTests, self).setUp()
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'X-Auth-Token': 'aToken',
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
self.TEST_POST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'Content-Type': 'application/json',
|
||||
self.TEST_POST_HEADERS = {'Content-Type': 'application/json',
|
||||
'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
self.TEST_SERVICES = {"OS-KSADM:services": {
|
||||
|
@@ -10,11 +10,9 @@ from tests import utils
|
||||
class TenantTests(utils.TestCase):
|
||||
def setUp(self):
|
||||
super(TenantTests, self).setUp()
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'X-Auth-Token': 'aToken',
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
self.TEST_POST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'Content-Type': 'application/json',
|
||||
self.TEST_POST_HEADERS = {'Content-Type': 'application/json',
|
||||
'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
self.TEST_TENANTS = {"tenants": {
|
||||
|
@@ -10,11 +10,9 @@ from tests import utils
|
||||
class TokenTests(utils.TestCase):
|
||||
def setUp(self):
|
||||
#super(ServiceTests, self).setUp()
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'X-Auth-Token': 'aToken',
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
self.TEST_POST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'Content-Type': 'application/json',
|
||||
self.TEST_POST_HEADERS = {'Content-Type': 'application/json',
|
||||
'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
'''
|
||||
|
@@ -10,11 +10,9 @@ from tests import utils
|
||||
class UserTests(utils.TestCase):
|
||||
def setUp(self):
|
||||
super(UserTests, self).setUp()
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'X-Auth-Token': 'aToken',
|
||||
self.TEST_REQUEST_HEADERS = {'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
self.TEST_POST_HEADERS = {'X-Auth-Project-Id': '1',
|
||||
'Content-Type': 'application/json',
|
||||
self.TEST_POST_HEADERS = {'Content-Type': 'application/json',
|
||||
'X-Auth-Token': 'aToken',
|
||||
'User-Agent': 'python-keystoneclient'}
|
||||
self.TEST_USERS = {
|
||||
|
Reference in New Issue
Block a user