Ejemplo n.º 1
0
    def testTypeDispatch_LegacyHistogramExecution(self, mock_json,
                                                  mock_render):
        job = _JobStub(
            None, '123',
            _JobStateFake({
                'f00c0de': [{
                    'executions': [
                        read_value._ReadHistogramsJsonValueExecution(
                            'fake_filename', 'fake_metric', 'fake_grouping',
                            'fake_trace_or_story', 'avg',
                            'https://isolate_server', 'deadc0decafef00d')
                    ]
                }]
            }))
        histograms = []

        def TraverseHistograms(hists, *unused_args, **unused_kw_args):
            for histogram in hists:
                histograms.append(histogram)

        mock_render.side_effect = TraverseHistograms
        histogram = histogram_module.Histogram('histogram', 'count')
        histogram.AddSample(0)
        histogram.AddSample(1)
        histogram.AddSample(2)
        expected_histogram_set = histogram_set.HistogramSet([histogram])
        mock_json.return_value = expected_histogram_set.AsDicts()
        results2.GenerateResults2(job)
        mock_render.assert_called_with(mock.ANY,
                                       mock.ANY,
                                       reset_results=True,
                                       vulcanized_html='fake_viewer')
        results = results2.CachedResults2.query().fetch()
        self.assertEqual(1, len(results))
        self.assertEqual(expected_histogram_set.AsDicts(), histograms)
Ejemplo n.º 2
0
 def post(self, job_id):
   try:
     job = job_module.JobFromId(job_id)
     if not job:
       raise results2.Results2Error('Error: Unknown job %s' % job_id)
     results2.GenerateResults2(job)
   except results2.Results2Error as e:
     self.response.out.write(e.message)
Ejemplo n.º 3
0
  def testPost_Renders(self, mock_render):
    job = _JobStub(_JOB_NO_DIFFERENCES, '123')
    results2.GenerateResults2(job)

    mock_render.assert_called_with(
        ['a', 'b'], mock.ANY, reset_results=True, vulcanized_html='fake_viewer')

    results = results2.CachedResults2.query().fetch()
    self.assertEqual(1, len(results))
Ejemplo n.º 4
0
    def testTypeDispatch_ReadValueExecution_MultipleChanges(
            self, mock_json, mock_render):
        job = _JobStub(
            None, '123',
            _JobStateFake({
                'f00c0de': [{
                    'executions': [
                        read_value.ReadValueExecution(
                            'fake_filename', ['fake_filename'], 'fake_metric',
                            'fake_grouping_label', 'fake_trace_or_story',
                            'avg', 'fake_chart', 'https://isolate_server',
                            'deadc0decafef00d')
                    ]
                }],
                'badc0de': [{
                    'executions': [
                        read_value.ReadValueExecution(
                            'fake_filename', ['fake_filename'], 'fake_metric',
                            'fake_grouping_label', 'fake_trace_or_story',
                            'avg', 'fake_chart', 'https://isolate_server',
                            'deadc0decafef00d')
                    ]
                }]
            }))
        histograms = []

        def TraverseHistograms(hists, *args, **kw_args):
            del args
            del kw_args
            for histogram in hists:
                histograms.append(histogram)

        mock_render.side_effect = TraverseHistograms
        histogram_a = histogram_module.Histogram('histogram', 'count')
        histogram_a.AddSample(0)
        histogram_a.AddSample(1)
        histogram_a.AddSample(2)
        expected_histogram_set_a = histogram_set.HistogramSet([histogram_a])
        histogram_b = histogram_module.Histogram('histogram', 'count')
        histogram_b.AddSample(0)
        histogram_b.AddSample(1)
        histogram_b.AddSample(2)
        expected_histogram_set_b = histogram_set.HistogramSet([histogram_b])

        mock_json.side_effect = (expected_histogram_set_a.AsDicts(),
                                 expected_histogram_set_b.AsDicts())
        results2.GenerateResults2(job)
        mock_render.assert_called_with(mock.ANY,
                                       mock.ANY,
                                       reset_results=True,
                                       vulcanized_html='fake_viewer')
        results = results2.CachedResults2.query().fetch()
        self.assertEqual(1, len(results))
        self.assertEqual(
            expected_histogram_set_a.AsDicts() +
            expected_histogram_set_b.AsDicts(), histograms)
Ejemplo n.º 5
0
    def testTypeDispatch_LegacyGraphJsonExecution(self, mock_json,
                                                  mock_render):
        job = _JobStub(
            None, '123',
            _JobStateFake({
                'f00c0de': [{
                    'executions': [
                        read_value._ReadGraphJsonValueExecution(
                            'fake_filename', 'fake_chart', 'fake_trace',
                            'https://isolate_server', 'deadc0decafef00d')
                    ]
                }]
            }))
        histograms = []

        def TraverseHistograms(hists, *unused_args, **unused_kw_args):
            for histogram in hists:
                histograms.append(histogram)

        mock_render.side_effect = TraverseHistograms
        mock_json.return_value = {
            'fake_chart': {
                'traces': {
                    'fake_trace': ['12345.6789', '0.0']
                }
            }
        }

        results2.GenerateResults2(job)
        mock_render.assert_called_with(mock.ANY,
                                       mock.ANY,
                                       reset_results=True,
                                       vulcanized_html='fake_viewer')
        results = results2.CachedResults2.query().fetch()
        self.assertEqual(1, len(results))
        # TODO(dberris): check more precisely the contents of the histograms.
        self.assertEqual([mock.ANY, mock.ANY], histograms)