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 }, }
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}
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, }]
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
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 } }
def test_no_rows(self): rows = [] series = list(rows_to_series(rows, count_column='dau')) assert series == []
def test_no_rows(self): rows = [] series = list(rows_to_series(rows)) assert series == []