def test_multi_platform(self): config = Mock(name="trunk") build = Build(self.env, config="trunk", platform=1, rev=123, rev_time=42) build.insert() report = Report(self.env, build=build.id, step="foo", category="test") report.items += [{"status": "success"}, {"status": "failure"}, {"status": "success"}] report.insert() build = Build(self.env, config="trunk", platform=2, rev=123, rev_time=42) build.insert() report = Report(self.env, build=build.id, step="foo", category="test") report.items += [{"status": "success"}, {"status": "failure"}, {"status": "failure"}] report.insert() req = Mock() generator = TestResultsChartGenerator(self.env) template, data = generator.generate_chart_data(req, config, "test") self.assertEqual("bitten_chart_tests.html", template) self.assertEqual("Unit Tests", data["title"]) self.assertEqual("", data["data"][0][0]) self.assertEqual("[123]", data["data"][0][1]) self.assertEqual("Total", data["data"][1][0]) self.assertEqual(3, data["data"][1][1]) self.assertEqual("Failures", data["data"][2][0]) self.assertEqual(2, data["data"][2][1])
def test_multi_platform(self): config = Mock(name='trunk') build = Build(self.env, config='trunk', platform=1, rev=123, rev_time=42) build.insert() report = Report(self.env, build=build.id, step='foo', category='test') report.items += [{'status': 'success'}, {'status': 'failure'}, {'status': 'success'}] report.insert() build = Build(self.env, config='trunk', platform=2, rev=123, rev_time=42) build.insert() report = Report(self.env, build=build.id, step='foo', category='test') report.items += [{'status': 'success'}, {'status': 'failure'}, {'status': 'failure'}] report.insert() req = Mock() generator = TestResultsChartGenerator(self.env) template, data = generator.generate_chart_data(req, config, 'test') self.assertEqual('bitten_chart_tests.html', template) self.assertEqual('Unit Tests', data['title']) self.assertEqual('', data['data'][0][0]) self.assertEqual('[123]', data['data'][0][1]) self.assertEqual('Total', data['data'][1][0]) self.assertEqual(3, data['data'][1][1]) self.assertEqual('Failures', data['data'][2][0]) self.assertEqual(2, data['data'][2][1])
def test_single_platform(self): config = Mock(name='trunk', min_rev_time=lambda env: 0, max_rev_time=lambda env: 1000) build = Build(self.env, config='trunk', platform=1, rev=123, rev_time=42) build.insert() report = Report(self.env, build=build.id, step='foo', category='test') report.items += [{ 'status': 'success' }, { 'status': 'failure' }, { 'status': 'success' }] report.insert() req = Mock() generator = TestResultsChartGenerator(self.env) template, data = generator.generate_chart_data(req, config, 'test') self.assertEqual('json.txt', template) data = data['json'] self.assertEqual('Unit Tests', data['title']) actual_data = data['data'] self.assertEqual('123', actual_data[0]['data'][0][0]) self.assertEqual('Total', actual_data[0]['label']) self.assertEqual(3, actual_data[0]['data'][0][1]) self.assertEqual('Failures', actual_data[1]['label']) self.assertEqual(1, actual_data[1]['data'][0][1])
def test_no_reports(self): req = Mock() config = Mock(name='trunk') generator = TestResultsChartGenerator(self.env) template, data = generator.generate_chart_data(req, config, 'test') self.assertEqual('bitten_chart_tests.html', template) self.assertEqual('Unit Tests', data['title']) self.assertEqual('', data['data'][0][0]) self.assertEqual('Total', data['data'][1][0]) self.assertEqual('Failures', data['data'][2][0])
def test_no_reports(self): req = Mock() config = Mock(name="trunk") generator = TestResultsChartGenerator(self.env) template, data = generator.generate_chart_data(req, config, "test") self.assertEqual("bitten_chart_tests.html", template) self.assertEqual("Unit Tests", data["title"]) self.assertEqual("", data["data"][0][0]) self.assertEqual("Total", data["data"][1][0]) self.assertEqual("Failures", data["data"][2][0])
def test_no_reports(self): req = Mock() config = Mock(name='trunk', min_rev_time=lambda env: 0, max_rev_time=lambda env: 1000) generator = TestResultsChartGenerator(self.env) template, data = generator.generate_chart_data(req, config, 'test') self.assertEqual('json.txt', template) data = data['json'] self.assertEqual('Unit Tests', data['title']) actual_data = data['data'] self.assertEqual([], actual_data[0]['data']) self.assertEqual('Total', actual_data[0]['label']) self.assertEqual('Failures', actual_data[1]['label'])
def test_single_platform(self): config = Mock(name='trunk', min_rev_time=lambda env: 0, max_rev_time=lambda env: 1000) build = Build(self.env, config='trunk', platform=1, rev=123, rev_time=42) build.insert() report = Report(self.env, build=build.id, step='foo', category='test') report.items += [{'status': 'success'}, {'status': 'failure'}, {'status': 'success'}] report.insert() req = Mock() generator = TestResultsChartGenerator(self.env) template, data = generator.generate_chart_data(req, config, 'test') self.assertEqual('json.txt', template) data = data['json'] self.assertEqual('Unit Tests', data['title']) actual_data = data['data'] self.assertEqual('123', actual_data[0]['data'][0][0]) self.assertEqual('Total', actual_data[0]['label']) self.assertEqual(3, actual_data[0]['data'][0][1]) self.assertEqual('Failures', actual_data[1]['label']) self.assertEqual(1, actual_data[1]['data'][0][1])
def test_supported_categories(self): generator = TestResultsChartGenerator(self.env) self.assertEqual(['test'], generator.get_supported_categories())