def test_raises_invalid_cohort_for_any_metric(self): self.cohort.validated = False self.session.commit() for name, metric in metric_classes.iteritems(): if not metric.show_in_ui: continue parameters = { 'name': '{0} - test'.format(name), 'cohort': { 'id': self.cohort.id, 'name': self.cohort.name, }, 'metric': { 'name': name, 'namespaces': [0, 1, 2], 'start_date': '2013-01-01 00:00:00', 'end_date': '2013-01-02 00:00:00', 'individualResults': True, 'aggregateResults': False, 'aggregateSum': False, 'aggregateAverage': False, 'aggregateStandardDeviation': False, }, } try: RunReport(parameters, user_id=self.owner_user_id) except InvalidCohort: continue assert_true(False)
def test_does_not_run_invalid_cohort_for_any_metric(self): self.cohort.validated = False self.session.commit() for name, metric in metric_classes.iteritems(): if not metric.show_in_ui: continue parameters = { 'name': '{0} - test'.format(name), 'cohort': { 'id': self.cohort.id, 'name': self.cohort.name, }, 'metric': { 'name': name, 'namespaces': [0, 1, 2], 'start_date': '2013-01-01 00:00:00', 'end_date': '2013-01-02 00:00:00', 'individualResults': True, 'aggregateResults': False, 'aggregateSum': False, 'aggregateAverage': False, 'aggregateStandardDeviation': False, }, } jr = RunReport(parameters, user_id=self.owner_user_id) results = jr.task.delay(jr).get() self.session.commit() result_key = self.session.query(PersistentReport) \ .get(jr.persistent_id) \ .result_key assert_true( results[result_key]['FAILURE'].find('ran with invalid cohort') >= 0, '{0} ran with invalid cohort'.format(name) )