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)
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)
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)
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)
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)