示例#1
0
    def testReadChartJsonValueWithNoTest(self, retrieve):
        retrieve.side_effect = (
            {
                'files': {
                    'chartjson-output.json': {
                        'h': 'chartjson hash'
                    }
                }
            },
            json.dumps({
                'charts': {
                    'metric': {
                        'summary': {
                            'type': 'list_of_scalar_values',
                            'values': [0, 1, 2],
                        }
                    }
                }
            }),
        )

        quest = read_value.ReadChartJsonValue('metric', None)
        execution = quest.Start(('output hash', ))
        execution.Poll()

        self.assertTrue(execution.completed)
        self.assertFalse(execution.failed)
        self.assertEqual(execution.result_values, (0, 1, 2))
        self.assertEqual(execution.result_arguments, {})

        expected_calls = [
            mock.call('output hash'),
            mock.call('chartjson hash')
        ]
        self.assertEqual(retrieve.mock_calls, expected_calls)
    def testReadChartJsonValue(self):
        self.SetOutputFileContents({
            'charts': {
                'tir_label@@chart_avg': {
                    'trace name': {
                        'type': 'list_of_scalar_values',
                        'values': [0, 1, 2],
                    }
                },
                'trace': {
                    'trace name': {
                        'cloud_url': 'trace url',
                        'page_id': 1
                    }
                },
            }
        })

        quest = read_value.ReadChartJsonValue('chart', 'tir_label',
                                              'trace name', 'avg')
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertTrue(execution.completed)
        self.assertFalse(execution.failed)
        self.assertEqual(execution.result_values, (0, 1, 2))
        self.assertEqual(execution.result_arguments, {})

        expected_calls = [
            mock.call('output hash'),
            mock.call('output json hash')
        ]
        self.assertEqual(self._retrieve.mock_calls, expected_calls)
示例#3
0
    def testScalar(self, retrieve):
        retrieve.side_effect = (
            {
                'files': {
                    'chartjson-output.json': {
                        'h': 'chartjson hash'
                    }
                }
            },
            json.dumps({
                'charts': {
                    'metric': {
                        'test': {
                            'type': 'scalar',
                            'value': 2.5,
                        }
                    }
                }
            }),
        )

        quest = read_value.ReadChartJsonValue('metric', 'test')
        execution = quest.Start(('output hash', ))
        execution.Poll()

        self.assertEqual(execution.result_values, (2.5, ))
    def testHistogram(self):
        self.SetOutputFileContents({
            'charts': {
                'tir_label@@chart': {
                    'trace name': {
                        'type':
                        'histogram',
                        'buckets': [
                            {
                                'low': 0,
                                'count': 2
                            },
                            {
                                'low': 0,
                                'high': 2,
                                'count': 3
                            },
                        ],
                    }
                },
                'trace': {
                    'trace name': {
                        'cloud_url': 'trace url',
                        'page_id': 1
                    }
                },
            }
        })

        quest = read_value.ReadChartJsonValue('chart', 'tir_label',
                                              'trace name')
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertEqual(execution.result_values, (0, 0, 1, 1, 1))
示例#5
0
    def testScalar(self, retrieve):
        retrieve.side_effect = (
            {
                'files': {
                    'chartjson-output.json': {
                        'h': 'chartjson hash'
                    }
                }
            },
            json.dumps({
                'charts': {
                    'tir_label@@chart': {
                        'trace name': {
                            'type': 'scalar',
                            'value': 2.5,
                        }
                    },
                    'trace': {
                        'trace name': {
                            'cloud_url': 'trace url',
                            'page_id': 1
                        }
                    },
                }
            }),
        )

        quest = read_value.ReadChartJsonValue('chart', 'tir_label',
                                              'trace name')
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertEqual(execution.result_values, (2.5, ))
示例#6
0
    def testReadChartJsonValueWithNoValues(self, retrieve):
        retrieve.side_effect = (
            {
                'files': {
                    'chartjson-output.json': {
                        'h': 'chartjson hash'
                    }
                }
            },
            json.dumps({
                'charts': {
                    'tir_label@@chart': {
                        'summary': {
                            'type': 'list_of_scalar_values',
                            'values': None,
                        }
                    }
                }
            }),
        )

        quest = read_value.ReadChartJsonValue('chart', 'tir_label', None)
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertReadValueError(execution)
示例#7
0
  def testReadChartJsonValueWithMissingFile(self, retrieve):
    retrieve.return_value = {'files': {}}

    quest = read_value.ReadChartJsonValue('metric', 'test')
    execution = quest.Start(None, 'output hash')
    execution.Poll()

    self.assertReadValueError(execution)
    def testReadChartJsonValueWithMissingTrace(self):
        self.SetOutputFileContents({'charts': {'tir_label@@chart': {}}})

        quest = read_value.ReadChartJsonValue('metric', 'test')
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertReadValueError(execution)
示例#9
0
  def testReadChartJsonValueWithMissingTrace(self, retrieve):
    retrieve.side_effect = (
        {'files': {'chartjson-output.json': {'h': 'chartjson hash'}}},
        json.dumps({'charts': {'tir_label@@chart': {}}}),
    )

    quest = read_value.ReadChartJsonValue('metric', 'test')
    execution = quest.Start(None, 'output hash')
    execution.Poll()

    self.assertReadValueError(execution)
