recipe.test package¶
Subpackages¶
- recipe.test.configuration package
- recipe.test.definition package
- recipe.test.diff package
- recipe.test.handlers package
- recipe.test.instance package
- recipe.test.messages package
- Submodules
- recipe.test.messages.test_create_conditions module
- recipe.test.messages.test_create_recipes module
- recipe.test.messages.test_process_condition module
- recipe.test.messages.test_process_recipe_input module
- recipe.test.messages.test_purge_recipe module
- recipe.test.messages.test_supersede_recipe_nodes module
- recipe.test.messages.test_update_recipe module
- recipe.test.messages.test_update_recipe_definition module
- recipe.test.messages.test_update_recipe_metrics module
- Module contents
Submodules¶
recipe.test.test_models module¶
-
class
recipe.test.test_models.TestRecipeManager(methodName='runTest')¶ Bases:
django.test.testcases.TransactionTestCase-
setUp()¶
-
test_process_recipe_input()¶ Tests calling RecipeManager.process_recipe_input()
-
-
class
recipe.test.test_models.TestRecipePopulateJobs(methodName='runTest')¶ Bases:
django.test.testcases.TransactionTestCase-
setUp()¶
-
test_successful()¶ Tests nodes are associated with the recipe successfully?
-
-
class
recipe.test.test_models.TestRecipeTypeJobLinkManager(methodName='runTest')¶ Bases:
django.test.testcases.TransactionTestCase-
setUp()¶
-
test_get_job_type_ids()¶ Tests calling RecipeTypeJobLinkManager.get_job_type_ids()
-
test_get_recipe_type_ids()¶ Tests calling RecipeTypeJobLinkManager.get_recipe_type_ids()
-
-
class
recipe.test.test_models.TestRecipeTypeManagerCreateRecipeTypeV6(methodName='runTest')¶ Bases:
django.test.testcases.TransactionTestCase-
setUp()¶
-
test_invalid_definition()¶ Tests calling RecipeTypeManager.create_recipe_type_v6() with an invalid definition
-
test_successful()¶ Tests calling RecipeTypeManager.create_recipe_type_v6() successfully.
-
-
class
recipe.test.test_models.TestRecipeTypeManagerEditRecipeTypeV6(methodName='runTest')¶ Bases:
django.test.testcases.TransactionTestCase-
setUp()¶
-
test_change_simple()¶ Tests calling RecipeTypeManager.edit_recipe_type() with only basic attributes
-
test_change_to_definition(*args, **keywargs)¶ Tests calling RecipeTypeManager.edit_recipe_type() with a change to the definition
-
test_change_to_invalid_definition(*args, **keywargs)¶ Tests calling RecipeTypeManager.edit_recipe_type() with an invalid change to the definition
-
-
class
recipe.test.test_models.TestRecipeTypeSubLinkManager(methodName='runTest')¶ Bases:
django.test.testcases.TransactionTestCase-
setUp()¶
-
test_get_recipe_type_ids()¶ Tests calling RecipeTypeSubLinkManager.get_recipe_type_ids()
-
test_get_sub_recipe_type_ids()¶ Tests calling RecipeTypeSubLinkManager.get_sub_recipe_type_ids()
-
recipe.test.test_views module¶
-
class
recipe.test.test_views.TestCreateRecipeTypeViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCaseTests related to the post recipe-types base endpoint
-
api= u'v6'¶
-
setUp()¶
-
test_create()¶ Tests creating a new recipe type.
-
test_create_bad_job_type()¶ Tests creating a new recipe type with job type that doesn’t exist.
-
test_create_bad_param()¶ Tests creating a new recipe type with missing fields.
-
test_create_existing()¶
-
test_create_validation()¶ Tests creating a new recipe type with the name ‘validation’.
-
-
class
recipe.test.test_views.TestRecipeDetailsViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCase-
api= u'v6'¶
-
setUp()¶
-
test_not_found()¶ Tests calling the recipe details view with an id that does not exist.
-
test_successful()¶ Tests getting recipe details
-
test_superseded()¶ Tests successfully calling the recipe details view for superseded recipes.
-
-
class
recipe.test.test_views.TestRecipeInputFilesViewV6(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_recipe_input()¶ Tests successfully calling the recipe input files view with recipe_input string filtering
-
test_successful_file()¶ Tests successfully calling the recipe input files view
-
test_time_successful()¶ Tests successfully calling the get recipe input files view by time
-
-
class
recipe.test.test_views.TestRecipeReprocessViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCase-
api= u'v6'¶
-
setUp()¶
-
test_all_jobs(*args, **keywargs)¶ Tests reprocessing all jobs in an existing recipe
-
test_bad_job()¶ Tests reprocessing a non-existant job throws an error
-
test_bad_json()¶ Tests reprocessing with bad forced_nodes json input
-
test_bad_recipe()¶ Tests reprocessing a non-existant job throws an error
-
test_bad_revision_num()¶ Tests reprocessing a recipe with an invalid revision number
-
test_full_recipe(*args, **keywargs)¶ Tests reprocessing a full recipe
-
test_job(*args, **keywargs)¶ Tests reprocessing one job in an existing recipe
-
test_superseded()¶ Tests reprocessing a recipe that is already superseded throws an error.
-
test_updated_recipe(*args, **keywargs)¶ Tests reprocessing a recipe that has been updated
-
-
class
recipe.test.test_views.TestRecipeTypeDetailsViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCaseTests related to the recipe-types details endpoint
-
api= u'v6'¶
-
setUp()¶
-
test_edit_bad_definition()¶ Tests attempting to edit a recipe type using an invalid recipe definition
-
test_edit_definition()¶ Tests editing the definition of a recipe type
-
test_edit_definition_and_update(*args, **keywargs)¶ Tests editing the definition of a recipe type and updating recipes
-
test_edit_recipeception()¶ Tests attempting to edit a recipe with sub-recipes of itself
-
test_edit_simple(*args, **keywargs)¶ Tests editing only the basic attributes of a recipe type
-
test_not_found()¶ Tests calling the recipe type details view with a name that does not exist.
-
test_successful()¶ Tests successfully calling the recipe type details view.
-
-
class
recipe.test.test_views.TestRecipeTypeRevisionDetailsViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCaseTests related to the recipe-types details endpoint
-
api= u'v6'¶
-
setUp()¶
-
test_not_found()¶ Tests calling the recipe type revision details view with a revision that does not exist.
-
test_successful()¶ Tests successfully calling the recipe type details view.
-
-
class
recipe.test.test_views.TestRecipeTypeRevisionsViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCaseTests related to the recipe-types base endpoint
-
api= u'v6'¶
-
setUp()¶
-
test_list_all()¶ Tests getting a list of recipe types.
-
-
class
recipe.test.test_views.TestRecipeTypesValidationViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCaseTests related to the recipe-types validation endpoint
-
api= u'v6'¶
-
setUp()¶
-
test_bad_connection()¶ Tests validating a new recipe type with a connection to a missing output.
-
test_bad_job_type()¶ Tests creating a new recipe type with a job type that doesn’t exist.
-
test_bad_param()¶ Tests validating a new recipe type with missing fields.
-
test_mismatched_warning()¶ Tests validating a new recipe type.
-
test_optional_output()¶ Tests creating a new recipe type with a required input connected to an optional output
-
test_optional_output_condition()¶ Tests creating a new recipe type with an optional output hooked up to a condition followed by a required input
-
test_recipe_not_found_warning()¶ Tests validating a recipe definition against a recipe-type that doesn’t exist
-
test_recipeception()¶ Tests validating a recipe type with a sub-recipe of itself
-
test_reprocess_warning()¶ Tests validating an updated recipe type with an unable to reprocess warning.
-
test_successful_new()¶ Tests validating a new recipe type.
-
test_successful_update()¶ Tests validating an updated recipe type.
-
-
class
recipe.test.test_views.TestRecipeTypesViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCaseTests related to the get recipe-types base endpoint
-
api= u'v6'¶
-
setUp()¶
-
test_is_active()¶ Tests successfully calling the recipetypes view filtered by inactive state.
-
test_is_system()¶ Tests successfully calling the recipe types view filtered by system status.
-
test_keyword()¶ Tests successfully calling the recipe types view filtered by keyword.
-
test_list_all()¶ Tests getting a list of recipe types.
-
-
class
recipe.test.test_views.TestRecipesPostViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCase-
api= u'v6'¶
-
setUp()¶
-
test_bad_config()¶
-
test_bad_data()¶
-
test_inactive()¶
-
test_successful_config(*args, **keywargs)¶
-
test_successful_v1data(*args, **keywargs)¶
-
test_successful_v6data(*args, **keywargs)¶
-
-
class
recipe.test.test_views.TestRecipesViewV6(methodName='runTest')¶ Bases:
rest_framework.test.APITransactionTestCase-
api= u'v6'¶
-
setUp()¶
-
test_source_collection()¶ Tests successfully calling the recipes view filtered by source collection.
-
test_source_sensor()¶ Tests successfully calling the recipes view filtered by source sensor.
-
test_source_sensor_class()¶ Tests successfully calling the recipes view filtered by source sensor class.
-
test_source_task()¶ Tests successfully calling the recipes view filtered by source task.
-
test_source_time_successful()¶ Tests successfully calling the get recipes by source time
-
test_successful_all()¶ Tests getting recipes
-
test_successful_batch()¶ Tests getting recipes by batch id
-
test_successful_completed()¶ Tests getting completed recipes
-
test_successful_id()¶ Tests getting recipes by id
-
test_successful_order()¶ Tests ordering recipes
-
test_successful_recipe_type_id()¶ Tests getting recipes by type id
-
test_successful_recipe_type_name()¶ Tests getting recipes by type name
-
test_successful_superseded()¶ Tests getting superseded recipes
-
test_time_successful()¶ Tests successfully calling the get recipes by time
-
recipe.test.utils module¶
Defines utility methods for testing jobs and job types
-
recipe.test.utils.create_conditions(recipe_model, conditions)¶ Mimics effect of create_conditions_messages for unit testing
-
recipe.test.utils.create_input_file(recipe=None, input_file=None, recipe_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 recipe input file model for unit testing
Returns: The file model Return type: storage.models.ScaleFile
-
recipe.test.utils.create_jobs_for_recipe(recipe_model, recipe_jobs)¶ Mimics effect of create_jobs_messages_for_recipe for unit testing
-
recipe.test.utils.create_recipe(recipe_type=None, input=None, event=None, is_superseded=False, superseded=None, superseded_recipe=None, config=None, batch=None, save=True)¶ Creates a recipe for unit testing
Returns: The recipe model Return type: recipe.models.Recipe
-
recipe.test.utils.create_recipe_condition(root_recipe=None, recipe=None, batch=None, is_processed=None, is_accepted=None, save=False)¶ Creates a recipe_node model for unit testing
Parameters: - root_recipe (:class:'recipe.models.Recipe') – The root recipe containing the condition
- recipe (:class:'recipe.models.Recipe') – The recipe containing the condition
- batch (:class:'batch.models.Batch') – The batch
- is_processed (bool) – Whether the condition has been processed
- is_accepted (bool) – Whether the condition has been accepted
Returns: The recipe_node model
Return type:
-
recipe.test.utils.create_recipe_job(recipe=None, job_name=None, job=None)¶ Creates a job type model for unit testing
Parameters: - recipe (:class:'recipe.models.Recipe') – The associated recipe
- job_name (string) – The associated name for the recipe job
- job (:class:'job.models.Job') – The associated job
Returns: The recipe job model
Return type:
-
recipe.test.utils.create_recipe_node(recipe=None, node_name=None, condition=None, job=None, sub_recipe=None, save=False, is_original=True)¶ Creates a recipe_node model for unit testing
Parameters: - recipe (:class:'recipe.models.Recipe') – The recipe containing the node
- node_name (string) – The node name
- condition (:class:'recipe.models.RecipeCondition') – The condition in the node
- job (:class:'job.models.Job') – The job in the node
- sub_recipe (:class:'recipe.models.Recipe') – The recipe in the node
- save (bool) – Whether to save the model
- is_original (bool) – Whether the recipe node is original
Returns: The recipe_node model
Return type:
-
recipe.test.utils.create_recipe_type_v6(name=None, version=None, title=None, description=None, definition=None, is_active=None, is_system=None)¶ Creates a recipe type for unit testing
Returns: The RecipeType model Return type: recipe.models.RecipeType
-
recipe.test.utils.create_subrecipes(recipe_model, subrecipes)¶ Mimics effect of create_subrecipes_messages for unit testing
-
recipe.test.utils.edit_recipe_type_v6(recipe_type, title=None, description=None, definition=None, auto_update=True, is_active=True)¶ Updates the definition of a recipe type, including creating a new revision for unit testing
-
recipe.test.utils.generate_input_data_from_recipe(sub_recipe)¶ Generates the sub-recipe’s input data from its recipe dependencies and validates and sets the input data on the sub-recipe
Parameters: sub_recipe ( recipe.models.Recipe) – The sub-recipe with related recipe_type_rev and recipe__recipe_type_rev models:raises
data.data.exceptions.InvalidData: If the data is invalid
-
recipe.test.utils.generate_job_input_data_from_recipe(job)¶ Generates the job’s input data from its recipe dependencies and validates and sets the input data on the job
Parameters: job ( job.models.Job) – The job with related job_type_rev and recipe__recipe_type_rev models:raises
data.data.exceptions.InvalidData: If the data is invalid
-
recipe.test.utils.process_conditions(process_input_condition_ids)¶ Mimics effect of create_process_condition_messages for unit testing
-
recipe.test.utils.process_job_inputs(process_input_job_ids)¶ Mimics effect of create_process_job_input_messages for unit testing
-
recipe.test.utils.process_recipe_inputs(recipe_ids)¶ Mimics effect of process_recipe_input messages for unit testing
-
recipe.test.utils.queue_jobs(queued_jobs, requeue=False, priority=None)¶ Mimics effect of create_queued_jobs_messages for unit testing
-
recipe.test.utils.update_jobs_status(job_ids, when=datetime.datetime(2020, 8, 18, 12, 11, 29, 63854, tzinfo=<UTC>), status=u'BLOCKED')¶ Mimics effect of create_blocked_jobs_messages and create_pending_jobs_messages for unit testing
-
recipe.test.utils.update_recipe(root_recipe_id)¶ Mimics effect of update recipe messages for unit testing
-
recipe.test.utils.update_recipe_metrics(recipe_ids=[], job_ids=None)¶ Mimics effects of create_update_recipe_metrics_messages methods for unit testing