Best Python code snippet using autotest_python
monitor_db_cleanup_test.py
Source:monitor_db_cleanup_test.py
1#!/usr/bin/python2import common3import logging, unittest4from autotest_lib.frontend import setup_django_environment5from autotest_lib.database import database_connection6from autotest_lib.frontend.afe import frontend_test_utils, models7from autotest_lib.scheduler import monitor_db_cleanup, scheduler_config8from autotest_lib.client.common_lib import host_protections9class UserCleanupTest(unittest.TestCase, frontend_test_utils.FrontendTestMixin):10 def setUp(self):11 logging.basicConfig(level=logging.DEBUG)12 self._frontend_common_setup()13 self._database = (14 database_connection.DatabaseConnection.get_test_database())15 self._database.connect(db_type='django')16 self.cleanup = monitor_db_cleanup.UserCleanup(self._database, 1)17 def tearDown(self):18 self._frontend_common_teardown()19 def test_reverify_dead_hosts(self):20 # unlimited reverifies21 self.god.stub_with(scheduler_config.config,22 'reverify_max_hosts_at_once', 0)23 for i in (0, 1, 2):24 self.hosts[i].status = models.Host.Status.REPAIR_FAILED25 self.hosts[i].save()26 self.hosts[1].locked = True27 self.hosts[1].save()28 self.hosts[2].protection = host_protections.Protection.DO_NOT_VERIFY29 self.hosts[2].save()30 self.god.stub_with(self.cleanup, '_should_reverify_hosts_now',31 lambda : True)32 self.cleanup._reverify_dead_hosts()33 tasks = models.SpecialTask.objects.all()34 self.assertEquals(len(tasks), 1)35 self.assertEquals(tasks[0].host.id, 1)36 self.assertEquals(tasks[0].task, models.SpecialTask.Task.VERIFY)37 def test_reverify_dead_hosts_limits(self):38 # limit the number of reverifies39 self.assertTrue(hasattr(scheduler_config.config,40 'reverify_max_hosts_at_once'))41 self.god.stub_with(scheduler_config.config,42 'reverify_max_hosts_at_once', 2)43 for i in (0, 1, 2, 3, 4, 5):44 self.hosts[i].status = models.Host.Status.REPAIR_FAILED45 self.hosts[i].save()46 self.hosts[1].locked = True47 self.hosts[1].save()48 self.hosts[2].protection = host_protections.Protection.DO_NOT_VERIFY49 self.hosts[2].save()50 self.god.stub_with(self.cleanup, '_should_reverify_hosts_now',51 lambda : True)52 self.cleanup._reverify_dead_hosts()53 tasks = models.SpecialTask.objects.all()54 # four hosts need reverifying but our max limit was set to 255 self.assertEquals(len(tasks), 2)56 self.assertTrue(tasks[0].host.id in (1, 4, 5, 6))57 self.assertTrue(tasks[1].host.id in (1, 4, 5, 6))58 self.assertEquals(tasks[0].task, models.SpecialTask.Task.VERIFY)59 self.assertEquals(tasks[1].task, models.SpecialTask.Task.VERIFY)60if __name__ == '__main__':...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!