def test_filter_by_dau_by_app_version_and_no_fenix_data(self):
        filter_by = AMO_TO_BQ_DAU_COLUMN_MAPPING.get('apps')
        android_data = []
        firefox_data = [
            {
                'key': '77.0.0',
                'value': 123
            },
            {
                'key': '76.0.1',
                'value': 678
            },
        ]
        rows = [
            self.create_fake_bigquery_row(
                dau_by_app_version=firefox_data,
                dau_by_fenix_build=android_data,
            )
        ]

        series = list(
            rows_to_series(rows, count_column='dau', filter_by=filter_by))

        assert 'data' in series[0]
        assert series[0]['data'] == {
            ANDROID.guid: {},
            FIREFOX.guid: {
                '77.0.0': 123,
                '76.0.1': 678
            },
        }
Exemple #2
0
    def test_filter_by(self):
        filter_by = 'column_with_data'
        data = [{'key': 'k1', 'value': 123}, {'key': 'k2', 'value': 678}]
        rows = [self.create_fake_bigquery_row(column_with_data=data)]

        series = list(rows_to_series(rows, count_column='dau', filter_by=filter_by))

        assert 'data' in series[0]
        assert series[0]['data'] == {'k1': 123, 'k2': 678}
Exemple #3
0
    def test_ignores_other_columns(self):
        dau = 456
        submission_date = date(2020, 5, 24)
        rows = [
            self.create_fake_bigquery_row(
                dau=dau, submission_date=submission_date, other_column=123
            )
        ]

        series = list(rows_to_series(rows, count_column='dau'))

        assert series[0] == {
            'count': dau,
            'date': submission_date,
            'end': submission_date,
        }
    def test_returns_series(self):
        total_downloads = 1234
        submission_date = date(2020, 5, 24)
        rows = [
            self.create_fake_bigquery_row(
                total_downloads=total_downloads,
                submission_date=submission_date,
            )
        ]

        series = list(rows_to_series(rows, count_column='total_downloads'))

        assert series == [{
            'count': total_downloads,
            'date': submission_date,
            'end': submission_date,
        }]
Exemple #5
0
    def test_returns_items(self):
        dau = 456
        submission_date = date(2020, 5, 24)
        rows = [
            self.create_fake_bigquery_row(dau=dau, submission_date=submission_date),
            self.create_fake_bigquery_row(),
            self.create_fake_bigquery_row(),
        ]

        series = list(rows_to_series(rows, count_column='dau'))

        assert len(series) == len(rows)
        item = series[0]
        assert 'count' in item
        assert item['count'] == dau
        assert 'date' in item
        assert item['date'] == submission_date
        assert 'end' in item
        assert item['end'] == submission_date
        # By default there should be no 'data' attribute.
        assert 'data' not in series
Exemple #6
0
    def test_filter_by_dau_by_app_version(self):
        filter_by = 'dau_by_app_version'
        data = [
            {
                'key': '77.0.0',
                'value': 123
            },
            {
                'key': '76.0.1',
                'value': 678
            },
        ]
        rows = [self.create_fake_bigquery_row(dau_by_app_version=data)]

        series = list(rows_to_series(rows, filter_by=filter_by))

        assert 'data' in series[0]
        assert series[0]['data'] == {
            FIREFOX.guid: {
                '77.0.0': 123,
                '76.0.1': 678
            }
        }
Exemple #7
0
    def test_no_rows(self):
        rows = []

        series = list(rows_to_series(rows, count_column='dau'))

        assert series == []
Exemple #8
0
    def test_no_rows(self):
        rows = []

        series = list(rows_to_series(rows))

        assert series == []