class TestingEventProducerResourceOnGet(TenantApiTestBase): def _set_resource(self): self.resource = EventProducerResource() self.test_route = '/v1/tenant/{tenant_id}' \ '/producers/{event_producer_id}' self.api.add_route(self.test_route, self.resource) def test_return_404_for_tenant_not_found(self): with patch('meniscus.api.tenant.resources.tenant_util.find_tenant', self.tenant_not_found): self.simulate_request( self.test_route, method='GET') self.assertEqual(falcon.HTTP_404, self.srmock.status) def test_return_404_for_producer_not_found(self): with patch('meniscus.api.tenant.resources.tenant_util.find_tenant', self.tenant_found): self.simulate_request( '/v1/tenant/{tenant_id}/producers/{event_producer_id}'.format( tenant_id=self.tenant_id, event_producer_id=self.not_valid_producer_id ), method='GET') self.assertEqual(falcon.HTTP_404, self.srmock.status) def test_should_return_200_on_get(self): with patch('meniscus.api.tenant.resources.tenant_util.find_tenant', self.tenant_found): self.simulate_request( '/v1/tenant/{tenant_id}/producers/{event_producer_id}'.format( tenant_id=self.tenant_id, event_producer_id=self.producer_id ), method='GET') self.assertEqual(falcon.HTTP_200, self.srmock.status) def test_should_return_producer_json(self): with patch('meniscus.api.tenant.resources.tenant_util.find_tenant', self.tenant_found): self.resource.on_get(self.req, self.resp, self.tenant_id, self.producer_id) parsed_body = jsonutils.loads(self.resp.body) parsed_producer = parsed_body['event_producer'] producer_dict = [p.format() for p in self.producers if p._id == self.producer_id][0] for key in producer_dict: self.assertEqual(producer_dict[key], parsed_producer[key])
class TestingEventProducerResourceOnGet(TenantApiTestBase): def _set_resource(self): self.resource = EventProducerResource(self.db_handler) self.test_route = '/v1/tenant/{tenant_id}' \ '/producers/{event_producer_id}' self.api.add_route(self.test_route, self.resource) def test_return_404_for_tenant_not_found(self): with patch('meniscus.api.tenant.resources.find_tenant', self.tenant_not_found): self.simulate_request(self.test_route, method='GET') self.assertEqual(falcon.HTTP_404, self.srmock.status) def test_return_404_for_producer_not_found(self): with patch('meniscus.api.tenant.resources.find_tenant', self.tenant_found): self.simulate_request( '/v1/tenant/{tenant_id}/producers/{event_producer_id}'.format( tenant_id=self.tenant_id, event_producer_id=self.not_valid_producer_id), method='GET') self.assertEqual(falcon.HTTP_404, self.srmock.status) def test_should_return_200_on_get(self): with patch('meniscus.api.tenant.resources.find_tenant', self.tenant_found): self.simulate_request( '/v1/tenant/{tenant_id}/producers/{event_producer_id}'.format( tenant_id=self.tenant_id, event_producer_id=self.producer_id), method='GET') self.assertEqual(falcon.HTTP_200, self.srmock.status) def test_should_return_producer_json(self): with patch('meniscus.api.tenant.resources.find_tenant', self.tenant_found): self.resource.on_get(self.req, self.resp, self.tenant_id, self.producer_id) parsed_body = jsonutils.loads(self.resp.body) parsed_producer = parsed_body['event_producer'] producer_dict = [ p.format() for p in self.producers if p._id == self.producer_id ][0] for key in producer_dict: self.assertEqual(producer_dict[key], parsed_producer[key])
def start_up(): #Common Resource(s) versions = VersionResource() #Datastore adapter/session manager datastore = datasource_handler(COORDINATOR_DB) #Coordinator Resources worker_registration = WorkerRegistrationResource(datastore) workers_status = WorkersStatusResource(datastore) worker_status = WorkerStatusResource(datastore) #Tenant Resources tenant = TenantResource(datastore) user = UserResource(datastore) event_producers = EventProducersResource(datastore) event_producer = EventProducerResource(datastore) token = TokenResource(datastore) # Create API application = api = falcon.API() # Common Routing api.add_route('/', versions) # Coordinator Routing api.add_route('/v1/pairing', worker_registration) api.add_route('/v1/worker/{worker_id}/status', worker_status) api.add_route('/v1/status', workers_status) # Tenant Routing api.add_route('/v1/tenant', tenant) api.add_route('/v1/tenant/{tenant_id}', user) api.add_route('/v1/tenant/{tenant_id}/producers', event_producers) api.add_route('/v1/tenant/{tenant_id}/producers/{event_producer_id}', event_producer) api.add_route('/v1/tenant/{tenant_id}/token', token) return application
def start_up(): #Common Resource(s) versions = VersionResource() #Datastore adapter/session manager datastore = datasource_handler(COORDINATOR_DB) #Tenant Resources tenant = TenantResource(datastore) user = UserResource(datastore) event_producers = EventProducersResource(datastore) event_producer = EventProducerResource(datastore) token = TokenResource(datastore) # Create API application = api = falcon.API() # Version Routing api.add_route('/', versions) # Tenant Routing api.add_route('/v1/tenant', tenant) api.add_route('/v1/tenant/{tenant_id}', user) api.add_route('/v1/tenant/{tenant_id}/producers', event_producers) api.add_route('/v1/tenant/{tenant_id}/producers/{event_producer_id}', event_producer) api.add_route('/v1/tenant/{tenant_id}/token', token) celery.conf.CELERYBEAT_SCHEDULE = { 'worker_stats': { 'task': 'stats.publish', 'schedule': timedelta(seconds=publish_stats.WORKER_STATUS_INTERVAL) }, } #include blank argument to celery in order for beat to start correctly celery_proc = Process(target=celery.worker_main, args=[['', '--beat']]) celery_proc.start() _LOG.info('Celery started as process: {}'.format(celery_proc.pid)) return application
def start_up(): #Common Resource(s) versions = VersionResource() #Coordinator Resources workers_status = WorkersStatusResource() worker_status = WorkerStatusResource() #Tenant Resources tenant = TenantResource() user = UserResource() event_producers = EventProducersResource() event_producer = EventProducerResource() token = TokenResource() # Create API application = api = falcon.API() # Common Routing api.add_route('/', versions) api.add_route('/v1/worker/{hostname}/status', worker_status) api.add_route('/v1/status', workers_status) # Tenant Routing api.add_route('/v1/tenant', tenant) api.add_route('/v1/tenant/{tenant_id}', user) api.add_route('/v1/tenant/{tenant_id}/producers', event_producers) api.add_route('/v1/tenant/{tenant_id}/producers/{event_producer_id}', event_producer) api.add_route('/v1/tenant/{tenant_id}/token', token) celery_proc = Process(target=celery.worker_main) celery_proc.start() _LOG.info('Celery started as process: {}'.format(celery_proc.pid)) return application
_LOG = env.get_logger(__name__) #Common Resource(s) versions = VersionResource() #Coordinator Resources db_handler = datasource_handler(COORDINATOR_DB) worker_registration = WorkerRegistrationResource(db_handler) workers_status = WorkersStatusResource(db_handler) worker_status = WorkerStatusResource(db_handler) #Tenant Resources tenant = TenantResource(db_handler) user = UserResource(db_handler) event_producers = EventProducersResource(db_handler) event_producer = EventProducerResource(db_handler) token = TokenResource(db_handler) # Create API application = api = falcon.API() # Common Routing api.add_route('/', versions) # Coordinator Routing api.add_route('/v1/pairing', worker_registration) api.add_route('/v1/worker/{worker_id}/status', worker_status) api.add_route('/v1/status', workers_status) # Tenant Routing
def _set_resource(self): self.resource = EventProducerResource(self.db_handler) self.test_route = '/v1/tenant/{tenant_id}' \ '/producers/{event_producer_id}' self.api.add_route(self.test_route, self.resource)
def _set_resource(self): self.resource = EventProducerResource() self.test_route = '/v1/tenant/{tenant_id}' \ '/producers/{event_producer_id}' self.api.add_route(self.test_route, self.resource)