Use playbooks defined in repos
This replaces the stubbed-out 'hello world' Ansible playbook with
an implementation which actually runs the corresponding playbook
defined in the repo where the job is defined.
Change-Id: I73a6b3b067c7d61bb2a2b2140ab98c4944a6adfe
Story: 2000772
diff --git a/tests/unit/test_model.py b/tests/unit/test_model.py
index 0189340..db98d14 100644
--- a/tests/unit/test_model.py
+++ b/tests/unit/test_model.py
@@ -56,7 +56,7 @@
pipeline = model.Pipeline('gate', layout)
layout.addPipeline(pipeline)
queue = model.ChangeQueue(pipeline)
- project = model.Project('project')
+ project = model.Project('project', None)
base = configloader.JobParser.fromYaml(layout, {
'_source_project': project,
@@ -122,7 +122,7 @@
def test_job_auth_inheritance(self):
layout = model.Layout()
- project = model.Project('project')
+ project = model.Project('project', None)
base = configloader.JobParser.fromYaml(layout, {
'_source_project': project,
@@ -201,7 +201,7 @@
pipeline = model.Pipeline('gate', layout)
layout.addPipeline(pipeline)
queue = model.ChangeQueue(pipeline)
- project = model.Project('project')
+ project = model.Project('project', None)
base = configloader.JobParser.fromYaml(layout, {
'_source_project': project,
@@ -271,7 +271,7 @@
pipeline = model.Pipeline('gate', layout)
layout.addPipeline(pipeline)
queue = model.ChangeQueue(pipeline)
- project = model.Project('project')
+ project = model.Project('project', None)
base = configloader.JobParser.fromYaml(layout, {
'_source_project': project,
@@ -312,14 +312,14 @@
def test_job_source_project(self):
layout = model.Layout()
- base_project = model.Project('base_project')
+ base_project = model.Project('base_project', None)
base = configloader.JobParser.fromYaml(layout, {
'_source_project': base_project,
'name': 'base',
})
layout.addJob(base)
- other_project = model.Project('other_project')
+ other_project = model.Project('other_project', None)
base2 = configloader.JobParser.fromYaml(layout, {
'_source_project': other_project,
'name': 'base',
diff --git a/tests/unit/test_v3.py b/tests/unit/test_v3.py
index 8853302..96f24a1 100644
--- a/tests/unit/test_v3.py
+++ b/tests/unit/test_v3.py
@@ -98,8 +98,16 @@
- project-test2
""")
+ in_repo_playbook = textwrap.dedent(
+ """
+ - hosts: all
+ tasks: []
+ """)
+
+ file_dict = {'.zuul.yaml': in_repo_conf,
+ 'playbooks/project-test2.yaml': in_repo_playbook}
A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A',
- files={'.zuul.yaml': in_repo_conf})
+ files=file_dict)
A.addApproval('code-review', 2)
self.fake_gerrit.addEvent(A.addApproval('approved', 1))
self.waitUntilSettled()
@@ -110,3 +118,16 @@
"A should report start and success")
self.assertIn('tenant-one-gate', A.messages[1],
"A should transit tenant-one gate")
+
+
+class TestAnsible(AnsibleZuulTestCase):
+ # A temporary class to hold new tests while others are disabled
+
+ tenant_config_file = 'config/ansible/main.yaml'
+
+ def test_playbook(self):
+ A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
+ self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1))
+ self.waitUntilSettled()
+ self.assertEqual(self.getJobFromHistory('python27').result,
+ 'SUCCESS')