def test_datapoints_cpt_EU28(mock_adapter, mock_cube): datapoints = get_datapoints_cp() form = { 'indicator-group': 'broadband', 'ref-area': 'RO', 'time-period': '2015', 'indicator': ["e_broad"], 'subtype': 'table' } datasource = Mock(get_cube=Mock(return_value=mock_cube)) view = AjaxDataView(datasource, Mock(form=form)) mock_cube.get_observations_cp = Mock(return_value=datapoints) mock_adapter.return_value = Mock( whitelist=[ {'indicator-group': 'broadband', 'breakdown': 'ent_all_xfin', 'indicator': 'e_broad', 'unit-measure': 'pc_ent'}], eu = {'RO': 'Romania'} ) res = json.loads(view.datapoints_cpt()) assert len(res['datapoints']) == 4 assert len(res['datapoints']['table']) == 1 assert res['datapoints']['latest'] == 2015 assert res['datapoints']['ref-area']['notation'] == 'RO' assert res['datapoints']['table']['e_broad,ent_all_xfin,pc_ent']['eu'] == 0.925897
def test_datapoints_cpt_blacklist_filtering(mock_adapter, mock_cube): datapoints = [ { "breakdown": { "short-label": "All enterprises", "notation": "ent_all_xfin", "label": "All enterprises" }, "indicator": { "short-label": "Use of eGovernment services - enterprises", "notation": "e_igov", "label": "Enterprises interacting online with public authorities", "inner_order": 1 }, "time-period": { "short-label": "2004", "notation": "2004", "label": "Year:2004" }, "value": 0.8388, "note": None, "flag": None, "unit-measure": { "short-label": "% of enterprises", "notation": "pc_ent", "label": "Percentage of enterprises" }, "ref-area": { "short-label": None, "notation": "EE", "label": "Estonia" } } ] form = { 'indicator-group': 'egovernment', 'ref-area': 'EE', 'time-period': '2012', 'indicator': ["e_igov","e_igov2pr","e_igovrt","i_igov12rt","i_iugov12"] } from edw.datacube.browser.query import AjaxDataView datasource = Mock(get_cube=Mock(return_value=mock_cube)) view = AjaxDataView(datasource, Mock(form=form)) mock_cube.get_observations_cp = Mock(return_value=datapoints) mock_adapter.return_value = Mock( whitelist=[ {'indicator-group': 'egovernment', 'breakdown': 'ent_all_xfin', 'indicator': 'e_igov', 'unit-measure': 'pc_ent'}], eu = {'EE': 'Estonia'} ) res = json.loads(view.datapoints_cpt()) assert 'e_igov,ent_all_xfin,pc_ent' in res['datapoints']['table'].keys()