Exemple #1
0
    def test_load_groups_group(self):
        authorisor = BasicUserGroupAuthorisationService(BrainSecurityAuthorisationConfiguration())
        store = UserGroupsStore()

        yaml_data = yaml.load("""
        groups:
          group1:
            roles:
              role1, role2, role3  
            groups:
              group1, group2
            users:
              user1, user2
         """, Loader=yaml.FullLoader)

        store._load_groups_group(yaml_data, "group1", authorisor)

        self.assertTrue("group1" in authorisor.groups)
        self.assertTrue("role1" in authorisor.groups['group1'].roles)
        self.assertTrue("role2" in authorisor.groups['group1'].roles)
        self.assertTrue("role2" in authorisor.groups['group1'].roles)
        self.assertTrue("group1" in authorisor.groups['group1'].groups)
        self.assertTrue("group2" in authorisor.groups['group1'].groups)
        self.assertTrue("user1" in authorisor.groups['group1'].users)
        self.assertTrue("user2" in authorisor.groups['group1'].users)
Exemple #2
0
    def test_overall_load_missing_groups(self):
        authorisor = BasicUserGroupAuthorisationService(BrainSecurityAuthorisationConfiguration())
        store = UserGroupsStore()

        yaml_data = yaml.load("""
        users:
          user1:
            groups:
              group1
          user2:
            groups:
              group4

        groups:
          group1:
            roles:
              role1, role2, role3  
            groups:
              group1, group2
            users:
              user1, user2

          group2:
            roles:
              role4, role5  
            groups:
              group5
            users:
              user3
              
          group3:
            roles:
              role6         """, Loader=yaml.FullLoader)

        store.load_users_and_groups_from_yaml(yaml_data, authorisor)
Exemple #3
0
    def test_load_groups_no_groups(self):

        authorisor = BasicUserGroupAuthorisationService(BrainSecurityAuthorisationConfiguration())
        store = UserGroupsStore()

        yaml_data = yaml.load("""
        others:
          group1:
            roles:
              role1, role2, role3  
            groups:
              group1, group2
            users:
              user1, user2

          group2:
            roles:
              role4, role5  
            groups:
              group3
            users:
              user3
         """, Loader=yaml.FullLoader)

        store._load_groups(yaml_data,authorisor)

        self.assertFalse("group1" in authorisor.groups)
        self.assertFalse("group2" in authorisor.groups)
Exemple #4
0
    def test_load_users(self):
        authorisor = BasicUserGroupAuthorisationService(BrainSecurityAuthorisationConfiguration())
        store = UserGroupsStore()

        yaml_data = yaml.load("""
            users:
              console:
                roles:
                  user
                groups:
                  sysadmin, local
              viewer:
                roles:
                  user
                groups:
                  local
        """, Loader=yaml.FullLoader)

        store._load_users(yaml_data,authorisor)

        self.assertTrue("console" in authorisor.users.keys())
        self.assertIsInstance(authorisor.users['console'], User)
        self.assertTrue("user" in authorisor.users['console'].roles)
        self.assertTrue("sysadmin" in authorisor.users['console'].groups)
        self.assertTrue("local" in authorisor.users['console'].groups)

        self.assertTrue("viewer" in authorisor.users.keys())
        self.assertIsInstance(authorisor.users['viewer'], User)
        self.assertTrue("user" in authorisor.users['viewer'].roles)
        self.assertTrue("local" in authorisor.users['viewer'].groups)
Exemple #5
0
    def test_load_groups_group_groups_duplicates(self):
        group = Group("sysadmin")
        store = UserGroupsStore()

        yaml_data = yaml.load("""
         groups:
            su, su
         """, Loader=yaml.FullLoader)

        store._load_groups_group_groups(yaml_data, group, "sysadmin")

        self.assertTrue("su" in group.groups)
Exemple #6
0
    def test_load_groups_group_users_duplicates(self):
        group = Group("sysadmin")
        store = UserGroupsStore()

        yaml_data = yaml.load("""
         users:
            user1, user2, user1
         """, Loader=yaml.FullLoader)

        store._load_groups_group_users(yaml_data, group, "sysadmin")

        self.assertTrue("user1" in group.users)
        self.assertTrue("user2" in group.users)
Exemple #7
0
    def test_load_users_user_roles_duplicates(self):
        user = User("console")
        store = UserGroupsStore()

        yaml_data = yaml.load("""
            roles:
              su, local, su
        """, Loader=yaml.FullLoader)

        store._load_users_user_roles(yaml_data, user, "console")

        self.assertTrue("su" in user.roles)
        self.assertTrue("local" in user.roles)
        self.assertFalse("other" in user.roles)
Exemple #8
0
    def test_load_users_user_groups_duplicates(self):
        user = User("console")
        store = UserGroupsStore()

        yaml_data = yaml.load("""
            groups:
              sysadmin, localuser, localuser
        """, Loader=yaml.FullLoader)

        store._load_users_user_groups(yaml_data, user, "console")

        self.assertTrue("sysadmin" in user.groups)
        self.assertTrue("localuser" in user.groups)
        self.assertFalse("other" in user.groups)
Exemple #9
0
    def test_load_groups_group_roles_duplicates(self):
        group = Group("sysadmin")
        store = UserGroupsStore()

        yaml_data = yaml.load("""
         roles:
            role1, role2, role3, role1, role3
         """, Loader=yaml.FullLoader)

        store._load_groups_group_roles(yaml_data, group, "sysadmin")

        self.assertTrue("role1" in group.roles)
        self.assertTrue("role2" in group.roles)
        self.assertTrue("role3" in group.roles)
Exemple #10
0
    def test_load_users_no_users(self):
        authorisor = BasicUserGroupAuthorisationService(BrainSecurityAuthorisationConfiguration())
        store = UserGroupsStore()

        yaml_data = yaml.load("""
            others:
              console:
                roles:
                  user
                groups:
                  sysadmin, local
              viewer:
                roles:
                  user
                groups:
                  local
        """, Loader=yaml.FullLoader)

        store._load_users(yaml_data,authorisor)

        self.assertFalse("console" in authorisor.users.keys())
        self.assertFalse("viewer" in authorisor.users.keys())
Exemple #11
0
 def __init__(self, storage_engine):
     SQLStore.__init__(self, storage_engine)
     UserGroupsStore.__init__(self)
Exemple #12
0
 def test_load_usergroups(self):
     store = UserGroupsStore()
     with self.assertRaises(NotImplementedError):
         usersgroupsauthorisor = unittest.mock.Mock()
         store.load_usergroups(usersgroupsauthorisor)
Exemple #13
0
 def test_upload_from_file_no_implemented(self):
     store = UserGroupsStore()
     with self.assertRaises(NotImplementedError):
         store.upload_from_file("test.txt")