* Adding feature flag for auth * Hiding SOs and adding consumer field * First pass at adding security changes * Consumer as the app's plugin ID * Create addConsumerToSO migration helper * Fix mapping's SO consumer * Add test for CasesActions * Declare hidden types on SO client * Restructure integration tests * Init spaces_only integration tests * Implementing the cases security string * Adding security plugin tests for cases * Rough concept for authorization class * Adding comments * Fix merge * Get requiredPrivileges for classes * Check privillages * Ensure that all classes are available * Success if hasAllRequested is true * Failure if hasAllRequested is false * Adding schema updates for feature plugin * Seperate basic from trial * Enable SIR on integration tests * Starting the plumbing for authorization in plugin * Unit tests working * Move find route logic to case client * Create integration test helper functions * Adding auth to create call * Create getClassFilter helper * Add class attribute to find request * Create getFindAuthorizationFilter * Ensure savedObject is authorized in find method * Include fields for authorization * Combine authorization filter with cases & subcases filter * Fix isAuthorized flag * Fix merge issue * Create/delete spaces & users before and after tests * Add more user and roles * [Cases] Convert filters from strings to KueryNode (#95288) * [Cases] RBAC: Rename class to scope (#95535) * [Cases][RBAC] Rename scope to owner (#96035) * [Cases] RBAC: Create & Find integration tests (#95511) * [Cases] Cases client enchantment (#95923) * [Cases] Authorization and Client Audit Logger (#95477) * Starting audit logger * Finishing auth audit logger * Fixing tests and types * Adding audit event creator * Renaming class to scope * Adding audit logger messages to create and find * Adding comments and fixing import issue * Fixing type errors * Fixing tests and adding username to message * Addressing PR feedback * Removing unneccessary log and generating id * Fixing module issue and remove expect.anything * [Cases] Migrate sub cases routes to a client (#96461) * Adding sub cases client * Move sub case routes to case client * Throw when attempting to access the sub cases client * Fixing throw and removing user ans soclients * [Cases] RBAC: Migrate routes' unit tests to integration tests (#96374) Co-authored-by: Jonathan Buttner <jonathan.buttner@elastic.co> * [Cases] Move remaining HTTP functionality to client (#96507) * Moving deletes and find for attachments * Moving rest of comment apis * Migrating configuration routes to client * Finished moving routes, starting utils refactor * Refactoring utilites and fixing integration tests * Addressing PR feedback * Fixing mocks and types * Fixing integration tests * Renaming status_stats * Fixing test type errors * Adding plugins to kibana.json * Adding cases to required plugin * [Cases] Refactoring authorization (#97483) * Refactoring authorization * Wrapping auth calls in helper for try catch * Reverting name change * Hardcoding the saved object types * Switching ensure to owner array * [Cases] Add authorization to configuration & cases routes (#97228) * [Cases] Attachments RBAC (#97756) * Starting rbac for comments * Adding authorization to rest of comment apis * Starting the comment rbac tests * Fixing some of the rbac tests * Adding some integration tests * Starting patch tests * Working tests for comments * Working tests * Fixing some tests * Fixing type issues from pulling in master * Fixing connector tests that only work in trial license * Attempting to fix cypress * Mock return of array for configure * Fixing cypress test * Cleaning up * Addressing PR comments * Reducing operations * [Cases] Add RBAC to remaining Cases APIs (#98762) * Starting rbac for comments * Adding authorization to rest of comment apis * Starting the comment rbac tests * Fixing some of the rbac tests * Adding some integration tests * Starting patch tests * Working tests for comments * Working tests * Fixing some tests * Fixing type issues from pulling in master * Fixing connector tests that only work in trial license * Attempting to fix cypress * Mock return of array for configure * Fixing cypress test * Cleaning up * Working case update tests * Addressing PR comments * Reducing operations * Working rbac push case tests * Starting stats apis * Working status tests * User action tests and fixing migration errors * Fixing type errors * including error in message * Addressing pr feedback * Fixing some type errors * [Cases] Add space only tests (#99409) * Starting spaces tests * Finishing space only tests * Refactoring createCaseWithConnector * Fixing spelling * Addressing PR feedback and creating alert tests * Fixing mocks * [Cases] Add security only tests (#99679) * Starting spaces tests * Finishing space only tests * Refactoring createCaseWithConnector * Fixing spelling * Addressing PR feedback and creating alert tests * Fixing mocks * Starting security only tests * Adding remainder security only tests * Using helper objects * Fixing type error for null space * Renaming utility variables * Refactoring users and roles for security only tests * Adding sub feature * [Cases] Cleaning up the services and TODOs (#99723) * Cleaning up the service intialization * Fixing type errors * Adding comments for the api * Working test for cases client * Fix type error * Adding generated docs * Adding more docs and cleaning up types * Cleaning up readme * More clean up and links * Changing some file names * Renaming docs * Integration tests for cases privs and fixes (#100038) * [Cases] RBAC on UI (#99478) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> * Fixing case ids by alert id route call * [Cases] Fixing UI feature permissions and adding UI tests (#100074) * Integration tests for cases privs and fixes * Fixing ui cases permissions and adding tests * Adding test for collection failure and fixing jest * Renaming variables * Fixing type error * Adding some comments * Validate cases features * Fix new schema * Adding owner param for the status stats * Fix get case status tests * Adjusting permissions text and fixing status * Address PR feedback * Adding top level feature back * Fixing feature privileges * Renaming * Removing uneeded else * Fixing tests and adding cases merge tests * [Cases][Security Solution] Basic license security solution API tests (#100925) * Cleaning up the fixture plugins * Adding basic feature test * renaming to unsecuredSavedObjectsClient (#101215) * [Cases] RBAC Refactoring audit logging (#100952) * Refactoring audit logging * Adding unit tests for authorization classes * Addressing feedback and adding util tests * return undefined on empty array * fixing eslint * [Cases] Cleaning up RBAC integration tests (#101324) * Adding tests for space permissions * Adding tests for testing a disable feature Co-authored-by: Christos Nasikas <christos.nasikas@elastic.co> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
94 lines
6.1 KiB
JavaScript
94 lines
6.1 KiB
JavaScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
* 2.0.
|
|
*/
|
|
|
|
const alwaysImportedTests = [
|
|
require.resolve('../test/functional/config.js'),
|
|
require.resolve('../test/functional_basic/config.ts'),
|
|
require.resolve('../test/security_solution_endpoint/config.ts'),
|
|
require.resolve('../test/plugin_functional/config.ts'),
|
|
require.resolve('../test/functional_with_es_ssl/config.ts'),
|
|
require.resolve('../test/functional/config_security_basic.ts'),
|
|
require.resolve('../test/reporting_functional/reporting_and_security.config.ts'),
|
|
require.resolve('../test/reporting_functional/reporting_without_security.config.ts'),
|
|
require.resolve('../test/reporting_functional/reporting_and_deprecated_security.config.ts'),
|
|
require.resolve('../test/security_functional/login_selector.config.ts'),
|
|
require.resolve('../test/security_functional/oidc.config.ts'),
|
|
require.resolve('../test/security_functional/saml.config.ts'),
|
|
require.resolve('../test/functional_embedded/config.ts'),
|
|
require.resolve('../test/functional_cors/config.ts'),
|
|
require.resolve('../test/functional_enterprise_search/without_host_configured.config.ts'),
|
|
require.resolve('../test/functional_vis_wizard/config.ts'),
|
|
require.resolve('../test/saved_object_tagging/functional/config.ts'),
|
|
require.resolve('../test/usage_collection/config.ts'),
|
|
require.resolve('../test/fleet_functional/config.ts'),
|
|
];
|
|
const onlyNotInCoverageTests = [
|
|
require.resolve('../test/api_integration/config_security_basic.ts'),
|
|
require.resolve('../test/api_integration/config_security_trial.ts'),
|
|
require.resolve('../test/api_integration/config.ts'),
|
|
require.resolve('../test/api_integration_basic/config.ts'),
|
|
require.resolve('../test/alerting_api_integration/basic/config.ts'),
|
|
require.resolve('../test/alerting_api_integration/spaces_only/config.ts'),
|
|
require.resolve('../test/alerting_api_integration/security_and_spaces/config.ts'),
|
|
require.resolve('../test/case_api_integration/security_and_spaces/config_basic.ts'),
|
|
require.resolve('../test/case_api_integration/security_and_spaces/config_trial.ts'),
|
|
require.resolve('../test/case_api_integration/spaces_only/config.ts'),
|
|
require.resolve('../test/case_api_integration/security_only/config.ts'),
|
|
require.resolve('../test/apm_api_integration/basic/config.ts'),
|
|
require.resolve('../test/apm_api_integration/trial/config.ts'),
|
|
require.resolve('../test/apm_api_integration/rules/config.ts'),
|
|
require.resolve('../test/detection_engine_api_integration/security_and_spaces/config.ts'),
|
|
require.resolve('../test/detection_engine_api_integration/basic/config.ts'),
|
|
require.resolve('../test/lists_api_integration/security_and_spaces/config.ts'),
|
|
require.resolve('../test/plugin_api_integration/config.ts'),
|
|
require.resolve('../test/security_api_integration/saml.config.ts'),
|
|
require.resolve('../test/security_api_integration/session_idle.config.ts'),
|
|
require.resolve('../test/security_api_integration/session_invalidate.config.ts'),
|
|
require.resolve('../test/security_api_integration/session_lifespan.config.ts'),
|
|
require.resolve('../test/security_api_integration/login_selector.config.ts'),
|
|
require.resolve('../test/security_api_integration/audit.config.ts'),
|
|
require.resolve('../test/security_api_integration/kerberos.config.ts'),
|
|
require.resolve('../test/security_api_integration/kerberos_anonymous_access.config.ts'),
|
|
require.resolve('../test/security_api_integration/pki.config.ts'),
|
|
require.resolve('../test/security_api_integration/oidc.config.ts'),
|
|
require.resolve('../test/security_api_integration/oidc_implicit_flow.config.ts'),
|
|
require.resolve('../test/security_api_integration/token.config.ts'),
|
|
require.resolve('../test/security_api_integration/anonymous.config.ts'),
|
|
require.resolve('../test/security_api_integration/anonymous_es_anonymous.config.ts'),
|
|
require.resolve('../test/observability_api_integration/basic/config.ts'),
|
|
require.resolve('../test/observability_api_integration/trial/config.ts'),
|
|
require.resolve('../test/encrypted_saved_objects_api_integration/config.ts'),
|
|
require.resolve('../test/spaces_api_integration/spaces_only/config.ts'),
|
|
require.resolve('../test/spaces_api_integration/security_and_spaces/config_trial.ts'),
|
|
require.resolve('../test/spaces_api_integration/security_and_spaces/config_basic.ts'),
|
|
require.resolve('../test/saved_object_api_integration/security_and_spaces/config_trial.ts'),
|
|
require.resolve('../test/saved_object_api_integration/security_and_spaces/config_basic.ts'),
|
|
require.resolve('../test/saved_object_api_integration/security_only/config_trial.ts'),
|
|
require.resolve('../test/saved_object_api_integration/security_only/config_basic.ts'),
|
|
require.resolve('../test/saved_object_api_integration/spaces_only/config.ts'),
|
|
require.resolve('../test/ui_capabilities/security_and_spaces/config.ts'),
|
|
require.resolve('../test/ui_capabilities/security_only/config.ts'),
|
|
require.resolve('../test/ui_capabilities/spaces_only/config.ts'),
|
|
require.resolve('../test/upgrade_assistant_integration/config.js'),
|
|
require.resolve('../test/licensing_plugin/config.ts'),
|
|
require.resolve('../test/licensing_plugin/config.public.ts'),
|
|
require.resolve('../test/endpoint_api_integration_no_ingest/config.ts'),
|
|
require.resolve('../test/reporting_api_integration/reporting_and_security.config.ts'),
|
|
require.resolve('../test/reporting_api_integration/reporting_without_security.config.ts'),
|
|
require.resolve('../test/security_solution_endpoint_api_int/config.ts'),
|
|
require.resolve('../test/fleet_api_integration/config.ts'),
|
|
require.resolve('../test/search_sessions_integration/config.ts'),
|
|
require.resolve('../test/saved_object_tagging/api_integration/security_and_spaces/config.ts'),
|
|
require.resolve('../test/saved_object_tagging/api_integration/tagging_api/config.ts'),
|
|
require.resolve('../test/examples/config.ts'),
|
|
];
|
|
|
|
require('../../src/setup_node_env');
|
|
require('@kbn/test').runTestsCli([
|
|
...alwaysImportedTests,
|
|
...(!!process.env.CODE_COVERAGE ? [] : onlyNotInCoverageTests),
|
|
]);
|