def test_check_pid(self):
     self.assertTrue(EnforceSingleTask.check_pid(os.getpid()))
     # Unsure how to determine a PID which definitely isn't running
     # instead will look at a range and first time we receive a false will
     # assume this is working correctly and PID wasn't running
     found = False
     for pid in range(1000, 20000):
          if not EnforceSingleTask.check_pid(pid):
             found = True
             break
     self.assertTrue(found)
 def test_remove_not_running(self):
     not_running = None
     for pid in range(1000, 20000):
          if not EnforceSingleTask.check_pid(pid):
             not_running = pid
             break
     self.assertIsNotNone(not_running)
     ##
     # Create an entry 'owned' by PID of 'not_running'
     ##
     task_id = "test_remove_not_running_task_id"
     entry = SingleTaskInfo(task_id=task_id, owner_pid=not_running)
     entry.save()
     self.assertEquals(1, SingleTaskInfo.objects(task_id=task_id).count())
     retval = EnforceSingleTask.remove_not_running(task_id)
     self.assertIsNotNone(retval)
     # verify it has been removed
     self.assertEquals(0, SingleTaskInfo.objects(task_id=task_id).count())
     ##
     # Create an entry 'owned' by running PID, verify it is not removed
     ##
     entry = SingleTaskInfo(task_id=task_id, owner_pid=os.getpid())
     entry.save()
     self.assertEquals(1, SingleTaskInfo.objects(task_id=task_id).count())
     retval = EnforceSingleTask.remove_not_running(task_id)
     # verify it has _not_ been removed
     self.assertIsNone(retval)
     self.assertEquals(1, SingleTaskInfo.objects(task_id=task_id).count())