job.test package¶
Subpackages¶
- job.test.configuration package
- job.test.error package
- job.test.execution package
- Subpackages
- Submodules
- job.test.execution.test_job_exe module
- job.test.execution.test_manager module
- job.test.execution.test_metrics module
- Module contents
- job.test.management package
- job.test.messages package
- Submodules
- job.test.messages.test_blocked_jobs module
- job.test.messages.test_cancel_jobs module
- job.test.messages.test_cancel_jobs_bulk module
- job.test.messages.test_completed_jobs module
- job.test.messages.test_create_jobs module
- job.test.messages.test_failed_jobs module
- job.test.messages.test_job_exe_end module
- job.test.messages.test_pending_jobs module
- job.test.messages.test_process_job_input module
- job.test.messages.test_publish_job module
- job.test.messages.test_purge_jobs module
- job.test.messages.test_running_jobs module
- job.test.messages.test_spawn_delete_files_job module
- job.test.messages.test_uncancel_jobs module
- job.test.messages.test_unpublish_jobs module
- Module contents
- job.test.seed package
- job.test.tasks package
Submodules¶
job.test.test_clock module¶
-
class
job.test.test_clock.
TestClock
(methodName='runTest')¶ Bases:
django.test.testcases.TestCase
Tests functions in the clock module.
-
setUp
()¶
-
test_check_rule
(*args, **keywargs)¶ Tests a valid rule triggers a new event.
-
test_check_rule_event_type_error
()¶ Tests checking a rule with an event type configuration problem.
-
test_check_rule_last_event
(*args, **keywargs)¶ Tests a valid rule checks the most recent matching event type.
-
test_check_rule_name_error
()¶ Tests checking a rule with a name configuration problem.
-
test_check_rule_schedule_error
()¶ Tests checking a rule with a schedule configuration problem.
-
test_check_rule_skip
(*args, **keywargs)¶ Tests a valid rule does not trigger a new event when the schedule threshold has not been met.
-
test_check_schedule_day_drift
(*args, **keywargs)¶ Tests checking a schedule for once a day without slowly drifting away from the target time.
-
test_check_schedule_day_exact
(*args, **keywargs)¶ Tests checking a schedule for once a day.
-
test_check_schedule_day_first
(*args, **keywargs)¶ Tests checking a daily schedule that was never triggered before and is due now.
-
test_check_schedule_day_last
(*args, **keywargs)¶ Tests checking a daily schedule that was triggered before and is due now.
-
test_check_schedule_day_last_skip
(*args, **keywargs)¶ Tests checking a daily schedule that was triggered before and is not due.
-
test_check_schedule_day_recover
(*args, **keywargs)¶ Tests checking a schedule to recover after being down for several days.
-
test_check_schedule_hour_drift_min
(*args, **keywargs)¶ Tests checking a schedule for once an hour without slowly drifting away from the target time.
-
test_check_schedule_hour_exact
(*args, **keywargs)¶ Tests checking a schedule for once an hour.
-
test_check_schedule_hour_first
(*args, **keywargs)¶ Tests checking an hourly schedule that was never triggered before and is due now.
-
test_check_schedule_hour_first_skip
(*args, **keywargs)¶ Tests checking an hourly schedule that was never triggered before and is not due.
-
test_check_schedule_hour_last
(*args, **keywargs)¶ Tests checking an hourly schedule that was triggered before and is due now.
-
test_check_schedule_hour_last_skip
(*args, **keywargs)¶ Tests checking an hourly schedule that was triggered before and is not due.
-
test_check_schedule_hour_recover
(*args, **keywargs)¶ Tests checking a schedule to recover after being down for several hours.
-
test_multiple_processors
()¶ Tests running multiple processors for the same trigger rule.
-
test_perform_tick
(*args, **keywargs)¶ Tests performing a single clock tick.
-
test_perform_tick_error
(*args, **keywargs)¶ Tests performing a clock tick will continue even when rules fail.
-
test_perform_tick_skip
(*args, **keywargs)¶ Tests performing a single clock tick with rules that should be skipped.
-
test_trigger_event_first
()¶ Tests triggering a new event the first time for a rule.
-
test_trigger_event_last
()¶ Tests triggering a new event after the rule has processed an event previously.
-
job.test.test_models module¶
-
class
job.test.test_models.
TestJob
(methodName='runTest')¶ Bases:
django.test.testcases.TestCase
-
setUp
()¶
-
test_get_seed_job_results
()¶ Test retrieving job results from a Seed job type
-
-
class
job.test.test_models.
TestJobManager
(methodName='runTest')¶ Bases:
django.test.testcases.TransactionTestCase
-
test_process_job_input
()¶ Tests calling JobManager.process_job_input()
-
test_process_job_output
()¶ Tests calling JobManager.process_job_output()
-
test_queue_job_timestamps
()¶ Tests that job attributes are updated when a job is queued.
-
test_queue_superseded_jobs
()¶ Tests that JobManager.update_jobs_to_queued() does not queue superseded jobs
-
test_superseded_job
()¶ Tests creating a job that supersedes another job
-
-
class
job.test.test_models.
TestJobType
(methodName='runTest')¶ Bases:
django.test.testcases.TransactionTestCase
-
setUp
()¶
-
test_get_job_version_array
()¶
-
test_get_seed_cpu_resource_from_seed_interface
()¶
-
test_get_seed_disk_resource_from_seed_interface
()¶
-
test_get_seed_mem_resource_from_seed_interface
()¶
-
-
class
job.test.test_models.
TestJobTypeFailedStatus
(methodName='runTest')¶ Bases:
django.test.testcases.TestCase
-
setUp
()¶
-
test_successful
()¶ Tests calling the get_failed_jobs_with_system_errors method on JobManager.
-
-
class
job.test.test_models.
TestJobTypeRevision
(methodName='runTest')¶ Bases:
django.test.testcases.TransactionTestCase
-
setUp
()¶
-
test_revision_get_input_interface
()¶
-
test_revision_get_output_interface
()¶
-
job.test.test_views module¶
-
class
job.test.test_views.
TestCancelJobsViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_cancel
(*args, **keywargs)¶ Tests calling the job cancel view successfully
-
test_cancel_invalid
(*args, **keywargs)¶ Tests calling the job cancel view with an invalid jobtype name/version
-
-
class
job.test.test_views.
TestGetAuthDisabledJobsView
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_success_on_post
(*args, **keywargs)¶ Tests success when posting to the jobs view with authentication.
-
test_successful_on_get
()¶ Tests successfully retrieving jobs without authentication.
-
test_unathenticated_on_post
(*args, **keywargs)¶ Tests for failure when posting to the jobs view with authentication.
-
-
class
job.test.test_views.
TestJobDetailsViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_successful_empty
()¶ Tests successfully calling the job details view with no data or results.
-
test_successful_execution
()¶ Tests successfully calling the job details view and checking the execution response.
-
test_successful_resources
()¶ Tests successfully calling the job details view for resources.
-
test_superseded
()¶ Tests successfully calling the job details view for superseded jobs.
-
-
class
job.test.test_views.
TestJobExecutionDetailsViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_get_job_execution_bad_exe_num
()¶
-
test_get_job_execution_for_job_exe_id
()¶
-
-
class
job.test.test_views.
TestJobExecutionSpecificLogViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_bad_job_exe_id
()¶
-
test_combined_log_html_no_time
(*args, **keywargs)¶
-
test_combined_log_json_no_content
(*args, **keywargs)¶
-
test_combined_log_json_no_time
(*args, **keywargs)¶
-
test_combined_log_json_with_time
(*args, **keywargs)¶
-
test_combined_log_text_no_time
(*args, **keywargs)¶
-
test_stderr_log_html_no_time
(*args, **keywargs)¶
-
test_stdout_log_html_no_time
(*args, **keywargs)¶
-
-
class
job.test.test_views.
TestJobExecutionsViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_get_job_execution_bad_id
()¶
-
test_get_job_execution_filter_error
()¶
-
test_get_job_execution_filter_node
()¶
-
test_get_job_execution_filter_status
()¶
-
test_get_job_executions
()¶ This test checks to make sure there are 4 job executions.
-
-
class
job.test.test_views.
TestJobInputFilesViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_bad_file_name
()¶ Tests unsuccessfully calling the get files by name view
-
test_file_name_successful
()¶ Tests successfully calling the get files by name view
-
test_filter_job_input
()¶ Tests successfully calling the job inputs files view with job_input string filtering
-
test_successful_file
()¶ Tests successfully calling the job input files view
-
test_time_successful
()¶ Tests unsuccessfully calling the get files by name view
-
-
class
job.test.test_views.
TestJobTypeDetailsViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_edit_bad_configuration
()¶ Tests passing an invalid configuration of a job type to the patch interface
-
test_edit_configuration
()¶ Tests editing the configuration of a job type
-
test_edit_manifest
()¶ Tests editing the manifest of a job type
-
test_edit_not_found
()¶ Tests calling the get job type details view with a job name/version that does not exist.
-
test_edit_simple
(*args, **keywargs)¶ Tests editing only the basic attributes of a job type
-
test_edit_warnings
(*args, **keywargs)¶ Tests deprecating a job type and getting warnings
-
test_not_found
()¶ Tests calling the get job type details view with a job name/version that does not exist.
-
test_successful
()¶ Tests successfully calling the get job type details view.
-
-
class
job.test.test_views.
TestJobTypeNamesViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_id
()¶ Tests successfully calling the job types view filtered by id.
-
test_is_active
()¶ Tests successfully calling the job types view filtered by inactive state.
-
test_is_system
()¶ Tests successfully calling the job types view filtered by system status.
-
test_keyword
()¶ Tests successfully calling the job types view filtered by keyword.
-
test_successful
()¶ Tests successfully calling the get all job types view.
-
-
class
job.test.test_views.
TestJobTypeRevisionsViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_details_not_found
()¶ Tests successfully calling the get job type revision details view with a job type revision that does not exist.
-
test_not_found
()¶ Tests successfully calling the get job type revisions view with a job type that does not exist.
-
test_successful_details
()¶ Tests successfully calling the get job type revision details view.
-
test_successful_list
()¶ Tests successfully calling the get job type revisions view.
-
-
class
job.test.test_views.
TestJobTypesPendingView
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_successful
()¶ Tests successfully calling the pending status view.
-
-
class
job.test.test_views.
TestJobTypesPostViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_add_seed_job_type
()¶ Tests adding a seed image.
-
test_add_seed_job_type_minimum_manifest
()¶ Tests adding a Seed image with a minimum Seed manifest
-
test_add_seed_version_job_type
()¶ Tests adding a new version of a seed image.
-
test_create_seed_bad_param
()¶ Tests creating a job type with invalid type fields.
-
test_create_seed_missing_mount
()¶ Tests creating a new seed job type with a mount referenced in configuration but not interface.
-
test_create_seed_missing_param
()¶ Tests creating a seed job type with missing fields.
-
test_create_seed_missing_setting
()¶ Tests creating a new seed job type with a setting referenced in configuration but not interface.
-
test_create_seed_partial_gpu_resource
()¶ Tests creating a job type with partial GPU resource.
-
test_create_seed_secrets
()¶ Tests creating a new seed job type with secrets.
-
test_create_seed_validation
()¶ Tests creating a job type with the name ‘validation’.
-
test_edit_seed_job_type
()¶ Tests editing an existing seed job type.
-
test_edit_seed_job_type_and_update
(*args, **keywargs)¶ Tests editing an existing seed job type and automatically updating recipes.
-
-
class
job.test.test_views.
TestJobTypesRunningView
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_successful
()¶ Tests successfully calling the running status view.
-
-
class
job.test.test_views.
TestJobTypesStatusView
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_active
()¶ Tests successfully filtering the job types status view by is_active.
-
test_active_and_date_range
()¶ Tests successfully filtering the job types status view by is_active and start/end.
-
test_date_range
()¶ Tests successfully filtering the job types status view by start/end.
-
test_successful
()¶ Tests successfully calling the job types status view.
-
-
class
job.test.test_views.
TestJobTypesSystemFailuresView
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_successful
()¶ Tests successfully calling the system failures view.
-
-
class
job.test.test_views.
TestJobTypesValidationViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCase
Tests related to the job-types validation endpoint
-
api
= u'v6'¶
-
setUp
()¶
-
test_bad_error
()¶ Tests validating a new job type with an invalid error relationship.
-
test_bad_param
()¶ Tests validating a new job type with missing fields.
-
test_deprecated_output_workspace
()¶ Tests validating a new job type with an inactive output workspace.
-
test_empty_media
()¶ Tests validating a new job type with media types not specified
-
test_empty_output_successful
()¶ Tests validating a new job type without outputs
-
test_invalid_output_workspace
()¶ Tests validating a new job type with an invalid output workspace.
-
test_missing_mount
()¶ Tests validating a new job type with a mount referenced in manifest but not configuration.
-
test_missing_output_workspace
()¶ Tests validating a new job type with a missing output workspace.
-
test_missing_setting
()¶ Tests validating a new job type with a setting referenced in manifest but not configuration.
-
test_nonstandard_resource
()¶ Tests validating a new job type with a nonstandard resource.
-
test_secret_setting
()¶ Tests validating a new job type with a secret setting.
-
test_successful
()¶ Tests validating a new job type.
-
test_successful_configuration
()¶ Tests validating a new job type with a valid configuration.
-
test_unknown_mount
()¶ Tests validating a new job type with a mount referenced in configuration but not manifest.
-
test_unknown_setting
()¶ Tests validating a new job type with a setting referenced in configuration but not manifest.
-
-
class
job.test.test_views.
TestJobTypesViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_id
()¶ Tests successfully calling the job types view filtered by id.
-
test_is_active
()¶ Tests successfully calling the job types view filtered by inactive state.
-
test_is_system
()¶ Tests successfully calling the job types view filtered by system status.
-
test_keyword
()¶ Tests successfully calling the job types view filtered by keyword.
-
test_successful
()¶ Tests successfully calling the get all job types view.
-
test_version_is_active
()¶ Tests successfully calling the job type versions view filtered by inactive state.
-
test_version_successful
()¶ Tests successfully calling the job type versions view.
-
-
class
job.test.test_views.
TestJobsPostViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_invalid_configuration
()¶ Tests successfully calling POST jobs view to queue a new job with a job type configuration
-
test_invalid_data
()¶ Tests successfully calling POST jobs view to queue a new job with invalid input data
-
test_successful
(*args, **keywargs)¶ Tests successfully calling POST jobs view to queue a new job
-
test_successful_configuration
(*args, **keywargs)¶ Tests successfully calling POST jobs view to queue a new job with a job type configuration
-
-
class
job.test.test_views.
TestJobsViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_batch
()¶ Tests filtering jobs by batch
-
test_error_category
()¶ Tests successfully calling the jobs view filtered by error category.
-
test_error_id
()¶ Tests successfully calling the jobs view filtered by error id.
-
test_job_id
()¶ Tests successfully calling the jobs view filtered by job identifier.
-
test_job_type_id
()¶ Tests successfully calling the jobs view filtered by job type identifier.
-
test_job_type_name
()¶ Tests successfully calling the jobs view filtered by job type name.
-
test_jobs_successful
()¶ Tests the v6/jobs/<job_id>/ api call for success
-
test_order_by
()¶ Tests successfully calling the jobs view with sorting.
-
test_recipe
()¶ Tests filtering jobs by recipe
-
test_source_collection
()¶ Tests successfully calling the jobs view filtered by source collection.
-
test_source_sensor
()¶ Tests successfully calling the jobs view filtered by source sensor.
-
test_source_sensor_class
()¶ Tests successfully calling the jobs view filtered by source sensor class.
-
test_source_task
()¶ Tests successfully calling the jobs view filtered by source task.
-
test_source_time_successful
()¶ Tests successfully calling the get jobs by source time
-
test_status
()¶ Tests successfully calling the jobs view filtered by status.
-
test_successful
()¶ Tests successfully calling the jobs view.
-
test_superseded
()¶ Tests getting superseded jobs.
-
-
class
job.test.test_views.
TestRequeueJobsViewV6
(methodName='runTest')¶ Bases:
rest_framework.test.APITestCase
-
api
= u'v6'¶
-
setUp
()¶
-
test_requeue
(*args, **keywargs)¶ Tests calling the requeue view successfully
-
test_requeue_invalid
(*args, **keywargs)¶ Tests calling the job requeue view with an invalid jobtype name/version
-
job.test.utils module¶
Defines utility methods for testing jobs and job types
-
job.test.utils.
create_clock_event
(rule=None, occurred=None)¶ Creates a scale clock trigger event model for unit testing
Returns: The trigger event model Return type: trigger.models.TriggerEvent
-
job.test.utils.
create_clock_rule
(name=None, rule_type=u'CLOCK', event_type=None, schedule=u'PT1H0M0S', is_active=True)¶ Creates a scale clock trigger rule model for unit testing
Returns: The trigger rule model Return type: trigger.models.TriggerRule
-
job.test.utils.
create_input_file
(job=None, input_file=None, job_input=None, file_name=u'my_test_file.txt', media_type=u'text/plain', file_size=100, file_path=None, workspace=None, countries=None, is_deleted=False, data_type_tags=[], last_modified=None, source_started=None, source_ended=None)¶ Creates a Scale file and job input file model for unit testing
Returns: The file model Return type: storage.models.ScaleFile
-
job.test.utils.
create_job
(job_type=None, event=None, status=u'PENDING', error=None, input=None, num_exes=1, max_tries=None, node=None, queued=None, started=None, ended=None, last_status_change=None, priority=100, output=None, job_config=None, superseded_job=None, is_superseded=False, superseded=None, input_file_size=10.0, recipe=None, save=True)¶ Creates a job model for unit testing
Returns: The job model Return type: job.models.Job
-
job.test.utils.
create_job_exe
(job_type=None, job=None, exe_num=None, node=None, timeout=None, input_file_size=10.0, queued=None, started=None, status=u'RUNNING', error=None, ended=None, output=None, task_results=None, configuration=None)¶ Creates a job_exe model for unit testing, may also create job_exe_end and job_exe_output models depending on status
Returns: The job_exe model Return type: job.execution.job_exe.RunningJobExecution
-
job.test.utils.
create_running_job_exe
(agent_id=u'agent_1', job_type=None, job=None, node=None, timeout=None, input_file_size=10.0, queued=None, started=None, resources=None, priority=None, num_exes=1)¶ Creates a running job execution for unit testing
Returns: The running job execution Return type: job.execution.job_exe.RunningJobExecution
-
job.test.utils.
create_seed_job_type
(manifest=None, priority=50, max_tries=3, max_scheduled=None, is_active=True, configuration=None, docker_image=u'fake', is_system=False, job_version=u'0.1.0', interface=None, interface_command=None, interface_inputs=None, interface_outputs=None, interface_mounts=None, interface_settings=None)¶
-
job.test.utils.
create_seed_manifest
(name=None, jobVersion=None, packageVersion=None, title=None, description=None, tags=None, maintainer=None, timeout=None, command=None, inputs_files=None, inputs_json=None, outputs_files=None, outputs_json=None, mounts=None, settings=None, resources=None, errors=None)¶
-
job.test.utils.
create_task_status_update
(task_id, agent_id, status, when, exit_code=None, reason=None, source=None, message=None, data=None)¶ Creates a job model for unit testing
Parameters: - task_id (string) – The unique ID of the task
- agent_id (string) – The agent ID for the task
- status (string) – The status of the task
- when (
datetime.datetime
) – The timestamp of the update - exit_code (int) – The task’s exit code
- reason (string) – The reason
- source (string) – The source
- message (string) – The message
- data (dict) – The data dict
Returns: The task status update
Return type:
-
job.test.utils.
edit_job_type_v6
(job_type, manifest_dict=None, docker_image=None, icon_code=None, is_active=None, is_published=None, is_paused=None, max_scheduled=None, configuration_dict=None)¶ Updates a job type, including creating a new revision for unit testing