예제 #1
0
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
예제 #2
0
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()