def run_check(self, force=False): if not self.should_run_check() and not force: return # Initialize the log instance log = CheckLog(check=self) status_extra = [] # Send check check_result = monitoring.check_http_header(self.target, self.status_code) if check_result['valid']: status_extra.append("Received status {}.".format(check_result['status_code'])) if check_result['status_ok']: if self.content_check_string.strip(): check_result = monitoring.check_http_content(self.target, self.content_check_string.strip()) if check_result['status_ok']: status_extra.append("String found.") log.status = 0 else: status_extra.append("String not found.") log.status = 1 else: log.status = 0 else: log.status = 1 else: status_extra.append(check_result['error']) log.status = 2 log.status_extra = ' '.join(status_extra) log.save()
def test_empty_content(self): res = monitoring.check_http_content('http://httpbin.org/status/404') self.assertTrue(res['valid']) self.assertTrue(res['status_ok'])
def test_not_found_content(self): res = monitoring.check_http_content('http://josetomastocino.com', 'gay') self.assertTrue(res['valid']) self.assertFalse(res['status_ok'])
def test_bad_host(self): res = monitoring.check_http_content('http://josetomasitotocinito.com') self.assertFalse(res['valid'])