def init_cherrypy(arguments=None): #### Mount static folders from modules marked for introspection arguments = arguments or [] CONFIGUER = TvbProfile.current.web.CHERRYPY_CONFIGURATION for module in arguments: module_inst = importlib.import_module(str(module)) module_path = os.path.dirname(os.path.abspath(module_inst.__file__)) CONFIGUER["/static_" + str(module)] = {'tools.staticdir.on': True, 'tools.staticdir.dir': '.', 'tools.staticdir.root': module_path} #### Mount controllers, and specify the root URL for them. cherrypy.tree.mount(BaseController(), "/", config=CONFIGUER) cherrypy.tree.mount(UserController(), "/user/", config=CONFIGUER) cherrypy.tree.mount(ProjectController(), "/project/", config=CONFIGUER) cherrypy.tree.mount(FigureController(), "/project/figure/", config=CONFIGUER) cherrypy.tree.mount(FlowController(), "/flow/", config=CONFIGUER) cherrypy.tree.mount(SettingsController(), "/settings/", config=CONFIGUER) cherrypy.tree.mount(HelpController(), "/help/", config=CONFIGUER) cherrypy.tree.mount(SimulatorController(), "/burst/", config=CONFIGUER) cherrypy.tree.mount(ParameterExplorationController(), "/burst/explore/", config=CONFIGUER) cherrypy.tree.mount(DynamicModelController(), "/burst/dynamic/", config=CONFIGUER) cherrypy.tree.mount(SpatioTemporalController(), "/spatial/", config=CONFIGUER) cherrypy.tree.mount(RegionsModelParametersController(), "/burst/modelparameters/regions/", config=CONFIGUER) cherrypy.tree.mount(SurfaceModelParametersController(), "/spatial/modelparameters/surface/", config=CONFIGUER) cherrypy.tree.mount(RegionStimulusController(), "/spatial/stimulus/region/", config=CONFIGUER) cherrypy.tree.mount(SurfaceStimulusController(), "/spatial/stimulus/surface/", config=CONFIGUER) cherrypy.tree.mount(LocalConnectivityController(), "/spatial/localconnectivity/", config=CONFIGUER) cherrypy.tree.mount(NoiseConfigurationController(), "/burst/noise/", config=CONFIGUER) cherrypy.tree.mount(HPCController(), "/hpc/", config=CONFIGUER) cherrypy.config.update(CONFIGUER) # ----------------- Register additional request handlers ----------------- # This tool checks for MAX upload size cherrypy.tools.upload = Tool('on_start_resource', RequestHandler.check_upload_size) # This tools clean up files on disk (mainly after export) cherrypy.tools.cleanup = Tool('on_end_request', RequestHandler.clean_files_on_disk) # ----------------- End register additional request handlers ---------------- # Register housekeeping job if TvbProfile.current.hpc.IS_HPC_RUN and TvbProfile.current.hpc.CAN_RUN_HPC: cherrypy.engine.housekeeper = cherrypy.process.plugins.BackgroundTask( TvbProfile.current.hpc.BACKGROUND_JOB_INTERVAL, HPCOperationService.check_operations_job) cherrypy.engine.housekeeper.start() # HTTP Server is fired now ###### cherrypy.engine.start()
class TestSurfaceStimulusController(BaseTransactionalControllerTest): """ Unit tests for SurfaceStimulusController """ def transactional_setup_method(self): self.clean_database() self.init() self.surface_s_c = SurfaceStimulusController() def transactional_teardown_method(self): """ Cleans the testing environment """ self.cleanup() self.clean_database() def test_step_1(self): self.surface_s_c.step_1_submit(1, 1) result_dict = self.surface_s_c.step_1() expected_keys = [ 'temporalPlotInputList', 'spatialPlotInputList', 'baseUrl', 'definedFocalPoints', 'mainContent', 'surfaceStimulusSelectForm', 'surfaceStimulusCreateForm' ] assert all(x in result_dict for x in expected_keys) assert result_dict[ 'mainContent'] == 'spatial/stimulus_surface_step1_main' assert result_dict[ 'next_step_url'] == '/spatial/stimulus/surface/step_1_submit' def test_step_2(self, surface_index_factory): surface_index = surface_index_factory() self.surface_s_c.step_1_submit(1, 1) context = get_from_session(KEY_SURFACE_STIMULI) context.surface = surface_index.gid result_dict = self.surface_s_c.step_2() expected_keys = [ 'urlVerticesPick', 'urlVertices', 'urlTrianglesPick', 'urlTriangles', 'urlNormalsPick', 'urlNormals', 'baseUrl', 'surfaceGID', 'mainContent', 'loadExistentEntityUrl', 'surfaceStimulusSelectForm', 'definedFocalPoints' ] assert all(x in result_dict for x in expected_keys) assert result_dict[ 'next_step_url'] == '/spatial/stimulus/surface/step_2_submit' assert result_dict[ 'mainContent'] == 'spatial/stimulus_surface_step2_main' assert result_dict[ 'loadExistentEntityUrl'] == '/spatial/stimulus/surface/load_surface_stimulus'
class SurfaceStimulusControllerTest(BaseTransactionalControllerTest): """ Unit tests for SurfaceStimulusController """ def setUp(self): self.init() self.surface_s_c = SurfaceStimulusController() def tearDown(self): """ Cleans the testing environment """ self.cleanup() def test_step_1(self): self.surface_s_c.step_1_submit(1, 1) result_dict = self.surface_s_c.step_1() expected_keys = [ 'temporalPlotInputList', 'temporalFieldsPrefixes', 'temporalEquationViewerUrl', 'spatialPlotInputList', 'spatialFieldsPrefixes', 'spatialEquationViewerUrl', 'selectedFocalPoints', 'mainContent', 'existentEntitiesInputList' ] map(lambda x: self.assertTrue(x in result_dict), expected_keys) self.assertEqual(result_dict['mainContent'], 'spatial/stimulus_surface_step1_main') self.assertEqual(result_dict['next_step_url'], '/spatial/stimulus/surface/step_1_submit') def test_step_2(self): _, surface = DatatypesFactory().create_surface() self.surface_s_c.step_1_submit(1, 1) context = get_from_session(KEY_SURFACE_CONTEXT) context.equation_kwargs[SURFACE_PARAMETER] = surface.gid result_dict = self.surface_s_c.step_2() expected_keys = [ 'urlVerticesPick', 'urlVertices', 'urlTrianglesPick', 'urlTriangles', 'urlNormalsPick', 'urlNormals', 'surfaceGID', 'mainContent', 'loadExistentEntityUrl', 'existentEntitiesInputList', 'definedFocalPoints' ] map(lambda x: self.assertTrue(x in result_dict), expected_keys) self.assertEqual(result_dict['next_step_url'], '/spatial/stimulus/surface/step_2_submit') self.assertEqual(result_dict['mainContent'], 'spatial/stimulus_surface_step2_main') self.assertEqual(result_dict['loadExistentEntityUrl'], '/spatial/stimulus/surface/load_surface_stimulus')
class TestSurfaceStimulusController(BaseTransactionalControllerTest): """ Unit tests for SurfaceStimulusController """ def transactional_setup_method(self): self.init() self.surface_s_c = SurfaceStimulusController() def transactional_teardown_method(self): """ Cleans the testing environment """ self.cleanup() def test_step_1(self): self.surface_s_c.step_1_submit(1, 1) result_dict = self.surface_s_c.step_1() expected_keys = [ 'temporalPlotInputList', 'temporalFieldsPrefixes', 'temporalEquationViewerUrl', 'spatialPlotInputList', 'spatialFieldsPrefixes', 'spatialEquationViewerUrl', 'selectedFocalPoints', 'mainContent', 'existentEntitiesInputList' ] assert all(x in result_dict for x in expected_keys) assert result_dict[ 'mainContent'] == 'spatial/stimulus_surface_step1_main' assert result_dict[ 'next_step_url'] == '/spatial/stimulus/surface/step_1_submit' def test_step_2(self, surface_factory): _, surface = surface_factory self.surface_s_c.step_1_submit(1, 1) context = get_from_session(KEY_SURFACE_CONTEXT) context.equation_kwargs[SURFACE_PARAMETER] = surface.gid result_dict = self.surface_s_c.step_2() expected_keys = [ 'urlVerticesPick', 'urlVertices', 'urlTrianglesPick', 'urlTriangles', 'urlNormalsPick', 'urlNormals', 'surfaceGID', 'mainContent', 'loadExistentEntityUrl', 'existentEntitiesInputList', 'definedFocalPoints' ] assert all(x in result_dict for x in expected_keys) assert result_dict[ 'next_step_url'] == '/spatial/stimulus/surface/step_2_submit' assert result_dict[ 'mainContent'] == 'spatial/stimulus_surface_step2_main' assert result_dict[ 'loadExistentEntityUrl'] == '/spatial/stimulus/surface/load_surface_stimulus'
class SurfaceStimulusControllerTest(BaseTransactionalControllerTest): """ Unit tests for SurfaceStimulusController """ def setUp(self): self.init() self.surface_s_c = SurfaceStimulusController() def tearDown(self): """ Cleans the testing environment """ self.cleanup() def test_step_1(self): self.surface_s_c.step_1_submit(1, 1) result_dict = self.surface_s_c.step_1() expected_keys = ['temporalPlotInputList', 'temporalFieldsPrefixes', 'temporalEquationViewerUrl', 'spatialPlotInputList', 'spatialFieldsPrefixes', 'spatialEquationViewerUrl', 'selectedFocalPoints', 'mainContent', 'existentEntitiesInputList'] map(lambda x: self.assertTrue(x in result_dict), expected_keys) self.assertEqual(result_dict['mainContent'], 'spatial/stimulus_surface_step1_main') self.assertEqual(result_dict['next_step_url'], '/spatial/stimulus/surface/step_1_submit') def test_step_2(self): _, surface = DatatypesFactory().create_surface() self.surface_s_c.step_1_submit(1, 1) context = get_from_session(KEY_SURFACE_CONTEXT) context.equation_kwargs[SURFACE_PARAMETER] = surface.gid result_dict = self.surface_s_c.step_2() expected_keys = ['urlVerticesPick', 'urlVertices', 'urlTrianglesPick', 'urlTriangles', 'urlNormalsPick', 'urlNormals', 'surfaceGID', 'mainContent', 'loadExistentEntityUrl', 'existentEntitiesInputList', 'definedFocalPoints'] map(lambda x: self.assertTrue(x in result_dict), expected_keys) self.assertEqual(result_dict['next_step_url'], '/spatial/stimulus/surface/step_2_submit') self.assertEqual(result_dict['mainContent'], 'spatial/stimulus_surface_step2_main') self.assertEqual(result_dict['loadExistentEntityUrl'], '/spatial/stimulus/surface/load_surface_stimulus')
def setUp(self): self.init() self.surface_s_c = SurfaceStimulusController()
def setUp(self): self.init() self.surface_s_c = SurfaceStimulusController()
def transactional_setup_method(self): self.init() self.surface_s_c = SurfaceStimulusController()