diff --git a/pyoaev/contracts/contract_config.py b/pyoaev/contracts/contract_config.py index 07b9d6d..cc39dc0 100644 --- a/pyoaev/contracts/contract_config.py +++ b/pyoaev/contracts/contract_config.py @@ -40,6 +40,7 @@ class ContractFieldKey(str, Enum): class ContractOutputType(str, Enum): Text: str = "text" + ActionOutput: str = "action_output" Number: str = "number" Port: str = "port" PortsScan: str = "portscan" diff --git a/test/contracts/test_contract_output_types.py b/test/contracts/test_contract_output_types.py index 42c99ca..ed151b9 100644 --- a/test/contracts/test_contract_output_types.py +++ b/test/contracts/test_contract_output_types.py @@ -10,6 +10,13 @@ def test_file_wire_label(self): self.assertEqual(ContractOutputType.File.value, "file") self.assertEqual(ContractOutputType.File, "file") + def test_action_output_wire_label(self): + # The wire label is a public contract shared with the platform enum + # (io.openaev.database.model.ContractOutputType.ActionOutput); it must stay + # exactly "action_output". + self.assertEqual(ContractOutputType.ActionOutput.value, "action_output") + self.assertEqual(ContractOutputType.ActionOutput, "action_output") + if __name__ == "__main__": unittest.main()