v3 Credential CRUD
Change-Id: I646ff7db3ccf827f912ebdb78fdf8d765d52c26c
This commit is contained in:
		
				
					committed by
					
						
						Gerrit Code Review
					
				
			
			
				
	
			
			
			
						parent
						
							298b1c4903
						
					
				
				
					commit
					6c84d7bf85
				
			@@ -16,6 +16,7 @@ import json
 | 
			
		||||
import logging
 | 
			
		||||
 | 
			
		||||
from keystoneclient.v2_0 import client
 | 
			
		||||
from keystoneclient.v3 import credentials
 | 
			
		||||
from keystoneclient.v3 import endpoints
 | 
			
		||||
from keystoneclient.v3 import domains
 | 
			
		||||
from keystoneclient.v3 import policies
 | 
			
		||||
@@ -64,6 +65,7 @@ class Client(client.Client):
 | 
			
		||||
        """ Initialize a new client for the Keystone v2.0 API. """
 | 
			
		||||
        super(Client, self).__init__(endpoint=endpoint, **kwargs)
 | 
			
		||||
 | 
			
		||||
        self.credentials = credentials.CredentialManager(self)
 | 
			
		||||
        self.endpoints = endpoints.EndpointManager(self)
 | 
			
		||||
        self.domains = domains.DomainManager(self)
 | 
			
		||||
        self.policies = policies.PolicyManager(self)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										57
									
								
								keystoneclient/v3/credentials.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								keystoneclient/v3/credentials.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
			
		||||
# Copyright 2011 OpenStack LLC.
 | 
			
		||||
# Copyright 2011 Nebula, Inc.
 | 
			
		||||
# All Rights Reserved.
 | 
			
		||||
#
 | 
			
		||||
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
			
		||||
#    not use this file except in compliance with the License. You may obtain
 | 
			
		||||
#    a copy of the License at
 | 
			
		||||
#
 | 
			
		||||
#         http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
#
 | 
			
		||||
#    Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
			
		||||
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
			
		||||
#    License for the specific language governing permissions and limitations
 | 
			
		||||
#    under the License.
 | 
			
		||||
 | 
			
		||||
from keystoneclient import base
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Credential(base.Resource):
 | 
			
		||||
    """Represents an Identity credential.
 | 
			
		||||
 | 
			
		||||
    Attributes:
 | 
			
		||||
        * id: a uuid that identifies the credential
 | 
			
		||||
 | 
			
		||||
    """
 | 
			
		||||
    pass
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CredentialManager(base.CrudManager):
 | 
			
		||||
    """Manager class for manipulating Identity credentials."""
 | 
			
		||||
    resource_class = Credential
 | 
			
		||||
    collection_key = 'credentials'
 | 
			
		||||
    key = 'credential'
 | 
			
		||||
 | 
			
		||||
    def create(self, user, type, data, project=None):
 | 
			
		||||
        return super(CredentialManager, self).create(
 | 
			
		||||
            user_id=base.getid(user),
 | 
			
		||||
            type=type,
 | 
			
		||||
            data=data,
 | 
			
		||||
            project_id=base.getid(project))
 | 
			
		||||
 | 
			
		||||
    def get(self, credential):
 | 
			
		||||
        return super(CredentialManager, self).get(
 | 
			
		||||
            credential_id=base.getid(credential))
 | 
			
		||||
 | 
			
		||||
    def update(self, credential, user, type=None, data=None, project=None):
 | 
			
		||||
        return super(CredentialManager, self).update(
 | 
			
		||||
            credential_id=base.getid(credential),
 | 
			
		||||
            user_id=base.getid(user),
 | 
			
		||||
            type=type,
 | 
			
		||||
            data=data,
 | 
			
		||||
            project_id=base.getid(project))
 | 
			
		||||
 | 
			
		||||
    def delete(self, credential):
 | 
			
		||||
        return super(CredentialManager, self).delete(
 | 
			
		||||
            credential_id=base.getid(credential))
 | 
			
		||||
							
								
								
									
										22
									
								
								tests/v3/test_credentials.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tests/v3/test_credentials.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
import uuid
 | 
			
		||||
 | 
			
		||||
from keystoneclient.v3 import credentials
 | 
			
		||||
from tests.v3 import utils
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class CredentialTests(utils.TestCase, utils.CrudTests):
 | 
			
		||||
    def setUp(self):
 | 
			
		||||
        super(CredentialTests, self).setUp()
 | 
			
		||||
        self.additionalSetUp()
 | 
			
		||||
        self.key = 'credential'
 | 
			
		||||
        self.collection_key = 'credentials'
 | 
			
		||||
        self.model = credentials.Credential
 | 
			
		||||
        self.manager = self.client.credentials
 | 
			
		||||
 | 
			
		||||
    def new_ref(self, **kwargs):
 | 
			
		||||
        kwargs = super(CredentialTests, self).new_ref(**kwargs)
 | 
			
		||||
        kwargs.setdefault('data', uuid.uuid4().hex)
 | 
			
		||||
        kwargs.setdefault('project_id', uuid.uuid4().hex)
 | 
			
		||||
        kwargs.setdefault('type', uuid.uuid4().hex)
 | 
			
		||||
        kwargs.setdefault('user_id', uuid.uuid4().hex)
 | 
			
		||||
        return kwargs
 | 
			
		||||
		Reference in New Issue
	
	Block a user