示例#1
0
    def test_dask_status_link(self, mock_dask_scheduler, mock_render,
                              mock_bokeh_server):
        mock_dask_object = mock.MagicMock()
        mock_dask_object.name = 'test_name'
        mock_dask_object.dashboard = 'test_dashboard'
        mock_dask_scheduler.objects.get.return_value = mock_dask_object
        request = mock.MagicMock()
        mock_bokeh_server.return_value = '\n<script id="c2701686-24f8-47e0-9f22-b909ac04cabb"></script>'

        # Execute
        dask_dashboard(request, 'test_dask_id', page='status')

        rts_call_args = mock_render.call_args_list

        # Check render call
        self.assertEqual('tethys_compute/dask_scheduler_status.html',
                         rts_call_args[0][0][1])
        self.assertEqual('/admin/dask-dashboard/status/test_dask_id/',
                         rts_call_args[0][0][2]['status_link'])
        rts_bokeh_call_args = mock_bokeh_server.call_args_list

        # Check link passed to server_document
        self.assertEqual('http://test_dashboard/individual-nbytes',
                         rts_bokeh_call_args[0][0][0])
        self.assertEqual('http://test_dashboard/individual-nprocessing',
                         rts_bokeh_call_args[1][0][0])
        self.assertEqual('http://test_dashboard/individual-task-stream',
                         rts_bokeh_call_args[2][0][0])
        self.assertEqual('http://test_dashboard/individual-progress',
                         rts_bokeh_call_args[3][0][0])
示例#2
0
    def test_dask_system_link(self, mock_dask_scheduler, mock_render,
                              mock_bokeh_com, mock_pull_session):
        mock_dask_object = mock.MagicMock()
        mock_dask_object.name = 'test_name'
        mock_dask_object.dashboard = 'test_dashboard'
        mock_dask_scheduler.objects.get.return_value = mock_dask_object
        request = mock.MagicMock()
        mock_session = mock.MagicMock()
        mock_pull_session.__enter__ = mock_session
        mock_bokeh_com.return_value = (
            '\n<script id="c2701686-24f8-47e0-9f22-b909ac04cabb"></script>', {
                'CPU': '\n<div class="bk-root" id="CPU_ID"></div>'
            })

        # Execute
        dask_dashboard(request, 'test_dask_id', page='system')

        rts_call_args = mock_render.call_args_list

        # Check render call
        self.assertEqual('tethys_compute/dask_scheduler_system.html',
                         rts_call_args[0][0][1])
        self.assertEqual('/admin/dask-dashboard/status/test_dask_id/',
                         rts_call_args[0][0][2]['status_link'])
        self.assertEqual('CPU_ID',
                         rts_call_args[0][0][2]['the_divs']['CPU']['id'])
示例#3
0
    def test_dask_graph_link(self, mock_dask_scheduler, mock_render):
        mock_dask_object = mock.MagicMock()
        mock_dask_object.name = 'test_name'
        mock_dask_object.dashboard = 'test_dashboard'
        mock_dask_scheduler.objects.get.return_value = mock_dask_object
        request = mock.MagicMock()

        # Execute
        dask_dashboard(request, 'test_dask_id', page='graph')

        # Check render call
        rts_call_args = mock_render.call_args_list
        self.assertEqual('tethys_compute/dask_scheduler_graph.html', rts_call_args[0][0][1])
        self.assertEqual('/admin/dask-dashboard/graph/test_dask_id/', rts_call_args[0][0][2]['graph_link'])
示例#4
0
    def test_dask_profile_link(self, mock_dask_scheduler, mock_render):
        mock_dask_object = mock.MagicMock()
        mock_dask_object.name = 'test_name'
        mock_dask_object.dashboard = 'test_dashboard'
        mock_dask_scheduler.objects.get.return_value = mock_dask_object
        request = mock.MagicMock()

        # Execute
        dask_dashboard(request, 'test_dask_id', page='profile')

        # Check render call
        rts_call_args = mock_render.call_args_list
        self.assertEqual('tethys_compute/dask_scheduler_profile.html',
                         rts_call_args[0][0][1])
        self.assertEqual('/admin/dask-dashboard/profile/test_dask_id/',
                         rts_call_args[0][0][2]['profile_link'])
示例#5
0
    def test_dask_system_link(self, mock_dask_scheduler, mock_render, mock_bokeh_com, mock_pull_session):
        mock_dask_object = mock.MagicMock()
        mock_dask_object.name = 'test_name'
        mock_dask_object.dashboard = 'test_dashboard'
        mock_dask_scheduler.objects.get.return_value = mock_dask_object
        request = mock.MagicMock()
        mock_session = mock.MagicMock()
        mock_pull_session.__enter__ = mock_session
        mock_bokeh_com.return_value = ('\n<script id="c2701686-24f8-47e0-9f22-b909ac04cabb"></script>',
                                       {'CPU': '\n<div class="bk-root" id="CPU_ID"></div>'})

        # Execute
        dask_dashboard(request, 'test_dask_id', page='system')

        rts_call_args = mock_render.call_args_list

        # Check render call
        self.assertEqual('tethys_compute/dask_scheduler_system.html', rts_call_args[0][0][1])
        self.assertEqual('/admin/dask-dashboard/status/test_dask_id/', rts_call_args[0][0][2]['status_link'])
        self.assertEqual('CPU_ID', rts_call_args[0][0][2]['the_divs']['CPU']['id'])
示例#6
0
    def test_dask_status_link(self, mock_dask_scheduler, mock_render, mock_bokeh_server):
        mock_dask_object = mock.MagicMock()
        mock_dask_object.name = 'test_name'
        mock_dask_object.dashboard = 'test_dashboard'
        mock_dask_scheduler.objects.get.return_value = mock_dask_object
        request = mock.MagicMock()
        mock_bokeh_server.return_value = '\n<script id="c2701686-24f8-47e0-9f22-b909ac04cabb"></script>'

        # Execute
        dask_dashboard(request, 'test_dask_id', page='status')

        rts_call_args = mock_render.call_args_list

        # Check render call
        self.assertEqual('tethys_compute/dask_scheduler_status.html', rts_call_args[0][0][1])
        self.assertEqual('/admin/dask-dashboard/status/test_dask_id/', rts_call_args[0][0][2]['status_link'])
        rts_bokeh_call_args = mock_bokeh_server.call_args_list

        # Check link passed to server_document
        self.assertEqual('http://test_dashboard/individual-nbytes', rts_bokeh_call_args[0][0][0])
        self.assertEqual('http://test_dashboard/individual-nprocessing', rts_bokeh_call_args[1][0][0])
        self.assertEqual('http://test_dashboard/individual-task-stream', rts_bokeh_call_args[2][0][0])
        self.assertEqual('http://test_dashboard/individual-progress', rts_bokeh_call_args[3][0][0])