def test_positions_save(self): monitor_position1 = Monitor(label='position1', url=SERVICE_URL, monitor_type='TextMonitor', data={'expected': 'LIVE'}) monitor_position1.save() monitor_position0 = Monitor(label='position0', url=SERVICE_URL, monitor_type='TextMonitor', data={'expected': 'LIVE'}) monitor_position0.save() body = json_encode({ 'monitors': ['position0', 'position1'] }) self.fetch('/api/monitors/positions', method='POST', body=body) monitor = Monitor() monitor.load('position1') self.assertEqual(monitor.get_position(), 1) monitor = Monitor() monitor.load('position0') self.assertEqual(monitor.get_position(), 0)
def delete(self, label): monitor = Monitor() monitor.load(label) application.info("removing monitor %s" % label) self.success({"monitor": monitor.get_attributes(), "destroy": monitor.destroy()})
def post(self): json_request = json_decode(self.request.body) for index, label in enumerate(json_request['monitors']): monitor = Monitor() monitor.load(label) monitor.position = index monitor.save() self.success(json_request)
def get(self, label): monitor = Monitor() monitor.load(label) alive = check_alive(monitor.monitor_type, monitor.url, **monitor.data) self.success({"monitor": monitor.get_attributes(), "alive": alive})
def delete(self, label): monitor = Monitor() monitor.load(label) self.success({"monitor": monitor.get_attributes(), "destroy": monitor.destroy()})