Merge "Add keystone version to REST API"
This commit is contained in:
commit
96b65f923a
@ -739,3 +739,7 @@ def keystone_backend_name():
|
||||
return settings.OPENSTACK_KEYSTONE_BACKEND['name']
|
||||
else:
|
||||
return 'unknown'
|
||||
|
||||
|
||||
def get_version():
|
||||
return VERSIONS.active
|
||||
|
@ -23,6 +23,19 @@ from openstack_dashboard.api.rest import utils as rest_utils
|
||||
from openstack_dashboard.api.rest import urls
|
||||
|
||||
|
||||
@urls.register
|
||||
class Version(generic.View):
|
||||
"""API for active keystone version.
|
||||
"""
|
||||
url_regex = r'keystone/version/$'
|
||||
|
||||
@rest_utils.ajax()
|
||||
def get(self, request):
|
||||
"""Get active keystone version.
|
||||
"""
|
||||
return {'version': api.keystone.get_version()}
|
||||
|
||||
|
||||
@urls.register
|
||||
class Users(generic.View):
|
||||
"""API for keystone users.
|
||||
|
@ -24,6 +24,14 @@ limitations under the License.
|
||||
'horizon.framework.widgets.toast.service'];
|
||||
|
||||
function KeystoneAPI(apiService, toastService) {
|
||||
// Version
|
||||
this.getVersion = function() {
|
||||
return apiService.get('/api/keystone/version/')
|
||||
.error(function () {
|
||||
toastService.add('error', gettext('Unable to get the Keystone service version.'));
|
||||
});
|
||||
};
|
||||
|
||||
// Users
|
||||
this.getUsers = function(params) {
|
||||
var config = (params) ? {'params': params} : {};
|
||||
|
@ -37,6 +37,12 @@
|
||||
});
|
||||
|
||||
var tests = [
|
||||
{
|
||||
"func": "getVersion",
|
||||
"method": "get",
|
||||
"path": "/api/keystone/version/",
|
||||
"error": "Unable to get the Keystone service version."
|
||||
},
|
||||
{
|
||||
"func": "getUsers",
|
||||
"method": "get",
|
||||
|
@ -22,6 +22,18 @@ from openstack_dashboard.test import helpers as test
|
||||
|
||||
|
||||
class KeystoneRestTestCase(test.TestCase):
|
||||
#
|
||||
# Version
|
||||
#
|
||||
@mock.patch.object(keystone.api, 'keystone')
|
||||
def test_version_get(self, kc):
|
||||
request = self.mock_rest_request()
|
||||
kc.get_version.return_value = '2.0'
|
||||
response = keystone.Version().get(request)
|
||||
self.assertStatusCode(response, 200)
|
||||
self.assertEqual(response.content, '{"version": "2.0"}')
|
||||
kc.get_version.assert_called_once_with()
|
||||
|
||||
#
|
||||
# Users
|
||||
#
|
||||
|
Loading…
x
Reference in New Issue
Block a user