def test_create_new_api_key(self): self.mox.StubOutWithMock(db_util, 'get_api_key') self.mox.StubOutWithMock(db_util, 'delete_api_key') self.mox.StubOutWithMock(db_util, 'create_new_api_key') db_util.get_api_key('123').AndReturn(True) db_util.delete_api_key('123') db_util.get_api_key(mox.IsA(basestring)).AndReturn(None) db_util.create_new_api_key('123', mox.IsA(basestring)) self.mox.ReplayAll() api_key_util.create_new_api_key('123')
def get_api_key(user_id): """Get the API key for a given user. @param user_id: The database id of the user to get the API key for. @type user_id: int @return: API key assigned to the given user or None if not found. @rtype: str """ return db_util.get_api_key(user_id)
def test_generate_new_api_key(self): self.mox.StubOutWithMock(db_util, 'get_api_key') db_util.get_api_key(mox.IsA(basestring)).AndReturn(None) db_util.get_api_key(mox.IsA(basestring)).AndReturn(True) db_util.get_api_key(mox.IsA(basestring)).AndReturn(True) db_util.get_api_key(mox.IsA(basestring)).AndReturn(None) self.mox.ReplayAll() api_key_util.generate_new_api_key() api_key_util.generate_new_api_key()
def generate_new_api_key(): """Generate a new unique API key. Generate a unique random API key that has not been assigned to any other system users. @return: The newly generated API key. @rtype: str """ found = False new_key = None while not found: new_key = user_util.generate_password(pass_len=20).lower() found = db_util.get_api_key(new_key) == None return new_key