示例#10
0
  def testHistogramWithLargeSample(self, retrieve):
    retrieve.side_effect = (
        {'files': {'chartjson-output.json': {'h': 'chartjson hash'}}},
        json.dumps({'charts': {'tir_label@@chart': {'trace': {
            'type': 'histogram',
            'buckets': [
                {'low': 0, 'count': 20000},
                {'low': 0, 'high': 2, 'count': 30000},
            ],
        }}}}),
    )

    quest = read_value.ReadChartJsonValue('chart', 'tir_label', 'trace')
    execution = quest.Start(None, 'output hash')
    execution.Poll()

    self.assertEqual(execution.result_values, tuple([0] * 4000 + [1] * 6000))
    def testReadChartJsonValueWithNoValues(self):
        self.SetOutputFileContents({
            'charts': {
                'tir_label@@chart': {
                    'summary': {
                        'type': 'list_of_scalar_values',
                        'values': None,
                    }
                }
            }
        })

        quest = read_value.ReadChartJsonValue('chart', 'tir_label', None)
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertReadValueError(execution)
    def testReadChartJsonTraceUrls(self):
        self.SetOutputFileContents({
            'charts': {
                'tir_label@@chart_avg': {
                    'trace name': {
                        'type': 'list_of_scalar_values',
                        'values': [0, 1, 2],
                    }
                },
                'trace': {
                    'trace name 1': {
                        'cloud_url': 'trace url',
                        'page_id': 1
                    },
                    'trace name 2': {
                        'cloud_url': 'trace url',
                        'page_id': 2
                    }
                },
            }
        })

        quest = read_value.ReadChartJsonValue('chart', 'tir_label',
                                              'trace name', 'avg')
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertTrue(execution.completed)
        self.assertFalse(execution.failed)
        self.assertEqual(execution.result_values, (0, 1, 2))
        self.assertEqual(execution.result_arguments, {})

        self.assertEqual(
            {
                'result_values': (0, 1, 2),
                'completed': True,
                'exception': None,
                'result_arguments': {},
                'details': {
                    'traces': [{
                        'url': 'trace url',
                        'name': 'trace url'
                    }]
                }
            }, execution.AsDict())
示例#13
0
    def testHistogram(self, retrieve):
        retrieve.side_effect = (
            {
                'files': {
                    'chartjson-output.json': {
                        'h': 'chartjson hash'
                    }
                }
            },
            json.dumps({
                'charts': {
                    'tir_label@@chart': {
                        'trace name': {
                            'type':
                            'histogram',
                            'buckets': [
                                {
                                    'low': 0,
                                    'count': 2
                                },
                                {
                                    'low': 0,
                                    'high': 2,
                                    'count': 3
                                },
                            ],
                        }
                    },
                    'trace': {
                        'trace name': {
                            'cloud_url': 'trace url',
                            'page_id': 1
                        }
                    },
                }
            }),
        )

        quest = read_value.ReadChartJsonValue('chart', 'tir_label',
                                              'trace name')
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertEqual(execution.result_values, (0, 0, 1, 1, 1))
示例#14
0
    def testReadChartJsonValue(self, retrieve):
        retrieve.side_effect = (
            {
                'files': {
                    'chartjson-output.json': {
                        'h': 'chartjson hash'
                    }
                }
            },
            json.dumps({
                'charts': {
                    'tir_label@@chart': {
                        'trace name': {
                            'type': 'list_of_scalar_values',
                            'values': [0, 1, 2],
                        }
                    },
                    'trace': {
                        'trace name': {
                            'cloud_url': 'trace url',
                            'page_id': 1
                        }
                    },
                }
            }),
        )

        quest = read_value.ReadChartJsonValue('chart', 'tir_label',
                                              'trace name')
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertTrue(execution.completed)
        self.assertFalse(execution.failed)
        self.assertEqual(execution.result_values, (0, 1, 2))
        self.assertEqual(execution.result_arguments, {})

        expected_calls = [
            mock.call('output hash'),
            mock.call('chartjson hash')
        ]
        self.assertEqual(retrieve.mock_calls, expected_calls)
示例#15
0
    def testHistogram(self, retrieve):
        retrieve.side_effect = (
            {
                'files': {
                    'chartjson-output.json': {
                        'h': 'chartjson hash'
                    }
                }
            },
            json.dumps({
                'charts': {
                    'metric': {
                        'test': {
                            'type':
                            'histogram',
                            'buckets': [
                                {
                                    'low': 0,
                                    'count': 2
                                },
                                {
                                    'low': 0,
                                    'high': 2,
                                    'count': 3
                                },
                            ],
                        }
                    }
                }
            }),
        )

        quest = read_value.ReadChartJsonValue('metric', 'test')
        execution = quest.Start(('output hash', ))
        execution.Poll()

        self.assertEqual(execution.result_values, (0, 0, 1, 1, 1))
    def testScalar(self):
        self.SetOutputFileContents({
            'charts': {
                'tir_label@@chart': {
                    'trace name': {
                        'type': 'scalar',
                        'value': 2.5,
                    }
                },
                'trace': {
                    'trace name': {
                        'cloud_url': 'trace url',
                        'page_id': 1
                    }
                },
            }
        })

        quest = read_value.ReadChartJsonValue('chart', 'tir_label',
                                              'trace name')
        execution = quest.Start(None, 'output hash')
        execution.Poll()

        self.assertEqual(execution.result_values, (2.5, ))