apply plugin: 'elasticsearch.testclusters' apply plugin: 'elasticsearch.standalone-rest-test' apply plugin: 'elasticsearch.rest-test' dependencies { testCompile project(path: xpackModule('core'), configuration: 'default') testCompile project(path: xpackModule('core'), configuration: 'testArtifacts') testCompile project(path: xpackProject('plugin').path, configuration: 'testArtifacts') } // bring in machine learning rest test suite task copyMlRestTests(type: Copy) { into project.sourceSets.test.output.resourcesDir from project(xpackProject('plugin').path).sourceSets.test.resources.srcDirs include 'rest-api-spec/test/ml/**' } integTest.runner { dependsOn copyMlRestTests } integTest.runner { systemProperty 'tests.rest.blacklist', [ // Remove this test because it doesn't call an ML endpoint and we don't want // to grant extra permissions to the users used in this test suite 'ml/ml_classic_analyze/Test analyze API with an analyzer that does what we used to do in native code', // Remove tests that are expected to throw an exception, because we cannot then // know whether to expect an authorization exception or a validation exception 'ml/calendar_crud/Test get calendar given missing', 'ml/calendar_crud/Test cannot create calendar with name _all', 'ml/calendar_crud/Test PageParams with ID is invalid', 'ml/calendar_crud/Test post calendar events given empty events', 'ml/calendar_crud/Test put calendar given id contains invalid chars', 'ml/calendar_crud/Test delete event from non existing calendar', 'ml/calendar_crud/Test delete job from non existing calendar', 'ml/custom_all_field/Test querying custom all field', 'ml/datafeeds_crud/Test delete datafeed with missing id', 'ml/datafeeds_crud/Test put datafeed referring to missing job_id', 'ml/datafeeds_crud/Test put datafeed with invalid query', 'ml/datafeeds_crud/Test put datafeed with security headers in the body', 'ml/datafeeds_crud/Test update datafeed with missing id', 'ml/data_frame_analytics_crud/Test put config with security headers in the body', 'ml/data_frame_analytics_crud/Test put config with create_time in the body', 'ml/data_frame_analytics_crud/Test put config with version in the body', 'ml/data_frame_analytics_crud/Test put config with inconsistent body/param ids', 'ml/data_frame_analytics_crud/Test put config with invalid id', 'ml/data_frame_analytics_crud/Test put config with invalid dest index name', 'ml/data_frame_analytics_crud/Test put config with pattern dest index name', 'ml/data_frame_analytics_crud/Test put config with missing concrete source index', 'ml/data_frame_analytics_crud/Test put config with missing wildcard source index', 'ml/data_frame_analytics_crud/Test put config with dest index same as source index', 'ml/data_frame_analytics_crud/Test put config with dest index matching multiple indices', 'ml/data_frame_analytics_crud/Test put config with dest index included in source via alias', 'ml/data_frame_analytics_crud/Test put config with unknown top level field', 'ml/data_frame_analytics_crud/Test put config with unknown field in outlier detection analysis', 'ml/data_frame_analytics_crud/Test put config given missing source', 'ml/data_frame_analytics_crud/Test put config given source with empty index array', 'ml/data_frame_analytics_crud/Test put config given source with empty string in index array', 'ml/data_frame_analytics_crud/Test put config given source without index', 'ml/data_frame_analytics_crud/Test put config given missing dest', 'ml/data_frame_analytics_crud/Test put config given dest with empty index', 'ml/data_frame_analytics_crud/Test put config given dest without index', 'ml/data_frame_analytics_crud/Test put config given missing analysis', 'ml/data_frame_analytics_crud/Test put config given empty analysis', 'ml/data_frame_analytics_crud/Test get given missing analytics', 'ml/data_frame_analytics_crud/Test get given missing analytics and allow_no_match is false', 'ml/data_frame_analytics_crud/Test get given expression without matches and allow_no_match is false', 'ml/data_frame_analytics_crud/Test get stats given missing analytics', 'ml/data_frame_analytics_crud/Test get stats given missing analytics and allow_no_match is false', 'ml/data_frame_analytics_crud/Test get stats given expression without matches and allow_no_match is false', 'ml/data_frame_analytics_crud/Test delete given missing config', 'ml/data_frame_analytics_crud/Test max model memory limit', 'ml/evaluate_data_frame/Test given missing index', 'ml/evaluate_data_frame/Test given index does not exist', 'ml/evaluate_data_frame/Test given missing evaluation', 'ml/evaluate_data_frame/Test binary_soft_classification auc_roc given actual_field is always true', 'ml/evaluate_data_frame/Test binary_soft_classification auc_roc given actual_field is always false', 'ml/evaluate_data_frame/Test binary_soft_classification given evaluation with empty metrics', 'ml/evaluate_data_frame/Test binary_soft_classification given missing actual_field', 'ml/evaluate_data_frame/Test binary_soft_classification given missing predicted_probability_field', 'ml/evaluate_data_frame/Test binary_soft_classification given precision with threshold less than zero', 'ml/evaluate_data_frame/Test binary_soft_classification given recall with threshold less than zero', 'ml/evaluate_data_frame/Test binary_soft_classification given confusion_matrix with threshold less than zero', 'ml/evaluate_data_frame/Test binary_soft_classification given precision with empty thresholds', 'ml/evaluate_data_frame/Test binary_soft_classification given recall with empty thresholds', 'ml/evaluate_data_frame/Test binary_soft_classification given confusion_matrix with empty thresholds', 'ml/evaluate_data_frame/Test regression given evaluation with empty metrics', 'ml/delete_job_force/Test cannot force delete a non-existent job', 'ml/delete_model_snapshot/Test delete snapshot missing snapshotId', 'ml/delete_model_snapshot/Test delete snapshot missing job_id', 'ml/delete_model_snapshot/Test delete with in-use model', 'ml/filter_crud/Test create filter api with mismatching body ID', 'ml/filter_crud/Test create filter given invalid filter_id', 'ml/filter_crud/Test get filter API with bad ID', 'ml/filter_crud/Test invalid param combinations', 'ml/filter_crud/Test non-existing filter', 'ml/filter_crud/Test update filter given remove item is not present', 'ml/filter_crud/Test get all filter given index exists but no mapping for filter_id', 'ml/get_datafeed_stats/Test get datafeed stats given missing datafeed_id', 'ml/get_datafeeds/Test get datafeed given missing datafeed_id', 'ml/jobs_crud/Test cannot create job with existing categorizer state document', 'ml/jobs_crud/Test cannot create job with existing quantiles document', 'ml/jobs_crud/Test cannot create job with existing result document', 'ml/jobs_crud/Test cannot create job with model snapshot id set', 'ml/jobs_crud/Test cannot decrease model_memory_limit below current usage', 'ml/jobs_crud/Test get job API with non existing job id', 'ml/jobs_crud/Test put job after closing results index', 'ml/jobs_crud/Test put job after closing state index', 'ml/jobs_crud/Test put job with inconsistent body/param ids', 'ml/jobs_crud/Test put job with time field in analysis_config', 'ml/jobs_crud/Test put job with duplicate detector configurations', 'ml/jobs_crud/Test job with categorization_analyzer and categorization_filters', 'ml/jobs_get/Test get job given missing job_id', 'ml/jobs_get_result_buckets/Test mutually-exclusive params', 'ml/jobs_get_result_buckets/Test mutually-exclusive params via body', 'ml/jobs_get_result_categories/Test with invalid param combinations', 'ml/jobs_get_result_categories/Test with invalid param combinations via body', 'ml/jobs_get_result_overall_buckets/Test overall buckets given missing job', 'ml/jobs_get_result_overall_buckets/Test overall buckets given non-matching expression and not allow_no_jobs', 'ml/jobs_get_result_overall_buckets/Test overall buckets given top_n is 0', 'ml/jobs_get_result_overall_buckets/Test overall buckets given top_n is negative', 'ml/jobs_get_result_overall_buckets/Test overall buckets given invalid start param', 'ml/jobs_get_result_overall_buckets/Test overall buckets given invalid end param', 'ml/jobs_get_result_overall_buckets/Test overall buckets given bucket_span is smaller than max job bucket_span', 'ml/jobs_get_stats/Test get job stats given missing job', 'ml/jobs_get_stats/Test no exception on get job stats with missing index', 'ml/job_groups/Test put job with empty group', 'ml/job_groups/Test put job with group that matches an job id', 'ml/job_groups/Test put job with group that matches its id', 'ml/job_groups/Test put job with id that matches an existing group', 'ml/job_groups/Test put job with invalid group', 'ml/ml_info/Test ml info', 'ml/post_data/Test Flush data with invalid parameters', 'ml/post_data/Test flushing and posting a closed job', 'ml/post_data/Test open and close with non-existent job id', 'ml/post_data/Test POST data with invalid parameters', 'ml/preview_datafeed/Test preview missing datafeed', 'ml/revert_model_snapshot/Test revert model with invalid snapshotId', 'ml/start_data_frame_analytics/Test start given missing config', 'ml/start_data_frame_analytics/Test start given missing source index', 'ml/start_data_frame_analytics/Test start given source index has no compatible fields', 'ml/start_data_frame_analytics/Test start with inconsistent body/param ids', 'ml/start_stop_datafeed/Test start datafeed job, but not open', 'ml/start_stop_datafeed/Test start non existing datafeed', 'ml/start_stop_datafeed/Test stop non existing datafeed', 'ml/stop_data_frame_analytics/Test stop given missing config and allow_no_match is true', 'ml/stop_data_frame_analytics/Test stop given missing config and allow_no_match is false', 'ml/stop_data_frame_analytics/Test stop with expression that does not match and allow_no_match is false', 'ml/stop_data_frame_analytics/Test stop with inconsistent body/param ids', 'ml/update_model_snapshot/Test without description', 'ml/validate/Test invalid job config', 'ml/validate/Test job config is invalid because model snapshot id set', 'ml/validate/Test job config that is invalid only because of the job ID', 'ml/validate/Test job config with duplicate detector configurations', 'ml/validate_detector/Test invalid detector', 'ml/delete_forecast/Test delete on _all forecasts not allow no forecasts', 'ml/delete_forecast/Test delete forecast on missing forecast', 'ml/set_upgrade_mode/Attempt to open job when upgrade_mode is enabled', 'ml/set_upgrade_mode/Setting upgrade_mode to enabled', 'ml/set_upgrade_mode/Setting upgrade mode to disabled from enabled', 'ml/set_upgrade_mode/Test setting upgrade_mode to false when it is already false' ].join(',') } testClusters.integTest { testDistribution = 'DEFAULT' extraConfigFile 'roles.yml', file('roles.yml') user username: "x_pack_rest_user", password: "x-pack-test-password" user username: "ml_admin", password: "x-pack-test-password", role: "minimal,machine_learning_admin" user username: "ml_user", password: "x-pack-test-password", role: "minimal,machine_learning_user" user username: "no_ml", password: "x-pack-test-password", role: "minimal" setting 'xpack.license.self_generated.type', 'trial' setting 'xpack.security.enabled', 'true' }