Ejemplo n.º 1
0
    def test_file_paths_sorting(self, mock_glob):
        mock_glob.return_value = [
            '/tmp/bar/d.yaml',
            '/tmp/bar/c.yaml',
            '/tmp/foo/a.yaml',
            '/tmp/a/f.yaml'
        ]

        expected_result = [
            '/tmp/foo/a.yaml',
            '/tmp/bar/c.yaml',
            '/tmp/bar/d.yaml',
            '/tmp/a/f.yaml'
        ]

        loader = RBACDefinitionsLoader()

        file_paths = loader._get_role_definitions_file_paths()
        self.assertEqual(file_paths, expected_result)

        file_paths = loader._get_role_assiginments_file_paths()
        self.assertEqual(file_paths, expected_result)

        file_paths = loader._get_group_to_role_maps_file_paths()
        self.assertEqual(file_paths, expected_result)
Ejemplo n.º 2
0
    def test_load_role_definitions_empty_definition_file(self):
        loader = RBACDefinitionsLoader()

        file_path = os.path.join(get_fixtures_base_path(), 'rbac_invalid/roles/role_empty.yaml')
        file_paths = [file_path]

        loader._get_role_definitions_file_paths = mock.Mock()
        loader._get_role_definitions_file_paths.return_value = file_paths

        expected_msg = 'Role definition file .+? is empty and invalid'
        self.assertRaisesRegexp(ValueError, expected_msg, loader.load_role_definitions)
    def test_load_role_definitions_empty_definition_file(self):
        loader = RBACDefinitionsLoader()

        file_path = os.path.join(get_fixtures_base_path(), 'rbac_invalid/roles/role_empty.yaml')
        file_paths = [file_path]

        loader._get_role_definitions_file_paths = mock.Mock()
        loader._get_role_definitions_file_paths.return_value = file_paths

        expected_msg = 'Role definition file .+? is empty and invalid'
        self.assertRaisesRegexp(ValueError, expected_msg, loader.load_role_definitions)
Ejemplo n.º 4
0
    def test_load_role_definitions_disabled_role_definition(self):
        loader = RBACDefinitionsLoader()

        # Disabled role which means this method shouldn't include it in the result
        file_path = os.path.join(get_fixtures_base_path(), 'rbac/roles/role_disabled.yaml')
        file_paths = [file_path]

        loader._get_role_definitions_file_paths = mock.Mock()
        loader._get_role_definitions_file_paths.return_value = file_paths

        result = loader.load_role_definitions()
        self.assertItemsEqual(result, [])
    def test_load_role_definitions_disabled_role_definition(self):
        loader = RBACDefinitionsLoader()

        # Disabled role which means this method shouldn't include it in the result
        file_path = os.path.join(get_fixtures_base_path(), 'rbac/roles/role_disabled.yaml')
        file_paths = [file_path]

        loader._get_role_definitions_file_paths = mock.Mock()
        loader._get_role_definitions_file_paths.return_value = file_paths

        result = loader.load_role_definitions()
        self.assertItemsEqual(result, [])
Ejemplo n.º 6
0
    def test_load_role_definitions_duplicate_role_definition(self):
        loader = RBACDefinitionsLoader()

        # Try to load all the roles from disk where two definitions refer to the same role
        file_path1 = os.path.join(get_fixtures_base_path(), 'rbac_invalid/roles/role_three1.yaml')
        file_path2 = os.path.join(get_fixtures_base_path(), 'rbac_invalid/roles/role_three2.yaml')
        file_paths = [file_path1, file_path2]

        loader._get_role_definitions_file_paths = mock.Mock()
        loader._get_role_definitions_file_paths.return_value = file_paths

        expected_msg = 'Duplicate definition file found for role "role_three_name_conflict"'
        self.assertRaisesRegexp(ValueError, expected_msg, loader.load_role_definitions)
    def test_load_role_definitions_duplicate_role_definition(self):
        loader = RBACDefinitionsLoader()

        # Try to load all the roles from disk where two definitions refer to the same role
        file_path1 = os.path.join(get_fixtures_base_path(), 'rbac_invalid/roles/role_three1.yaml')
        file_path2 = os.path.join(get_fixtures_base_path(), 'rbac_invalid/roles/role_three2.yaml')
        file_paths = [file_path1, file_path2]

        loader._get_role_definitions_file_paths = mock.Mock()
        loader._get_role_definitions_file_paths.return_value = file_paths

        expected_msg = 'Duplicate definition file found for role "role_three_name_conflict"'
        self.assertRaisesRegexp(ValueError, expected_msg, loader.load_role_definitions)
Ejemplo n.º 8
0
    def test_file_paths_sorting(self, mock_glob):
        mock_glob.return_value = [
            '/tmp/bar/d.yaml', '/tmp/bar/c.yaml', '/tmp/foo/a.yaml',
            '/tmp/a/f.yaml'
        ]

        expected_result = [
            '/tmp/foo/a.yaml', '/tmp/bar/c.yaml', '/tmp/bar/d.yaml',
            '/tmp/a/f.yaml'
        ]

        loader = RBACDefinitionsLoader()

        file_paths = loader._get_role_definitions_file_paths()
        self.assertEqual(file_paths, expected_result)

        file_paths = loader._get_role_assiginments_file_paths()
        self.assertEqual(file_paths, expected_result)

        file_paths = loader._get_group_to_role_maps_file_paths()
        self.assertEqual(file_paths, expected_result)