コード例 #1
0
 def test__add_role(self):
     user = User()
     user._add_role('role')
     self.assertIn('role', user.get_roles())
     user._add_role(None)
     self.assertEqual(1, len(user.get_roles()))
     self.assertIn('role', user.get_roles())
コード例 #2
0
 def test_role_undefined(self):
     role_rel = [RoleRelation('invalidrole', None, None, None, None)]
     user = User()
     user.set_context(role_rel)
     roles = user.get_roles()
     self.assertEqual(1, len(roles))
     self.assertIn('DEFAULT', roles)
コード例 #3
0
 def test_with_default_permission(self):
     role_rel = [RoleRelation('DEFAULT', 'tenant', 'NY', 'a', '1'),
                 RoleRelation('PII', 'tenant', 'NY', 'a', '1')]
     user = User()
     user.set_context(role_rel)
     roles = user.get_roles()
     self.assertEqual(2, len(roles))
     self.assertIn('DEFAULT', roles)
     self.assertIn('PII', roles)
     self.assertEqual(1, len(user.get_tenants()))
コード例 #4
0
 def test_tenantless(self):
     role_rel = [RoleRelation('badrole', None, None, None, None),
                 RoleRelation('PII', 'tenant1', 'NC', 'a', '2')]
     user = User()
     user.set_context(role_rel)
     roles = user.get_roles()
     self.assertEqual(2, len(roles))
     self.assertIn('DEFAULT', roles)
     self.assertIn('PII', roles)
     tenants = user.get_tenants()
     self.assertEqual(3, len(tenants))
コード例 #5
0
 def test_default_permission_gets_added(self):
     role_rel = [RoleRelation('badrole', 'tenant', 'NY', 'a', '1'),
                 RoleRelation('PII', 'tenant', 'NY', 'a', '2'),
                 RoleRelation('badrole2', 'tenant', 'NY', 'b', None)]
     user = User()
     user.set_context(role_rel)
     roles = user.get_roles()
     self.assertEqual(2, len(roles))
     self.assertIn('DEFAULT', roles)
     self.assertIn('PII', roles)
     self.assertEqual(1, len(user.get_tenants()))
コード例 #6
0
 def test_with_default_permission(self):
     role_rel = [
         RoleRelation('DEFAULT', 'tenant', 'NY', 'a', '1'),
         RoleRelation('PII', 'tenant', 'NY', 'a', '1')
     ]
     user = User()
     user.set_context(role_rel)
     roles = user.get_roles()
     self.assertEqual(2, len(roles))
     self.assertIn('DEFAULT', roles)
     self.assertIn('PII', roles)
     self.assertEqual(1, len(user.get_tenants()))
コード例 #7
0
 def test_tenantless(self):
     role_rel = [
         RoleRelation('badrole', None, None, None, None),
         RoleRelation('PII', 'tenant1', 'NC', 'a', '2')
     ]
     user = User()
     user.set_context(role_rel)
     roles = user.get_roles()
     self.assertEqual(2, len(roles))
     self.assertIn('DEFAULT', roles)
     self.assertIn('PII', roles)
     tenants = user.get_tenants()
     self.assertEqual(3, len(tenants))
コード例 #8
0
 def test_default_permission_gets_added(self):
     role_rel = [
         RoleRelation('badrole', 'tenant', 'NY', 'a', '1'),
         RoleRelation('PII', 'tenant', 'NY', 'a', '2'),
         RoleRelation('badrole2', 'tenant', 'NY', 'b', None)
     ]
     user = User()
     user.set_context(role_rel)
     roles = user.get_roles()
     self.assertEqual(2, len(roles))
     self.assertIn('DEFAULT', roles)
     self.assertIn('PII', roles)
     self.assertEqual(1, len(user.get_tenants()))
コード例 #9
0
    def test_empty_user(self):
        user = User()
        data = {'name': {'fullName': None, 'firstName': None, 'lastName': None}, 'uid': None, 'roles': [], 'stateCode': [], 'tenant': [], 'displayHome': False, 'guid': None}

        name = user.get_name()
        self.assertEqual(name, {'name': data['name']})

        uid = user.get_uid()
        self.assertEqual(uid, data['uid'])

        context = user.get_user_context()
        self.assertEqual(context, data)

        roles = user.get_roles()
        self.assertEqual(roles, data['roles'])

        tenant = user.get_tenants()
        self.assertEqual(0, len(tenant))

        guid = user.get_guid()
        self.assertIsNone(guid)
コード例 #10
0
class Session:
    '''
    Simple class that holds user session information, such as
    guid, user id, name, roles, and tenant
    '''
    def __init__(self):
        self.__initialize_session()
        # leave datetime only this class, not save in session context
        self.__expiration = None
        self.__last_access = None

    # initialize all session values
    def __initialize_session(self):
        self.__session = {}
        self.__user = User()
        self.__session_id = None
        self.__session['idpSessionIndex'] = None
        self.__session['nameId'] = None

    # serialize to text
    def get_session_json_context(self):
        # Get User Info and combined the dictionary
        combined_context = self.__user.get_user_context()
        combined_context.update_session(self.__session)
        return json.dumps(combined_context)

    def get_session_id(self):
        return self.__session_id

    def get_uid(self):
        return self.__user.get_uid()

    def get_email(self):
        return self.__user.get_email()

    def get_roles(self):
        return self.__user.get_roles()

    def get_tenants(self):
        return self.__user.get_tenants()

    def get_guid(self):
        return self.__user.get_guid()

    def get_name(self):
        return self.__user.get_name()

    def get_idp_session_index(self):
        return self.__session['idpSessionIndex']

    def get_name_id(self):
        return self.__session['nameId']

    def get_last_access(self):
        return self.__last_access

    def get_expiration(self):
        return self.__expiration

    def get_user(self):
        return self.__user

    def set_session_id(self, session_id):
        '''
        @param session_id: the session id
        '''
        self.__session_id = session_id

    def set_uid(self, uid):
        '''
        @param uid: the uid
        '''
        self.__user.set_uid(uid)

    def set_email(self, email):
        '''
        @param uid: the uid
        '''
        self.__user.set_email(email)

    def set_user_context(self, context):
        self.__user.set_context(context)

    def set_guid(self, guid):
        '''
        @param guid: the user guid to set
        '''
        self.__user.set_guid(guid)

    def set_fullName(self, fullName):
        '''
        @param fullName: the full name
        '''
        self.__user.set_full_name(fullName)

    def set_lastName(self, lastName):
        '''
        @param lastName: the last name
        '''
        self.__user.set_last_name(lastName)

    def set_firstName(self, firstName):
        '''
        @param firstName: the first name
        '''
        self.__user.set_first_name(firstName)

    def set_idp_session_index(self, index):
        '''
        @param index: the idp session index
        '''
        self.__session['idpSessionIndex'] = index

    def set_name_id(self, name_id):
        '''
        @param name_id: the name id
        '''
        self.__session['nameId'] = name_id

    def set_session(self, session):
        self.__session = session
        self.__set_user(session)

    def set_expiration(self, datetime):
        self.__expiration = datetime

    def set_last_access(self, datetime):
        self.__last_access = datetime

    def __set_user(self, info):
        self.__user.set_user_info(info)