Merge jenkins-agent-charm:write-default-bug into jenkins-agent-charm:master

Proposed by Alexandre Gomes
Status: Merged
Approved by: Tom Haddon
Approved revision: d0cf9e96c3bd2e5df2421fa4d663ea2f5680d8ab
Merged at revision: fbb7b371b188e4af787a2b264313684e7308e649
Proposed branch: jenkins-agent-charm:write-default-bug
Merge into: jenkins-agent-charm:master
Diff against target: 42 lines (+19/-1)
2 files modified
reactive/jenkins_slave.py (+1/-1)
tests/unit/test_jenkins_slave.py (+18/-0)
Reviewer Review Type Date Requested Status
Tom Haddon Approve
Canonical IS Reviewers Pending
Review via email: mp+401491@code.launchpad.net

Commit message

Fix template rendering when using default conf

To post a comment you must log in.
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

This merge proposal is being monitored by mergebot. Change the status to Approved to merge.

Revision history for this message
Tom Haddon (mthaddon) wrote :

Would be good to test this. How about something like https://paste.ubuntu.com/p/ZNvfmRwfQB/ ?

Revision history for this message
Tom Haddon (mthaddon) wrote :

LGTM, thx

review: Approve
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision fbb7b371b188e4af787a2b264313684e7308e649

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/reactive/jenkins_slave.py b/reactive/jenkins_slave.py
2index be3b256..314fbd0 100644
3--- a/reactive/jenkins_slave.py
4+++ b/reactive/jenkins_slave.py
5@@ -96,7 +96,7 @@ def configure_jenkins_slave():
6 write_default_conf(config.get('master_url'))
7 elif kv.get('url'):
8 status.maintenance("Using url from relation as 'master_url'")
9- write_default_conf(kv.get('url'), kv.get('secret'))
10+ write_default_conf(kv.get('url'), secret=kv.get('secret'))
11 else:
12 status.maintenance("No 'master_url' set; not configuring slave at this time.")
13 status.blocked("requires either slave relation or 'master_url'")
14diff --git a/tests/unit/test_jenkins_slave.py b/tests/unit/test_jenkins_slave.py
15index a0c1677..1300c73 100644
16--- a/tests/unit/test_jenkins_slave.py
17+++ b/tests/unit/test_jenkins_slave.py
18@@ -222,6 +222,24 @@ class TestSetDefaultConf(unittest.TestCase):
19 unitdata_kv.return_value = {'url': 'http://10.22.22.22:8080'}
20 jenkins_slave.configure_jenkins_slave()
21 self.assertTrue(write_default_conf.called_once_with('http://10.22.22.22:8080'))
22+ self.assertEqual(write_default_conf.call_args_list, [mock.call('http://10.22.22.22:8080', secret=None)])
23+ self.assertFalse(set_flag.assert_has_calls([mock.call('jenkins-slave.configured')], any_order=True))
24+ expected = [mock.call('jenkins-slave.active'), mock.call('nagios-nrpe.configured')]
25+ self.assertFalse(clear_flag.assert_has_calls(expected, any_order=True))
26+
27+ @mock.patch('charms.reactive.clear_flag')
28+ @mock.patch('charms.reactive.set_flag')
29+ @mock.patch('charmhelpers.core.hookenv.config')
30+ @mock.patch('charmhelpers.core.unitdata.kv')
31+ @mock.patch('reactive.jenkins_slave.write_default_conf')
32+ @mock.patch('reactive.jenkins_slave.file_to_units')
33+ def test_configure_jenkins_slave_relation_url_with_secret(
34+ self, file_to_units, write_default_conf, unitdata_kv, config, set_flag, clear_flag
35+ ):
36+ config.return_value = {}
37+ unitdata_kv.return_value = {'url': 'http://10.22.22.22:8080', 'secret': 'sekrit'}
38+ jenkins_slave.configure_jenkins_slave()
39+ self.assertEqual(write_default_conf.call_args_list, [mock.call('http://10.22.22.22:8080', secret='sekrit')])
40 self.assertFalse(set_flag.assert_has_calls([mock.call('jenkins-slave.configured')], any_order=True))
41 expected = [mock.call('jenkins-slave.active'), mock.call('nagios-nrpe.configured')]
42 self.assertFalse(clear_flag.assert_has_calls(expected, any_order=True))

Subscribers

People subscribed via source and target branches

to all changes: