class MockPlaybookLoader(object): def __init__(self): self.playbook1 = Playbook( 'play1', workflows=[Workflow('work1'), Workflow('work2')]) self.playbook2 = Playbook( 'play2', workflows=[Workflow('work1'), Workflow('work3')]) def load_workflow(self, resource, workflow_name): if resource == 'play1' and self.playbook1.has_workflow_name( workflow_name): return resource, self.playbook1.get_workflow_by_name(workflow_name) elif resource == 'play2' and self.playbook2.has_workflow_name( workflow_name): return resource, self.playbook2.get_workflow_by_name(workflow_name) else: return None def load_playbook(self, resource): if resource == 'test1': return self.playbook1 elif resource == 'play2': return self.playbook2 else: return None def load_playbooks(self, resource_collection): return [self.playbook1, self.playbook2]
def test_rename_workflow_not_found(self): workflows = [MockWorkflow(i, i + 1) for i in range(3)] playbook = Playbook('test', workflows) playbook.rename_workflow('invalid', 'new_name') self.assertTrue(all( playbook.has_workflow_uid(uid) for uid in range(3))) self.assertFalse(playbook.has_workflow_name('invalid'))
def test_has_workflow_name_no_name(self): workflow = MockWorkflow('uid', 'wf_name') playbook = Playbook('test', [workflow]) self.assertFalse(playbook.has_workflow_name('invalid'))
def test_has_workflow_name(self): workflow = MockWorkflow('uid', 'wf_name') playbook = Playbook('test', [workflow]) self.assertTrue(playbook.has_workflow_name('wf_name'))
def test_has_workflow_name_no_workflows(self): playbook = Playbook('test', []) self.assertFalse(playbook.has_workflow_name('anything'))
def test_remove_workflow_by_name(self): workflows = [MockWorkflow(i, i + 1) for i in range(3)] playbook = Playbook('test', workflows) playbook.remove_workflow_by_name(2) self.assertEqual(len(playbook.workflows), 2) self.assertFalse(playbook.has_workflow_name(2))
def test_rename_workflow(self): workflows = [MockWorkflow(i, i + 1) for i in range(3)] playbook = Playbook('test', workflows) playbook.rename_workflow(3, 'new_name') self.assertTrue(playbook.has_workflow_name('new_name')) self.assertFalse(playbook.has_workflow_name(3))