Example #1
0
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()
Example #2
0
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'
Example #3
0
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()
Example #7
0
 def setUp(self):
     self.init()
     self.surface_s_c = SurfaceStimulusController()
 def transactional_setup_method(self):
     self.init()
     self.surface_s_c = SurfaceStimulusController()