fireworks.tests package¶
Submodules¶
fireworks.tests.master_tests module¶
Master tests for FireWorks - generally used to ensure that installation was completed properly.
- class fireworks.tests.master_tests.BasicTests(methodName='runTest')¶
Bases:
TestCaseMake sure that required external libraries can be imported.
fireworks.tests.mongo_tests module¶
- class fireworks.tests.mongo_tests.AppendWFActionTask(*args, **kwargs)¶
Bases:
FiretaskBase- required_params = ['fw_name', 'tag', 'val', 'inputs', 'output', 'parents']¶
- run_task(fw_spec)¶
This method gets called when the Firetask is run. It can take in a Firework spec, perform some task using that data, and then return an output in the form of a FWAction.
- Parameters:
fw_spec (dict) – A Firework spec. This comes from the master spec. In addition, this spec contains a special “_fw_env” key that contains the env settings of the FWorker calling this method. This provides for abstracting out certain commands or settings. For example, “foo” may be named “foo1” in resource 1 and “foo2” in resource 2. The FWorker env can specify { “foo”: “foo1”}, which maps an abstract variable “foo” to the relevant “foo1” or “foo2”. You can then write a task that uses fw_spec[“_fw_env”][“foo”] that will work across all these multiple resources.
- Returns:
(FWAction)
- class fireworks.tests.mongo_tests.ModSpecTask(*args, **kwargs)¶
Bases:
FiretaskBase- run_task(fw_spec)¶
This method gets called when the Firetask is run. It can take in a Firework spec, perform some task using that data, and then return an output in the form of a FWAction.
- Parameters:
fw_spec (dict) – A Firework spec. This comes from the master spec. In addition, this spec contains a special “_fw_env” key that contains the env settings of the FWorker calling this method. This provides for abstracting out certain commands or settings. For example, “foo” may be named “foo1” in resource 1 and “foo2” in resource 2. The FWorker env can specify { “foo”: “foo1”}, which maps an abstract variable “foo” to the relevant “foo1” or “foo2”. You can then write a task that uses fw_spec[“_fw_env”][“foo”] that will work across all these multiple resources.
- Returns:
(FWAction)
- class fireworks.tests.mongo_tests.MongoTests(methodName='runTest')¶
Bases:
TestCase- classmethod setUpClass() None¶
Hook method for setting up class fixture before running tests in the class.
- class fireworks.tests.mongo_tests.MultipleDetourTask(*args, **kwargs)¶
Bases:
FiretaskBase- run_task(fw_spec)¶
This method gets called when the Firetask is run. It can take in a Firework spec, perform some task using that data, and then return an output in the form of a FWAction.
- Parameters:
fw_spec (dict) – A Firework spec. This comes from the master spec. In addition, this spec contains a special “_fw_env” key that contains the env settings of the FWorker calling this method. This provides for abstracting out certain commands or settings. For example, “foo” may be named “foo1” in resource 1 and “foo2” in resource 2. The FWorker env can specify { “foo”: “foo1”}, which maps an abstract variable “foo” to the relevant “foo1” or “foo2”. You can then write a task that uses fw_spec[“_fw_env”][“foo”] that will work across all these multiple resources.
- Returns:
(FWAction)
- class fireworks.tests.mongo_tests.SummationTask(*args, **kwargs)¶
Bases:
FiretaskBase- required_params = ['inputs', 'output']¶
- run_task(fw_spec)¶
This method gets called when the Firetask is run. It can take in a Firework spec, perform some task using that data, and then return an output in the form of a FWAction.
- Parameters:
fw_spec (dict) – A Firework spec. This comes from the master spec. In addition, this spec contains a special “_fw_env” key that contains the env settings of the FWorker calling this method. This provides for abstracting out certain commands or settings. For example, “foo” may be named “foo1” in resource 1 and “foo2” in resource 2. The FWorker env can specify { “foo”: “foo1”}, which maps an abstract variable “foo” to the relevant “foo1” or “foo2”. You can then write a task that uses fw_spec[“_fw_env”][“foo”] that will work across all these multiple resources.
- Returns:
(FWAction)
- class fireworks.tests.mongo_tests.UpdateSpecTask(*args, **kwargs)¶
Bases:
FiretaskBase- run_task(fw_spec)¶
This method gets called when the Firetask is run. It can take in a Firework spec, perform some task using that data, and then return an output in the form of a FWAction.
- Parameters:
fw_spec (dict) – A Firework spec. This comes from the master spec. In addition, this spec contains a special “_fw_env” key that contains the env settings of the FWorker calling this method. This provides for abstracting out certain commands or settings. For example, “foo” may be named “foo1” in resource 1 and “foo2” in resource 2. The FWorker env can specify { “foo”: “foo1”}, which maps an abstract variable “foo” to the relevant “foo1” or “foo2”. You can then write a task that uses fw_spec[“_fw_env”][“foo”] that will work across all these multiple resources.
- Returns:
(FWAction)
fireworks.tests.multiprocessing_tests module¶
- class fireworks.tests.multiprocessing_tests.TestCheckoutFW(methodName='runTest')¶
Bases:
TestCase- lp = None¶
- classmethod setUpClass() None¶
Hook method for setting up class fixture before running tests in the class.
- class fireworks.tests.multiprocessing_tests.TestEarlyExit(methodName='runTest')¶
Bases:
TestCase- lp = None¶
- classmethod setUpClass() None¶
Hook method for setting up class fixture before running tests in the class.
fireworks.tests.tasks module¶
TODO: Modify module doc.
- class fireworks.tests.tasks.DummyFWEnvTask(*args, **kwargs)¶
Bases:
FiretaskBase- run_task(fw_spec)¶
This method gets called when the Firetask is run. It can take in a Firework spec, perform some task using that data, and then return an output in the form of a FWAction.
- Parameters:
fw_spec (dict) – A Firework spec. This comes from the master spec. In addition, this spec contains a special “_fw_env” key that contains the env settings of the FWorker calling this method. This provides for abstracting out certain commands or settings. For example, “foo” may be named “foo1” in resource 1 and “foo2” in resource 2. The FWorker env can specify { “foo”: “foo1”}, which maps an abstract variable “foo” to the relevant “foo1” or “foo2”. You can then write a task that uses fw_spec[“_fw_env”][“foo”] that will work across all these multiple resources.
- Returns:
(FWAction)
- class fireworks.tests.tasks.DummyJobPassTask(*args, **kwargs)¶
Bases:
FiretaskBase- run_task(fw_spec)¶
This method gets called when the Firetask is run. It can take in a Firework spec, perform some task using that data, and then return an output in the form of a FWAction.
- Parameters:
fw_spec (dict) – A Firework spec. This comes from the master spec. In addition, this spec contains a special “_fw_env” key that contains the env settings of the FWorker calling this method. This provides for abstracting out certain commands or settings. For example, “foo” may be named “foo1” in resource 1 and “foo2” in resource 2. The FWorker env can specify { “foo”: “foo1”}, which maps an abstract variable “foo” to the relevant “foo1” or “foo2”. You can then write a task that uses fw_spec[“_fw_env”][“foo”] that will work across all these multiple resources.
- Returns:
(FWAction)
- class fireworks.tests.tasks.DummyLPTask(*args, **kwargs)¶
Bases:
FiretaskBase- run_task(fw_spec)¶
This method gets called when the Firetask is run. It can take in a Firework spec, perform some task using that data, and then return an output in the form of a FWAction.
- Parameters:
fw_spec (dict) – A Firework spec. This comes from the master spec. In addition, this spec contains a special “_fw_env” key that contains the env settings of the FWorker calling this method. This provides for abstracting out certain commands or settings. For example, “foo” may be named “foo1” in resource 1 and “foo2” in resource 2. The FWorker env can specify { “foo”: “foo1”}, which maps an abstract variable “foo” to the relevant “foo1” or “foo2”. You can then write a task that uses fw_spec[“_fw_env”][“foo”] that will work across all these multiple resources.
- Returns:
(FWAction)
fireworks.tests.test_deserialization module¶
Tests for deserialization failures and DB env var override behavior.
- class fireworks.tests.test_deserialization.FakeBadTask¶
Bases:
objectMinimal task-like stub whose serialization points to a non-existent class/module.
- fireworks.tests.test_deserialization.lpad() Generator[LaunchPad, None, None]¶
Create a clean test database, yield LaunchPad, then drop the database.
- fireworks.tests.test_deserialization.test_fizzle_on_deserialization_failure(lpad: LaunchPad, tmp_path) None¶
Test basic deserialization failure handling.
Verifies that a FW whose task cannot be deserialized is marked FIZZLED and that exception details are recorded in the spec for debugging. Tests firework-level behavior.
- fireworks.tests.test_deserialization.test_queue_skips_bad_and_runs_next(lpad: LaunchPad, tmp_path) None¶
Test queue behavior with deserialization failures.
Verifies that if the top-priority FW fails to deserialize, it is marked as FIZZLED and the queue doesn’t get stuck—it moves on to process the next available FW. Ensures the queue remains operational despite bad FWs.
- fireworks.tests.test_deserialization.test_workflow_state_updated_on_deserialization_failure(lpad: LaunchPad, tmp_path) None¶
Test database consistency after deserialization failures.
Verifies that when a FW fails deserialization, the workflow collection is properly updated with both workflows.state=”FIZZLED” and workflows.fw_states.{fw_id}=”FIZZLED”. Uses direct MongoDB queries (not LaunchPad API) to ensure _refresh_wf() correctly updates both fields, preventing database inconsistencies.
fireworks.tests.test_fw_config module¶
fireworks.tests.test_workflow module¶
- class fireworks.tests.test_workflow.TestWorkflowState(methodName='runTest')¶
Bases:
TestCase