add role crud

This commit is contained in:
termie 2011-12-27 12:51:23 -08:00
parent a32c73c535
commit 32aa1dedb7
5 changed files with 47 additions and 5 deletions

View File

@ -59,8 +59,11 @@ class KvsIdentity(object):
def get_extras(self, user_id, tenant_id):
return self.db.get('extras-%s-%s' % (tenant_id, user_id))
def get_role(self, role_id):
role_ref = self.db.get('role-%s' % role_id)
return role_ref
def create_user(self, id, user):
print user
self.db.set('user-%s' % id, user)
self.db.set('user_name-%s' % user['name'], user)
return user
@ -110,6 +113,18 @@ class KvsIdentity(object):
self.db.delete('extras-%s-%s' % (tenant_id, user_id))
return None
def create_role(self, id, role):
self.db.set('role-%s' % id, role)
return role
def update_role(self, id, role):
self.db.set('role-%s' % id, role)
return role
def delete_role(self, id):
self.db.delete('role-%s' % id)
return None
class KvsToken(object):
def __init__(self, options, db=None):

View File

@ -34,6 +34,9 @@ class Manager(object):
def get_extras(self, context, user_id, tenant_id):
return self.driver.get_extras(user_id, tenant_id)
def get_role(self, context, role_id):
return self.driver.get_role(role_id)
# CRUD operations
def create_user(self, context, user_id, data):
return self.driver.create_user(user_id, data)
@ -61,3 +64,12 @@ class Manager(object):
def delete_extras(self, context, user_id, tenant_id):
return self.driver.delete_extras(user_id, tenant_id)
def create_role(self, context, role_id, data):
return self.driver.create_role(role_id, data)
def update_role(self, context, role_id, data):
return self.driver.update_role(role_id, data)
def delete_role(self, context, role_id):
return self.driver.delete_role(role_id)

View File

@ -4,6 +4,7 @@ import os
import unittest
import subprocess
import sys
import time
from paste import deploy
@ -27,13 +28,23 @@ def checkout_vendor(repo, rev):
name = name[:-4]
revdir = os.path.join(VENDOR, '%s-%s' % (name, rev.replace('/', '_')))
modcheck = os.path.join(VENDOR, '.%s-%s' % (name, rev.replace('/', '_')))
try:
if os.path.exists(modcheck):
mtime = os.stat(modcheck).st_mtime
if int(time.time()) - mtime < 1000:
return revdir
if not os.path.exists(revdir):
utils.git('clone', repo, revdir)
cd(revdir)
utils.git('pull')
utils.git('checkout', '-q', rev)
# write out a modified time
with open(modcheck, 'w') as fd:
fd.write('1')
except subprocess.CalledProcessError as e:
logging.warning('Failed to checkout %s', repo)
pass

View File

@ -10,7 +10,6 @@ EXTRAS = [
{'user': 'foo', 'tenant': 'bar', 'extra': 'extra'},
]
#ROLES = [
# {'id': 'keystone_admin', 'name': 'Keystone Admin'},
# ]
ROLES = []
ROLES = [
{'id': 'keystone_admin', 'name': 'Keystone Admin'},
]

View File

@ -97,6 +97,11 @@ class KvsIdentity(test.TestCase):
tenant_id=self.tenant_bar['id'])
self.assertDictEquals(extras_ref, self.extras_foobar)
def test_get_role(self):
role_ref = self.identity_api.get_role(
role_id=self.role_keystone_admin['id'])
self.assertDictEquals(role_ref, self.role_keystone_admin)
class KvsToken(test.TestCase):
def setUp(self):