コード例 #1
0
ファイル: test_worker.py プロジェクト: willnx/vlab_quota
    def notest_enforce_quotas(self, fake_sleep, fake_log, fake_vCenter, fake_get_ldap_conn, fake_Database, fake_enforce_quotas):
        """``main`` calls ``_enforce_quotas``"""
        fake_sleep.side_effect = [None, RuntimeError('testing')]
        try:
            worker.main()
        except RuntimeError as doh:
            if '{}'.format(doh) == 'testing':
                pass
            else:
                raise

        self.assertTrue(fake_enforce_quotas.called)
コード例 #2
0
ファイル: test_worker.py プロジェクト: willnx/vlab_quota
    def notest_closes_ldap(self, fake_register, fake_sleep, fake_log, fake_vCenter, fake_get_ldap_conn, fake_Database, fake_enforce_quotas):
        """``main`` closes LDAP connection when the script exits"""
        fake_sleep.side_effect = [None, RuntimeError('testing')]
        try:
            worker.main()
        except RuntimeError as doh:
            if '{}'.format(doh) == 'testing':
                pass
            else:
                raise

        all_args = fake_register.call_args_list
        closes_ldap = fake_get_ldap_conn.return_value.unbind in [x[0][0] for x in all_args]

        self.assertTrue(closes_ldap)
コード例 #3
0
ファイル: test_worker.py プロジェクト: willnx/vlab_quota
    def notest_loop_sleep_positive(self, fake_time, fake_sleep, fake_log, fake_vCenter, fake_get_ldap_conn, fake_Database, fake_enforce_quotas):
        """``main`` sleeps for a positive value between zero and LOOP_INTERVAL"""
        fake_sleep.side_effect = [None, RuntimeError('testing')]
        loop_takes = int(worker.LOOP_INTERVAL / 2 ) + 100
        # Need 4 to mock until the sleep side_effect
        fake_time.side_effect = [100, loop_takes, loop_takes + 5, loop_takes + 10]
        try:
            worker.main()
        except RuntimeError as doh:
            if '{}'.format(doh) == 'testing':
                pass
            else:
                raise
        postive_sleep = fake_sleep.call_args[0][0] >= 0

        self.assertTrue(postive_sleep)
コード例 #4
0
ファイル: test_worker.py プロジェクト: willnx/vlab_quota
    def notest_loop_sleep_zero(self, fake_time, fake_sleep, fake_log, fake_vCenter, fake_get_ldap_conn, fake_Database, fake_enforce_quotas):
        """``main`` doesn't pause if enforcing quotas takes longer than the loop interval"""
        fake_sleep.side_effect = [None, RuntimeError('testing')]
        loop_takes = int(worker.LOOP_INTERVAL * 2 ) + 100
        # Need 4 to mock until the sleep side_effect
        fake_time.side_effect = [100, loop_takes, loop_takes + 5, loop_takes + 10]
        try:
            worker.main()
        except RuntimeError as doh:
            if '{}'.format(doh) == 'testing':
                pass
            else:
                raise
        first_sleep = fake_sleep.call_args_list[0][0][0]
        expected = 0

        self.assertEqual(first_sleep, expected)
コード例 #5
0
ファイル: test_worker.py プロジェクト: willnx/vlab_quota
    def test_loop_sleep_negitive(self, fake_time, fake_sleep, fake_log, fake_vCenter, fake_get_ldap_conn, fake_Database, fake_enforce_quotas):
        """``main`` the sleep at the end of the loop is always positive, even if the clock moves backwards"""
        fake_sleep.side_effect = [None, RuntimeError('testing')]
        loop_takes = int(worker.LOOP_INTERVAL * 2 ) + 100
        # Need 4 to mock until the sleep side_effect
        fake_time.side_effect = [100, 95, 85, 75]
        try:
            worker.main()
        except RuntimeError as doh:
            if '{}'.format(doh) == 'testing':
                pass
            else:
                raise
        first_sleep = fake_sleep.call_args_list[0][0][0]
        expected = 10

        self.assertEqual(first_sleep, expected)