~charmers/charms/trusty/squid-reverseproxy/trunk

« back to all changes in this revision

Viewing changes to hooks/tests/test_nrpe_hooks.py

  • Committer: Charles Butler
  • Date: 2015-01-20 17:04:40 UTC
  • mfrom: (50.1.1 squid-cs)
  • Revision ID: charles.butler@ubuntu.com-20150120170440-b8tujw5bxudr8bet
    [r=lazypower] Jacek Nykis 2014-12-22 [merge] Fix nrpe check to work with non default port number
    Jacek Nykis 2014-12-22 Fix tests
    Jacek Nykis 2014-12-22 Fix monitoring when squid is running on non default port

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
    """
23
23
    patches = {
24
24
        'config': {'object': nrpe},
 
25
        'config_get': {'object': hooks},
25
26
        'log': {'object': nrpe},
26
27
        'getpwnam': {'object': pwd},
27
28
        'getgrnam': {'object': grp},
56
57
            self.assertEqual(expected, patcher.call_count, attr)
57
58
 
58
59
    def test_update_nrpe_no_nagios_bails(self):
59
 
        config = {'nagios_context': 'test'}
 
60
        config = {
 
61
            'nagios_context': 'test',
 
62
            'port': 8080,
 
63
        }
60
64
        self.patched['config'].return_value = Serializable(config)
 
65
        self.patched['config_get'].return_value = Serializable(config)
61
66
        self.patched['getpwnam'].side_effect = KeyError
62
67
 
63
68
        self.assertEqual(None, hooks.update_nrpe_checks())
70
75
        config = {
71
76
            'nagios_context': 'test',
72
77
            'nagios_check_http_params': '-u http://example.com/url',
 
78
            'port': 8080,
73
79
        }
74
80
        self.patched['config'].return_value = Serializable(config)
 
81
        self.patched['config_get'].return_value = Serializable(config)
75
82
        self.patched['exists'].return_value = True
76
83
        self.patched['listdir'].return_value = [
77
84
            'foo', 'bar.cfg', 'check_squidrp.cfg']
86
93
    def test_update_nrpe_uses_check_squidpeers(self):
87
94
        config = {
88
95
            'nagios_context': 'test',
 
96
            'port': '8080',
89
97
        }
90
98
        self.patched['config'].return_value = Serializable(config)
 
99
        self.patched['config_get'].return_value = Serializable(config)
91
100
        self.patched['exists'].return_value = True
92
101
        self.patched['isfile'].return_value = False
93
102
 
115
124
             call().__enter__().write('# check squidpeers\n'),
116
125
             call().__enter__().write(
117
126
                 'command[check_squidpeers]='
118
 
                 '/check_squidpeers\n')],
 
127
                 '/check_squidpeers -p 8080\n')],
119
128
            any_order=True)
120
129
 
121
130
        self.check_call_counts(config=1, getpwnam=1, getgrnam=1,
125
134
        config = {
126
135
            'nagios_context': 'test',
127
136
            'nagios_check_http_params': '-u foo -H bar',
 
137
            'port': '8080',
128
138
        }
129
139
        self.patched['config'].return_value = Serializable(config)
 
140
        self.patched['config_get'].return_value = Serializable(config)
130
141
        self.patched['exists'].return_value = True
131
142
        self.patched['isfile'].return_value = False
132
143
 
163
174
        config = {
164
175
            'nagios_context': 'test',
165
176
            'services': '- {service_name: i_ytimg_com}',
 
177
            'port': '8080',
166
178
        }
167
179
        self.patched['config'].return_value = Serializable(config)
 
180
        self.patched['config_get'].return_value = Serializable(config)
168
181
        self.patched['exists'].return_value = True
169
182
 
170
183
        self.assertEqual(None, hooks.update_nrpe_checks())
176
189
        config = {
177
190
            'nagios_context': 'test',
178
191
            'services': '- {service_name: i_ytimg_com, nrpe_check_path: /}',
 
192
            'port': '8080',
179
193
        }
180
194
        self.patched['config'].return_value = Serializable(config)
 
195
        self.patched['config_get'].return_value = Serializable(config)
181
196
        self.patched['exists'].return_value = True
182
197
 
183
198
        self.assertEqual(None, hooks.update_nrpe_checks())
196
211
        config = {
197
212
            'nagios_context': 'test',
198
213
            'services': '- {service_name: i.ytimg.com, nrpe_check_path: /}',
 
214
            'port': '8080',
199
215
        }
200
216
        self.patched['config'].return_value = Serializable(config)
 
217
        self.patched['config_get'].return_value = Serializable(config)
201
218
        self.patched['exists'].return_value = True
202
219
 
203
220
        self.assertEqual(None, hooks.update_nrpe_checks())
217
234
            'nagios_context': 'test',
218
235
            'x_balancer_name_allowed': True,
219
236
            'services': '- {service_name: i_ytimg_com, nrpe_check_path: /}',
 
237
            'port': '8080',
220
238
        }
221
239
        self.patched['config'].return_value = Serializable(config)
 
240
        self.patched['config_get'].return_value = Serializable(config)
222
241
        self.patched['exists'].return_value = True
223
242
 
224
243
        self.assertEqual(None, hooks.update_nrpe_checks())
239
258
        config = {
240
259
            'nagios_context': 'test',
241
260
            'services': services,
 
261
            'port': '8080',
242
262
        }
243
263
        self.patched['config'].return_value = Serializable(config)
 
264
        self.patched['config_get'].return_value = Serializable(config)
244
265
        self.patched['exists'].return_value = True
245
266
 
246
267
        self.assertEqual(None, hooks.update_nrpe_checks())
261
282
        config = {
262
283
            'nagios_context': 'test',
263
284
            'services': services,
 
285
            'port': '8080',
264
286
        }
265
287
        self.patched['config'].return_value = Serializable(config)
 
288
        self.patched['config_get'].return_value = Serializable(config)
266
289
        self.patched['exists'].return_value = True
267
290
 
268
291
        self.assertEqual(None, hooks.update_nrpe_checks())
280
303
    def test_update_nrpe_restarts_service(self):
281
304
        config = {
282
305
            'nagios_context': 'test',
283
 
            'nagios_check_http_params': '-u foo -p 3128'
 
306
            'nagios_check_http_params': '-u foo -p 3128',
 
307
            'port': '8080',
284
308
        }
285
309
        self.patched['config'].return_value = Serializable(config)
 
310
        self.patched['config_get'].return_value = Serializable(config)
286
311
        self.patched['exists'].return_value = True
287
312
 
288
313
        self.assertEqual(None, hooks.update_nrpe_checks())