示例#1
0
    def test_future(self):
        days = 7


        u_exp5 = User(username='******', password='******', email='.')
        u_exp5.add_paid_time(timedelta(days=5))
        self.session.add(u_exp5)

        u_exp10 = User(username='******', password='******', email='.')
        u_exp10.add_paid_time(timedelta(days=10))
        self.session.add(u_exp10)

        # Same, with last_expiry_notice
        u_exp5l = User(username='******', password='******', email='.')
        u_exp5l.last_expiry_notice = datetime.now() - timedelta(days=1)
        u_exp5l.add_paid_time(timedelta(days=5))
        self.session.add(u_exp5l)

        u_exp5ll = User(username='******', password='******', email='.')
        u_exp5ll.last_expiry_notice = datetime.now() - timedelta(days=30)
        u_exp5ll.add_paid_time(timedelta(days=5))
        self.session.add(u_exp5ll)

        u_exp5 = self.session.query(User).filter_by(username='******').one()
        u_exp10 = self.session.query(User).filter_by(username='******').one()
        u_exp5l = self.session.query(User).filter_by(username='******').one()
        u_exp5ll = self.session.query(User).filter_by(username='******').one()

        users = expire_mail.get_future_expire(days)
        self.assertIn(u_exp5, users)
        self.assertNotIn(u_exp10, users)
        self.assertNotIn(u_exp5l, users)
        self.assertIn(u_exp5ll, users)