def test_days_missed_0(self):
     missed_days = RunReport.days_missed(self.reports[0], self.session)
     assert_equals(missed_days, set([
         self.today - timedelta(days=1),
         self.today - timedelta(days=2),
         self.today - timedelta(days=11),
     ]))
 def test_days_missed_2(self):
     self.add_runs_to_report(2)
     missed_days = RunReport.days_missed(self.reports[2], self.session)
     assert_equals(
         set(missed_days),
         set([
             self.today - timedelta(days=m) for m in self.missed_by_index[2]
         ]))
 def test_days_missed_1(self):
     missed_days = RunReport.days_missed(self.reports[1], self.session)
     assert_equals(missed_days, set([
         self.today - timedelta(days=1),
         self.today - timedelta(days=2),
         self.today - timedelta(days=11),
         # NOTE: search stops at 30 days, so it doesn't matter that
         # the 31 and 33 days-ago runs were missed
     ]))
    def test_days_missed_2_with_cleanup(self):
        self.add_runs_to_report(2)

        # change some reports back to pending to make sure they're cleaned up
        map(make_pending, self.report_runs[0::2])
        self.session.commit()

        missed_days = RunReport.days_missed(self.reports[2], self.session)
        assert_equals(
            set(missed_days),
            set([
                self.today - timedelta(days=m) for m in self.missed_by_index[2]
            ] + [r.created for r in self.report_runs[0::2]]))