diff --git a/test/server-client/Boardwalkfile.py b/test/server-client/Boardwalkfile.py index b4f420b..692601a 100644 --- a/test/server-client/Boardwalkfile.py +++ b/test/server-client/Boardwalkfile.py @@ -3,7 +3,7 @@ import os from typing import TYPE_CHECKING -from boardwalk import Job, Workflow, Workspace, WorkspaceConfig +from boardwalk import Job, path, Workflow, Workspace, WorkspaceConfig if TYPE_CHECKING: from boardwalk import AnsibleTasksType @@ -39,6 +39,14 @@ def config(self): ) +class MalformedYAMLWorkspace(Workspace): + def config(self): + return WorkspaceConfig( + host_pattern="localhost", + workflow=MalformedYAMLWorkflow(), + ) + + class UITestVeryLongWorkflowNameWorkflow(Workflow): def jobs(self): return TestJob() @@ -54,6 +62,14 @@ def jobs(self): return FailTestJob() +class MalformedYAMLWorkflow(Workflow): + def jobs(self): + return MalformedYAMLJob() + + def exit_jobs(self): + return TestJob() + + class TestJob(Job): def tasks(self) -> AnsibleTasksType: return [{"debug": {"msg": "hello test"}}] @@ -62,3 +78,12 @@ def tasks(self) -> AnsibleTasksType: class FailTestJob(Job): def tasks(self) -> AnsibleTasksType: return [{"fail": {"msg": "failed successfully"}}] + + +class MalformedYAMLJob(Job): + """ + Tests a playbook that has malformed YAML + """ + + def tasks(self) -> AnsibleTasksType: + return [{"import_tasks": path("malformed_playbook.yml")}] diff --git a/test/server-client/malformed_playbook.yml b/test/server-client/malformed_playbook.yml new file mode 100644 index 0000000..a8795fc --- /dev/null +++ b/test/server-client/malformed_playbook.yml @@ -0,0 +1,3 @@ +--- +- debug: + msg: "Should" fail because yaml string values should be equally quoted on both ends