コード例 #1
0
    def test_payday_prevents_human_errors(self, date):

        date.today.return_value.isoweekday.return_value = 2
        with self.assertRaises(AssertionError) as cm:
            main()
        assert cm.exception.message == "today is not Wednesday (2 != 3)"

        date.today.return_value.isoweekday.return_value = 3

        with self.db.get_connection() as conn:
            cursor = conn.cursor()
            lock = cursor.one("SELECT pg_try_advisory_lock(1)")
            assert lock  # sanity check
            with self.assertRaises(AssertionError) as cm:
                main()
            assert cm.exception.message == "failed to acquire the payday lock"

        main()

        with self.assertRaises(AssertionError) as cm:
            main()
        assert cm.exception.message == "payday has already been run this week"
コード例 #2
0
ファイル: test_payday.py プロジェクト: fracolo/liberapay.com
    def test_payday_prevents_human_errors(self, date):

        date.today.return_value.isoweekday.return_value = 2
        with self.assertRaises(AssertionError) as cm:
            main()
        assert cm.exception.message == "today is not Wednesday (2 != 3)"

        date.today.return_value.isoweekday.return_value = 3

        with self.db.get_connection() as conn:
            cursor = conn.cursor()
            lock = cursor.one("SELECT pg_try_advisory_lock(1)")
            assert lock  # sanity check
            with self.assertRaises(AssertionError) as cm:
                main()
            assert cm.exception.message == "failed to acquire the payday lock"

        main()

        with self.assertRaises(AssertionError) as cm:
            main()
        assert cm.exception.message == "payday has already been run this week"
コード例 #3
0
    def test_payday_prevents_human_errors(self):
        with self.db.get_connection() as conn:
            cursor = conn.cursor()
            lock = cursor.one("SELECT pg_try_advisory_lock(1)")
            assert lock  # sanity check
            with self.assertRaises(AssertionError) as cm:
                main()
            assert cm.exception.args[0] == "failed to acquire the payday lock"

        main()

        with self.assertRaises(AssertionError) as cm:
            main()
        assert cm.exception.args[0] == "payday has already been run this week"

        admin = self.make_participant('admin', privileges=1)
        r = self.client.PxST('/admin/payday', data={'action': 'run_payday'}, auth_as=admin)
        assert r.code == 403
        assert r.text == "it's not time to run payday"
コード例 #4
0
    def test_payday_prevents_human_errors(self):
        with self.db.get_connection() as conn:
            cursor = conn.cursor()
            lock = cursor.one("SELECT pg_try_advisory_lock(1)")
            assert lock  # sanity check
            with self.assertRaises(AssertionError) as cm:
                main()
            assert cm.exception.msg == "failed to acquire the payday lock"

        main()

        with self.assertRaises(AssertionError) as cm:
            main()
        assert cm.exception.msg == "payday has already been run this week"

        admin = self.make_participant('admin', privileges=1)
        r = self.client.PxST('/admin/payday', data={'action': 'run_payday'}, auth_as=admin)
        assert r.code == 403
        assert r.text == "it's not time to run payday"
コード例 #5
0
 def test_payday_id_is_serial(self):
     for i in range(1, 4):
         self.db.run("SELECT nextval('paydays_id_seq')")
         main(override_payday_checks=True)
         id = self.db.one("SELECT id FROM paydays ORDER BY id DESC LIMIT 1")
         assert id == i
コード例 #6
0
 def test_payday_id_is_serial(self):
     for i in range(1, 4):
         self.db.run("SELECT nextval('paydays_id_seq')")
         main(override_payday_checks=True)
         id = self.db.one("SELECT id FROM paydays ORDER BY id DESC LIMIT 1")
         assert id == i