class TestingUserResourceOnGet(TenantApiTestBase): def _set_resource(self): self.resource = UserResource() self.test_route = '/v1/tenant/{tenant_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_201_if_tenant_not_found_create_it(self): self.ds_handler_no_tenant = MagicMock() self.ds_handler_no_tenant.put = MagicMock() self.ds_handler_no_tenant.find_one.side_effect = [None, self.tenant] with patch('meniscus.api.tenant.resources.tenant_util.find_tenant'): self.simulate_request( self.test_route, method='GET') self.assertEqual(falcon.HTTP_200, self.srmock.status) def test_return_200_with_tenant_json(self): with patch('meniscus.api.tenant.resources.tenant_util.find_tenant', self.tenant_found): self.simulate_request( self.test_route, method='GET') self.assertEqual(falcon.HTTP_200, self.srmock.status) def test_should_return_tenant_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) parsed_body = jsonutils.loads(self.resp.body) self.assertTrue('tenant' in parsed_body) parsed_tenant = parsed_body['tenant'] tenant_dict = self.tenant.format() for key in tenant_dict: self.assertTrue(key in parsed_tenant) self.assertEqual(tenant_dict[key], parsed_tenant[key])
class TestingUserResourceOnGet(TenantApiTestBase): def _set_resource(self): self.resource = UserResource(self.db_handler) self.test_route = '/v1/tenant/{tenant_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_201_if_tenant_not_found_create_it(self): self.ds_handler_no_tenant = MagicMock() self.ds_handler_no_tenant.put = MagicMock() self.ds_handler_no_tenant.find_one.side_effect = [None, self.tenant] with patch('meniscus.api.tenant.resources.find_tenant'): self.simulate_request(self.test_route, method='GET') self.assertEqual(falcon.HTTP_200, self.srmock.status) def test_return_200_with_tenant_json(self): with patch('meniscus.api.tenant.resources.find_tenant', self.tenant_found): self.simulate_request(self.test_route, method='GET') self.assertEqual(falcon.HTTP_200, self.srmock.status) def test_should_return_tenant_json(self): with patch('meniscus.api.tenant.resources.find_tenant', self.tenant_found): self.resource.on_get(self.req, self.resp, self.tenant_id) parsed_body = jsonutils.loads(self.resp.body) self.assertTrue('tenant' in parsed_body) parsed_tenant = parsed_body['tenant'] tenant_dict = self.tenant.format() for key in tenant_dict: self.assertTrue(key in parsed_tenant) self.assertEqual(tenant_dict[key], parsed_tenant[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.setup('meniscus') _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)
def _set_resource(self): self.resource = UserResource(self.db_handler) self.test_route = '/v1/tenant/{tenant_id}' self.api.add_route(self.test_route, self.resource)
def _set_resource(self): self.resource = UserResource() self.test_route = '/v1/tenant/{tenant_id}' self.api.add_route(self.test_route, self.resource)