def test_dashboard_create(): chart1 = TimeSeriesChart() chart1.with_name('chart1') chart1.with_program("data('requests.min').publish()") chart1.with_default_plot_type(PlotType.area_chart) chart2 = TimeSeriesChart() chart2.with_name('chart2') chart2.with_program("data('requests.min').publish()") chart2.with_default_plot_type(PlotType.line_chart) dashboard_name = 'removeme111' dashboard = Dashboard() dashboard.with_charts(chart1, chart2) dashboard.with_name(dashboard_name) f = StringIO() with stdout_redirected(f): dashboard.create(dry_run=True) response = f.getvalue() result_string = response[response.find('{'):]\ .replace('\'', '\"')\ .replace('("', '(\\"')\ .replace('")', '\\")') result = json.loads(result_string) assert 'charts' in result assert 'name' in result assert len(result['charts']) == 2 assert result['name'] == dashboard_name assert result['charts'][0]['options']['defaultPlotType'] \ == PlotType.area_chart.value assert result['charts'][1]['options']['defaultPlotType'] \ == PlotType.line_chart.value
def test_dashboard_with_charts(chart): chart1 = chart('chart1') chart2 = chart('chart2') expected_values = [chart1, chart2] dashboard = Dashboard() dashboard.with_charts(chart1, chart2) list_charts = dashboard.options['charts'] assert len(list_charts) == 2 assert set(map(lambda x: x.__get__('name'), list_charts)) \ == set(map(lambda x: x.__get__('name'), expected_values))