def index_latest_mkt_stats(index=None, aliased=True): raise_if_reindex_in_progress() yesterday = datetime.date.today() - datetime.timedelta(days=1) try: latest = Contribution.search(index).order_by('-date').values_dict() latest_contribution = latest and latest[0]['date'] or yesterday except pyes.exceptions.SearchPhaseExecutionException: latest_contribution = yesterday try: latest = Installed.search(index).order_by('-date').values_dict() latest_install = latest and latest[0]['date'] or yesterday except pyes.exceptions.SearchPhaseExecutionException: latest_install = yesterday latest = min(latest_contribution, latest_install) fmt = lambda d: d.strftime('%Y-%m-%d') date_range = '%s:%s' % (fmt(latest), fmt(datetime.date.today())) cron_log.info('index_mkt_stats --date=%s' % date_range) call_command('index_mkt_stats', addons=None, date=date_range, index=index, aliased=True)
def test_index(self): tasks.index_finance_total_by_currency([self.app.pk]) self.refresh(timesleep=1) raise SkipTest('Test is unreliable and causes intermittent failures.') # Grab document for each source breakdown and compare. for currency in self.currencies: # For some reason, query fails if uppercase letter in filter. document = (Contribution.search().filter(addon=self.app.pk, currency=currency.lower()).values_dict('currency', 'revenue', 'count', 'refunds', 'revenue_non_normalized')[0]) document = { 'count': document['count'], 'revenue': int(document['revenue']), 'refunds': document['refunds'], 'revenue_non_normalized': int(document['revenue_non_normalized'])} self.expected[currency]['revenue'] = ( int(self.expected[currency]['revenue']) ) self.expected[currency]['revenue_non_normalized'] = ( int(self.expected[currency]['revenue_non_normalized']) ) eq_(document, self.expected[currency])
def test_index(self): tasks.index_finance_total([self.app.pk]) self.refresh(timesleep=1) document = Contribution.search().filter(addon=self.app.pk).values_dict("revenue", "count", "refunds")[0] document = {"count": document["count"], "revenue": int(document["revenue"]), "refunds": document["refunds"]} self.expected["revenue"] = int(self.expected["revenue"]) eq_(document, self.expected)
def index_latest_mkt_stats(): latest_contribution = Contribution.search().order_by('-date' ).values_dict()[0]['date'] latest_install = Installed.search().order_by('-date' ).values_dict()[0]['date'] latest = min(latest_contribution, latest_install) fmt = lambda d: d.strftime('%Y-%m-%d') date_range = '%s:%s' % (fmt(latest), fmt(datetime.date.today())) cron_log.info('index_mkt_stats --date=%s' % date_range) call_command('index_mkt_stats', addons=None, date=date_range)
def index_latest_mkt_stats(): latest_contribution = Contribution.search().order_by( '-date').values_dict()[0]['date'] latest_install = Installed.search().order_by( '-date').values_dict()[0]['date'] latest = min(latest_contribution, latest_install) fmt = lambda d: d.strftime('%Y-%m-%d') date_range = '%s:%s' % (fmt(latest), fmt(datetime.date.today())) cron_log.info('index_mkt_stats --date=%s' % date_range) call_command('index_mkt_stats', addons=None, date=date_range)
def test_index(self): tasks.index_finance_total([self.app.pk]) self.refresh(timesleep=1) document = Contribution.search().filter(addon=self.app.pk ).values_dict('revenue', 'count', 'refunds')[0] document = {'count': document['count'], 'revenue': int(document['revenue']), 'refunds': document['refunds']} self.expected['revenue'] = int(self.expected['revenue']) eq_(document, self.expected)
def test_index(self): tasks.index_finance_total_by_src([self.app.pk]) self.refresh(timesleep=1) # Grab document for each source breakdown and compare. for source in self.sources: # For some reason, query fails if uppercase letter in filter. document = ( Contribution.search() .filter(addon=self.app.pk, source=source.lower()) .values_dict("source", "revenue", "count", "refunds")[0] ) document = {"count": document["count"], "revenue": int(document["revenue"]), "refunds": document["refunds"]} self.expected[source]["revenue"] = int(self.expected[source]["revenue"]) eq_(document, self.expected[source])
def test_index(self): tasks.index_finance_daily.delay(self.ids) self.refresh(timesleep=1) document = Contribution.search().filter(addon=self.app.pk).values_dict("date", "revenue", "count", "refunds")[0] date = document["date"] ex_date = self.expected["date"] eq_((date.year, date.month, date.day), (ex_date.year, ex_date.month, ex_date.day)) document = {"count": document["count"], "revenue": int(document["revenue"]), "refunds": document["refunds"]} del (self.expected["date"]) self.expected["revenue"] = int(self.expected["revenue"]) eq_(document, self.expected)
def test_index(self): tasks.index_finance_total([self.app.pk]) self.refresh(timesleep=1) document = Contribution.search().filter(addon=self.app.pk).values_dict( 'revenue', 'count', 'refunds')[0] document = { 'count': document['count'], 'revenue': int(document['revenue']), 'refunds': document['refunds'] } self.expected['revenue'] = int(self.expected['revenue']) eq_(document, self.expected)
def test_index(self): tasks.index_finance_total_by_src([self.app.pk]) self.refresh(timesleep=1) # Grab document for each source breakdown and compare. for source in self.sources: # For some reason, query fails if uppercase letter in filter. document = (Contribution.search().filter(addon=self.app.pk, source=source.lower()).values_dict('source', 'revenue', 'count', 'refunds')[0]) document = {'count': document['count'], 'revenue': int(document['revenue']), 'refunds': document['refunds']} self.expected[source]['revenue'] = ( int(self.expected[source]['revenue']) ) eq_(document, self.expected[source])
def test_index(self): tasks.index_finance_daily.delay(self.ids) self.refresh(timesleep=1) document = Contribution.search().filter(addon=self.app.pk ).values_dict('date', 'revenue', 'count', 'refunds')[0] date = document['date'] ex_date = self.expected['date'] eq_((date.year, date.month, date.day), (ex_date.year, ex_date.month, ex_date.day)) document = {'count': document['count'], 'revenue': int(document['revenue']), 'refunds': document['refunds']} del(self.expected['date']) self.expected['revenue'] = int(self.expected['revenue']) eq_(document, self.expected)
def test_index(self): tasks.index_finance_total_by_src([self.app.pk]) self.refresh(timesleep=1) # Grab document for each source breakdown and compare. for source in self.sources: # For some reason, query fails if uppercase letter in filter. document = (Contribution.search().filter( addon=self.app.pk, source=source.lower()).values_dict('source', 'revenue', 'count', 'refunds')[0]) document = { 'count': document['count'], 'revenue': int(document['revenue']), 'refunds': document['refunds'] } self.expected[source]['revenue'] = (int( self.expected[source]['revenue'])) eq_(document, self.expected[source])
def test_index(self): tasks.index_finance_daily.delay(self.ids) self.refresh(timesleep=1) document = Contribution.search().filter(addon=self.app.pk).values_dict( 'date', 'revenue', 'count', 'refunds')[0] date = document['date'] ex_date = self.expected['date'] eq_((date.year, date.month, date.day), (ex_date.year, ex_date.month, ex_date.day)) document = { 'count': document['count'], 'revenue': int(document['revenue']), 'refunds': document['refunds'] } del (self.expected['date']) self.expected['revenue'] = int(self.expected['revenue']) eq_(document, self.expected)
def test_index(self): tasks.index_finance_total_by_currency([self.app.pk]) self.refresh(timesleep=1) # Grab document for each source breakdown and compare. for currency in self.currencies: # For some reason, query fails if uppercase letter in filter. document = ( Contribution.search() .filter(addon=self.app.pk, currency=currency.lower()) .values_dict("currency", "revenue", "count", "refunds", "revenue_non_normalized")[0] ) document = { "count": document["count"], "revenue": int(document["revenue"]), "refunds": document["refunds"], "revenue_non_normalized": int(document["revenue_non_normalized"]), } self.expected[currency]["revenue"] = int(self.expected[currency]["revenue"]) self.expected[currency]["revenue_non_normalized"] = int(self.expected[currency]["revenue_non_normalized"]) eq_(document, self.expected[currency])
def test_index(self): tasks.index_finance_total_by_currency([self.app.pk]) self.refresh(timesleep=1) # Grab document for each source breakdown and compare. for currency in self.currencies: # For some reason, query fails if uppercase letter in filter. document = (Contribution.search().filter( addon=self.app.pk, currency=currency.lower()).values_dict( 'currency', 'revenue', 'count', 'refunds', 'revenue_non_normalized')[0]) document = { 'count': document['count'], 'revenue': int(document['revenue']), 'refunds': document['refunds'], 'revenue_non_normalized': int(document['revenue_non_normalized']) } self.expected[currency]['revenue'] = (int( self.expected[currency]['revenue'])) self.expected[currency]['revenue_non_normalized'] = (int( self.expected[currency]['revenue_non_normalized'])) eq_(document, self.expected[currency])