def test_delete_specific_service(self): mongo_services = [service.Service(**h) for h in self.mongoconnection.shinken.services.find()] self.assertEqual(1, len(mongo_services)) self.delete( '/v2/config/hosts/bogus-router/services/service-example' ) mongo_services = [service.Service(**h) for h in self.mongoconnection.shinken.services.find()] self.assertEqual(0, len(mongo_services))
def get(self, host_name, service_description): """Return a service.""" mongo_s = self.request.mongo_connection.shinken.services.find_one( {"host_name": host_name, "service_description": service_description} ) return service.Service(**mongo_s)
def get_all(self, host_name=None): """Return all services.""" filters = {"register": {"$ne": "0"}} if host_name is not None: filters['host_name'] = host_name services = [ s for s in self.request.mongo_connection. # Don't return templates shinken.services.find(filters) ] return [service.Service(**s) for s in services]
def test_add_service(self): new_service = { "host_name": "SOMEHOSTNAME", "service_description": "check-new-thing", "check_command": "check-disk!/dev/sdb1", "max_check_attempts": 5, "check_interval": 5, "retry_interval": 3, "check_period": "24x7", "notification_interval": 30, "notification_period": "24x7", "contacts": "surveil-ptl,surveil-bob", "contact_groups": "linux-admins" } response = self.post_json("/v2/config/services", params=new_service) services = [ service.Service(**s).as_dict() for s in self.mongoconnection.shinken.services.find() ] self.assertTrue(new_service in services) self.assertEqual(response.status_int, 201)