Remove addition of account to service url.
This commit is contained in:
parent
417f6ca5c5
commit
cbc2956a4e
@ -73,18 +73,6 @@ class APIRouter(wsgi.Router):
|
||||
def __init__(self):
|
||||
mapper = routes.Mapper()
|
||||
|
||||
accounts_controller = accounts.Controller()
|
||||
mapper.connect("account", "/{id}",
|
||||
controller=accounts_controller, action="show",
|
||||
conditions=dict(method=["GET"]))
|
||||
if FLAGS.allow_admin_api:
|
||||
mapper.connect("/{id}",
|
||||
controller=accounts_controller, action="update",
|
||||
conditions=dict(method=["PUT"]))
|
||||
mapper.connect("/{id}",
|
||||
controller=accounts_controller, action="delete",
|
||||
conditions=dict(method=["DELETE"]))
|
||||
|
||||
server_members = {'action': 'POST'}
|
||||
if FLAGS.allow_admin_api:
|
||||
LOG.debug(_("Including admin operations in API."))
|
||||
@ -101,38 +89,34 @@ class APIRouter(wsgi.Router):
|
||||
server_members['inject_network_info'] = 'POST'
|
||||
|
||||
mapper.resource("zone", "zones", controller=zones.Controller(),
|
||||
path_prefix="{account_id}/",
|
||||
collection={'detail': 'GET'})
|
||||
|
||||
mapper.resource("user", "users", controller=users.Controller(),
|
||||
path_prefix="{account_id}/",
|
||||
collection={'detail': 'GET'})
|
||||
|
||||
mapper.resource("account", "accounts",
|
||||
controller=accounts.Controller(),
|
||||
collection={'detail': 'GET'})
|
||||
|
||||
mapper.resource("server", "servers", controller=servers.Controller(),
|
||||
collection={'detail': 'GET'},
|
||||
path_prefix="{account_id}/",
|
||||
member=server_members)
|
||||
|
||||
mapper.resource("backup_schedule", "backup_schedule",
|
||||
controller=backup_schedules.Controller(),
|
||||
path_prefix="{account_id}/servers/{server_id}/",
|
||||
parent_resource=dict(member_name='server',
|
||||
collection_name='servers'))
|
||||
|
||||
mapper.resource("console", "consoles",
|
||||
controller=consoles.Controller(),
|
||||
path_prefix="{account_id}/servers/{server_id}/",
|
||||
parent_resource=dict(member_name='server',
|
||||
collection_name='servers'))
|
||||
|
||||
mapper.resource("image", "images", controller=images.Controller(),
|
||||
path_prefix="{account_id}/",
|
||||
collection={'detail': 'GET'})
|
||||
mapper.resource("flavor", "flavors", controller=flavors.Controller(),
|
||||
path_prefix="{account_id}/",
|
||||
collection={'detail': 'GET'})
|
||||
mapper.resource("shared_ip_group", "shared_ip_groups",
|
||||
path_prefix="{account_id}/",
|
||||
collection={'detail': 'GET'},
|
||||
controller=shared_ip_groups.Controller())
|
||||
|
||||
|
@ -53,19 +53,15 @@ class AuthMiddleware(wsgi.Middleware):
|
||||
if not self.has_authentication(req):
|
||||
return self.authenticate(req)
|
||||
user = self.get_user_by_authentication(req)
|
||||
account_name = req.path_info_peek()
|
||||
|
||||
accounts = self.auth.get_projects(user=user)
|
||||
if not user:
|
||||
return faults.Fault(webob.exc.HTTPUnauthorized())
|
||||
|
||||
if not account_name:
|
||||
if self.auth.is_admin(user):
|
||||
account_name = FLAGS.default_project
|
||||
else:
|
||||
return faults.Fault(webob.exc.HTTPUnauthorized())
|
||||
try:
|
||||
account = self.auth.get_project(account_name)
|
||||
except exception.NotFound:
|
||||
if accounts:
|
||||
#we are punting on this til auth is settled,
|
||||
#and possibly til api v1.1 (mdragon)
|
||||
account = accounts[0]
|
||||
else:
|
||||
return faults.Fault(webob.exc.HTTPUnauthorized())
|
||||
|
||||
if not self.auth.is_admin(user) and \
|
||||
@ -85,7 +81,6 @@ class AuthMiddleware(wsgi.Middleware):
|
||||
# Unless the request is explicitly made against /<version>/ don't
|
||||
# honor it
|
||||
path_info = req.path_info
|
||||
account_name = None
|
||||
if len(path_info) > 1:
|
||||
return faults.Fault(webob.exc.HTTPUnauthorized())
|
||||
|
||||
@ -95,10 +90,7 @@ class AuthMiddleware(wsgi.Middleware):
|
||||
except KeyError:
|
||||
return faults.Fault(webob.exc.HTTPUnauthorized())
|
||||
|
||||
if ':' in username:
|
||||
account_name, username = username.rsplit(':', 1)
|
||||
|
||||
token, user = self._authorize_user(username, account_name, key, req)
|
||||
token, user = self._authorize_user(username, key, req)
|
||||
if user and token:
|
||||
res = webob.Response()
|
||||
res.headers['X-Auth-Token'] = token.token_hash
|
||||
@ -135,31 +127,15 @@ class AuthMiddleware(wsgi.Middleware):
|
||||
return self.auth.get_user(token.user_id)
|
||||
return None
|
||||
|
||||
def _authorize_user(self, username, account_name, key, req):
|
||||
def _authorize_user(self, username, key, req):
|
||||
"""Generates a new token and assigns it to a user.
|
||||
|
||||
username - string
|
||||
account_name - string
|
||||
key - string API key
|
||||
req - webob.Request object
|
||||
"""
|
||||
ctxt = context.get_admin_context()
|
||||
user = self.auth.get_user_from_access_key(key)
|
||||
if account_name:
|
||||
try:
|
||||
account = self.auth.get_project(account_name)
|
||||
except exception.NotFound:
|
||||
return None, None
|
||||
else:
|
||||
# (dragondm) punt and try to determine account.
|
||||
# this is something of a hack, but a user on 1 account is a
|
||||
# common case, and is the way the current RS code works.
|
||||
accounts = self.auth.get_projects(user=user)
|
||||
if len(accounts) == 1:
|
||||
account = accounts[0]
|
||||
else:
|
||||
#we can't tell what account they are logging in for.
|
||||
return None, None
|
||||
|
||||
if user and user.name == username:
|
||||
token_hash = hashlib.sha1('%s%s%f' % (username, key,
|
||||
@ -167,11 +143,7 @@ class AuthMiddleware(wsgi.Middleware):
|
||||
token_dict = {}
|
||||
token_dict['token_hash'] = token_hash
|
||||
token_dict['cdn_management_url'] = ''
|
||||
# auth url + project (account) id, e.g.
|
||||
# http://foo.org:8774/baz/v1.0/myacct/
|
||||
os_url = '%s%s%s/' % (req.url,
|
||||
'' if req.url.endswith('/') else '/',
|
||||
account.id)
|
||||
os_url = req.url
|
||||
token_dict['server_management_url'] = os_url
|
||||
token_dict['storage_url'] = ''
|
||||
token_dict['user_id'] = user.id
|
||||
|
@ -11,5 +11,5 @@ export EUCALYPTUS_CERT=${NOVA_CERT} # euca-bundle-image seems to require this se
|
||||
alias ec2-bundle-image="ec2-bundle-image --cert ${EC2_CERT} --privatekey ${EC2_PRIVATE_KEY} --user 42 --ec2cert ${NOVA_CERT}"
|
||||
alias ec2-upload-bundle="ec2-upload-bundle -a ${EC2_ACCESS_KEY} -s ${EC2_SECRET_KEY} --url ${S3_URL} --ec2cert ${NOVA_CERT}"
|
||||
export NOVA_API_KEY="%(access)s"
|
||||
export NOVA_USERNAME="%(project)s:%(user)s"
|
||||
export NOVA_USERNAME="%(user)s"
|
||||
export NOVA_URL="%(os)s"
|
||||
|
@ -70,7 +70,7 @@ class AccountsTest(test.TestCase):
|
||||
super(AccountsTest, self).tearDown()
|
||||
|
||||
def test_get_account(self):
|
||||
req = webob.Request.blank('/v1.0/test1')
|
||||
req = webob.Request.blank('/v1.0/accounts/test1')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
@ -80,7 +80,7 @@ class AccountsTest(test.TestCase):
|
||||
self.assertEqual(res.status_int, 200)
|
||||
|
||||
def test_account_delete(self):
|
||||
req = webob.Request.blank('/v1.0/test1')
|
||||
req = webob.Request.blank('/v1.0/accounts/test1')
|
||||
req.method = 'DELETE'
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertTrue('test1' not in fakes.FakeAuthManager.projects)
|
||||
@ -89,7 +89,7 @@ class AccountsTest(test.TestCase):
|
||||
def test_account_create(self):
|
||||
body = dict(account=dict(description='test account',
|
||||
manager='guy1'))
|
||||
req = webob.Request.blank('/v1.0/newacct')
|
||||
req = webob.Request.blank('/v1.0/accounts/newacct')
|
||||
req.method = 'PUT'
|
||||
req.body = json.dumps(body)
|
||||
|
||||
@ -108,7 +108,7 @@ class AccountsTest(test.TestCase):
|
||||
def test_account_update(self):
|
||||
body = dict(account=dict(description='test account',
|
||||
manager='guy2'))
|
||||
req = webob.Request.blank('/v1.0/test1')
|
||||
req = webob.Request.blank('/v1.0/accounts/test1')
|
||||
req.method = 'PUT'
|
||||
req.body = json.dumps(body)
|
||||
|
||||
|
@ -50,7 +50,7 @@ class AdminAPITest(test.TestCase):
|
||||
def test_admin_enabled(self):
|
||||
FLAGS.allow_admin_api = True
|
||||
# We should still be able to access public operations.
|
||||
req = webob.Request.blank('/v1.0/testacct/flavors')
|
||||
req = webob.Request.blank('/v1.0/flavors')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertEqual(res.status_int, 200)
|
||||
# TODO: Confirm admin operations are available.
|
||||
@ -58,7 +58,7 @@ class AdminAPITest(test.TestCase):
|
||||
def test_admin_disabled(self):
|
||||
FLAGS.allow_admin_api = False
|
||||
# We should still be able to access public operations.
|
||||
req = webob.Request.blank('/v1.0/testacct/flavors')
|
||||
req = webob.Request.blank('/v1.0/flavors')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
# TODO: Confirm admin operations are unavailable.
|
||||
self.assertEqual(res.status_int, 200)
|
||||
|
@ -78,7 +78,7 @@ class Test(test.TestCase):
|
||||
self.assertEqual(result.status, '204 No Content')
|
||||
self.assertEqual(len(result.headers['X-Auth-Token']), 40)
|
||||
self.assertEqual(result.headers['X-Server-Management-Url'],
|
||||
"http://foo/v1.0/test/")
|
||||
"http://foo/v1.0/")
|
||||
self.assertEqual(result.headers['X-CDN-Management-Url'],
|
||||
"")
|
||||
self.assertEqual(result.headers['X-Storage-Url'], "")
|
||||
|
@ -42,11 +42,11 @@ class FlavorsTest(test.TestCase):
|
||||
super(FlavorsTest, self).tearDown()
|
||||
|
||||
def test_get_flavor_list(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/flavors')
|
||||
req = webob.Request.blank('/v1.0/flavors')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertEqual(res.status_int, 200)
|
||||
|
||||
def test_get_flavor_by_id(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/flavors/1')
|
||||
req = webob.Request.blank('/v1.0/flavors/1')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertEqual(res.status_int, 200)
|
||||
|
@ -216,7 +216,7 @@ class ImageControllerWithGlanceServiceTest(test.TestCase):
|
||||
super(ImageControllerWithGlanceServiceTest, self).tearDown()
|
||||
|
||||
def test_get_image_index(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/images')
|
||||
req = webob.Request.blank('/v1.0/images')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
@ -228,7 +228,7 @@ class ImageControllerWithGlanceServiceTest(test.TestCase):
|
||||
"image %s not in fixture index!" % str(image))
|
||||
|
||||
def test_get_image_details(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/images/detail')
|
||||
req = webob.Request.blank('/v1.0/images/detail')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
|
@ -150,7 +150,7 @@ class ServersTest(test.TestCase):
|
||||
super(ServersTest, self).tearDown()
|
||||
|
||||
def test_get_server_by_id(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1')
|
||||
req = webob.Request.blank('/v1.0/servers/1')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
self.assertEqual(res_dict['server']['id'], '1')
|
||||
@ -161,7 +161,7 @@ class ServersTest(test.TestCase):
|
||||
public = ["1.2.3.4"]
|
||||
new_return_server = return_server_with_addresses(private, public)
|
||||
self.stubs.Set(nova.db.api, 'instance_get', new_return_server)
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1')
|
||||
req = webob.Request.blank('/v1.0/servers/1')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
self.assertEqual(res_dict['server']['id'], '1')
|
||||
@ -173,7 +173,7 @@ class ServersTest(test.TestCase):
|
||||
self.assertEqual(addresses["private"][0], private)
|
||||
|
||||
def test_get_server_list(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/servers')
|
||||
req = webob.Request.blank('/v1.0/servers')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
@ -224,7 +224,7 @@ class ServersTest(test.TestCase):
|
||||
name='server_test', imageId=2, flavorId=2,
|
||||
metadata={'hello': 'world', 'open': 'stack'},
|
||||
personality={}))
|
||||
req = webob.Request.blank('/v1.0/testacct/servers')
|
||||
req = webob.Request.blank('/v1.0/servers')
|
||||
req.method = 'POST'
|
||||
req.body = json.dumps(body)
|
||||
|
||||
@ -233,7 +233,7 @@ class ServersTest(test.TestCase):
|
||||
self.assertEqual(res.status_int, 200)
|
||||
|
||||
def test_update_no_body(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1')
|
||||
req = webob.Request.blank('/v1.0/servers/1')
|
||||
req.method = 'PUT'
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertEqual(res.status_int, 422)
|
||||
@ -251,7 +251,7 @@ class ServersTest(test.TestCase):
|
||||
self.stubs.Set(nova.db.api, 'instance_update',
|
||||
server_update)
|
||||
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1')
|
||||
req = webob.Request.blank('/v1.0/servers/1')
|
||||
req.method = 'PUT'
|
||||
req.body = self.body
|
||||
req.get_response(fakes.wsgi_app())
|
||||
@ -267,30 +267,30 @@ class ServersTest(test.TestCase):
|
||||
self.stubs.Set(nova.db.api, 'instance_update',
|
||||
server_update)
|
||||
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1')
|
||||
req = webob.Request.blank('/v1.0/servers/1')
|
||||
req.method = 'PUT'
|
||||
req.body = self.body
|
||||
req.get_response(fakes.wsgi_app())
|
||||
|
||||
def test_create_backup_schedules(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/backup_schedules')
|
||||
req = webob.Request.blank('/v1.0/servers/1/backup_schedules')
|
||||
req.method = 'POST'
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertEqual(res.status, '404 Not Found')
|
||||
|
||||
def test_delete_backup_schedules(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/backup_schedules')
|
||||
req = webob.Request.blank('/v1.0/servers/1/backup_schedules')
|
||||
req.method = 'DELETE'
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertEqual(res.status, '404 Not Found')
|
||||
|
||||
def test_get_server_backup_schedules(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/backup_schedules')
|
||||
req = webob.Request.blank('/v1.0/servers/1/backup_schedules')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertEqual(res.status, '404 Not Found')
|
||||
|
||||
def test_get_all_server_details(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/detail')
|
||||
req = webob.Request.blank('/v1.0/servers/detail')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
@ -321,7 +321,7 @@ class ServersTest(test.TestCase):
|
||||
self.stubs.Set(nova.db.api, 'instance_get_all_by_user',
|
||||
return_servers_with_host)
|
||||
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/detail')
|
||||
req = webob.Request.blank('/v1.0/servers/detail')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
@ -341,7 +341,7 @@ class ServersTest(test.TestCase):
|
||||
body = dict(server=dict(
|
||||
name='server_test', imageId=2, flavorId=2, metadata={},
|
||||
personality={}))
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/pause')
|
||||
req = webob.Request.blank('/v1.0/servers/1/pause')
|
||||
req.method = 'POST'
|
||||
req.content_type = 'application/json'
|
||||
req.body = json.dumps(body)
|
||||
@ -353,7 +353,7 @@ class ServersTest(test.TestCase):
|
||||
body = dict(server=dict(
|
||||
name='server_test', imageId=2, flavorId=2, metadata={},
|
||||
personality={}))
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/unpause')
|
||||
req = webob.Request.blank('/v1.0/servers/1/unpause')
|
||||
req.method = 'POST'
|
||||
req.content_type = 'application/json'
|
||||
req.body = json.dumps(body)
|
||||
@ -365,7 +365,7 @@ class ServersTest(test.TestCase):
|
||||
body = dict(server=dict(
|
||||
name='server_test', imageId=2, flavorId=2, metadata={},
|
||||
personality={}))
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/suspend')
|
||||
req = webob.Request.blank('/v1.0/servers/1/suspend')
|
||||
req.method = 'POST'
|
||||
req.content_type = 'application/json'
|
||||
req.body = json.dumps(body)
|
||||
@ -377,7 +377,7 @@ class ServersTest(test.TestCase):
|
||||
body = dict(server=dict(
|
||||
name='server_test', imageId=2, flavorId=2, metadata={},
|
||||
personality={}))
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/resume')
|
||||
req = webob.Request.blank('/v1.0/servers/1/resume')
|
||||
req.method = 'POST'
|
||||
req.content_type = 'application/json'
|
||||
req.body = json.dumps(body)
|
||||
@ -389,7 +389,7 @@ class ServersTest(test.TestCase):
|
||||
body = dict(server=dict(
|
||||
name='server_test', imageId=2, flavorId=2, metadata={},
|
||||
personality={}))
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/reset_network')
|
||||
req = webob.Request.blank('/v1.0/servers/1/reset_network')
|
||||
req.method = 'POST'
|
||||
req.content_type = 'application/json'
|
||||
req.body = json.dumps(body)
|
||||
@ -402,7 +402,7 @@ class ServersTest(test.TestCase):
|
||||
name='server_test', imageId=2, flavorId=2, metadata={},
|
||||
personality={}))
|
||||
req = webob.Request.blank(
|
||||
'/v1.0/testacct/servers/1/inject_network_info')
|
||||
'/v1.0/servers/1/inject_network_info')
|
||||
req.method = 'POST'
|
||||
req.content_type = 'application/json'
|
||||
req.body = json.dumps(body)
|
||||
@ -410,13 +410,13 @@ class ServersTest(test.TestCase):
|
||||
self.assertEqual(res.status_int, 202)
|
||||
|
||||
def test_server_diagnostics(self):
|
||||
req = webob.Request.blank("/v1.0/testacct/servers/1/diagnostics")
|
||||
req = webob.Request.blank("/v1.0/servers/1/diagnostics")
|
||||
req.method = "GET"
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertEqual(res.status_int, 404)
|
||||
|
||||
def test_server_actions(self):
|
||||
req = webob.Request.blank("/v1.0/testacct/servers/1/actions")
|
||||
req = webob.Request.blank("/v1.0/servers/1/actions")
|
||||
req.method = "GET"
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertEqual(res.status_int, 404)
|
||||
@ -425,7 +425,7 @@ class ServersTest(test.TestCase):
|
||||
body = dict(server=dict(
|
||||
name='server_test', imageId=2, flavorId=2, metadata={},
|
||||
personality={}))
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/action')
|
||||
req = webob.Request.blank('/v1.0/servers/1/action')
|
||||
req.method = 'POST'
|
||||
req.content_type = 'application/json'
|
||||
req.body = json.dumps(body)
|
||||
@ -435,7 +435,7 @@ class ServersTest(test.TestCase):
|
||||
body = dict(server=dict(
|
||||
name='server_test', imageId=2, flavorId=2, metadata={},
|
||||
personality={}))
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/action')
|
||||
req = webob.Request.blank('/v1.0/servers/1/action')
|
||||
req.method = 'POST'
|
||||
req.content_type = 'application/json'
|
||||
req.body = json.dumps(body)
|
||||
@ -445,14 +445,14 @@ class ServersTest(test.TestCase):
|
||||
body = dict(server=dict(
|
||||
name='server_test', imageId=2, flavorId=2, metadata={},
|
||||
personality={}))
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1/action')
|
||||
req = webob.Request.blank('/v1.0/servers/1/action')
|
||||
req.method = 'POST'
|
||||
req.content_type = 'application/json'
|
||||
req.body = json.dumps(body)
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
|
||||
def test_delete_server_instance(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/servers/1')
|
||||
req = webob.Request.blank('/v1.0/servers/1')
|
||||
req.method = 'DELETE'
|
||||
|
||||
self.server_delete_called = False
|
||||
|
@ -72,7 +72,7 @@ class UsersTest(test.TestCase):
|
||||
super(UsersTest, self).tearDown()
|
||||
|
||||
def test_get_user_list(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/users')
|
||||
req = webob.Request.blank('/v1.0/users')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
@ -80,7 +80,7 @@ class UsersTest(test.TestCase):
|
||||
self.assertEqual(len(res_dict['users']), 2)
|
||||
|
||||
def test_get_user_by_id(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/users/guy2')
|
||||
req = webob.Request.blank('/v1.0/users/guy2')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
@ -91,7 +91,7 @@ class UsersTest(test.TestCase):
|
||||
self.assertEqual(res.status_int, 200)
|
||||
|
||||
def test_user_delete(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/users/guy1')
|
||||
req = webob.Request.blank('/v1.0/users/guy1')
|
||||
req.method = 'DELETE'
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
self.assertTrue('guy1' not in [u.id for u in
|
||||
@ -103,7 +103,7 @@ class UsersTest(test.TestCase):
|
||||
access='acc3',
|
||||
secret='invasionIsInNormandy',
|
||||
admin=True))
|
||||
req = webob.Request.blank('/v1.0/testacct/users')
|
||||
req = webob.Request.blank('/v1.0/users')
|
||||
req.method = 'POST'
|
||||
req.body = json.dumps(body)
|
||||
|
||||
@ -124,7 +124,7 @@ class UsersTest(test.TestCase):
|
||||
body = dict(user=dict(name='guy2',
|
||||
access='acc2',
|
||||
secret='invasionIsInNormandy'))
|
||||
req = webob.Request.blank('/v1.0/testacct/users/guy2')
|
||||
req = webob.Request.blank('/v1.0/users/guy2')
|
||||
req.method = 'PUT'
|
||||
req.body = json.dumps(body)
|
||||
|
||||
|
@ -85,7 +85,7 @@ class ZonesTest(test.TestCase):
|
||||
super(ZonesTest, self).tearDown()
|
||||
|
||||
def test_get_zone_list(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/zones')
|
||||
req = webob.Request.blank('/v1.0/zones')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
@ -93,7 +93,7 @@ class ZonesTest(test.TestCase):
|
||||
self.assertEqual(len(res_dict['zones']), 2)
|
||||
|
||||
def test_get_zone_by_id(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/zones/1')
|
||||
req = webob.Request.blank('/v1.0/zones/1')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
res_dict = json.loads(res.body)
|
||||
|
||||
@ -103,7 +103,7 @@ class ZonesTest(test.TestCase):
|
||||
self.assertEqual(res.status_int, 200)
|
||||
|
||||
def test_zone_delete(self):
|
||||
req = webob.Request.blank('/v1.0/testacct/zones/1')
|
||||
req = webob.Request.blank('/v1.0/zones/1')
|
||||
res = req.get_response(fakes.wsgi_app())
|
||||
|
||||
self.assertEqual(res.status_int, 200)
|
||||
@ -111,7 +111,7 @@ class ZonesTest(test.TestCase):
|
||||
def test_zone_create(self):
|
||||
body = dict(zone=dict(api_url='http://blah.zoo', username='fred',
|
||||
password='fubar'))
|
||||
req = webob.Request.blank('/v1.0/testacct/zones')
|
||||
req = webob.Request.blank('/v1.0/zones')
|
||||
req.method = 'POST'
|
||||
req.body = json.dumps(body)
|
||||
|
||||
@ -125,7 +125,7 @@ class ZonesTest(test.TestCase):
|
||||
|
||||
def test_zone_update(self):
|
||||
body = dict(zone=dict(username='zeb', password='sneaky'))
|
||||
req = webob.Request.blank('/v1.0/testacct/zones/1')
|
||||
req = webob.Request.blank('/v1.0/zones/1')
|
||||
req.method = 'PUT'
|
||||
req.body = json.dumps(body)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user