def test_release(self):
     task_id = "test_release_task_id"
     threshold = 30
     retval = EnforceSingleTask.lock(task_id, seconds_expire=threshold)
     self.assertTrue(retval)
     # Subsequent call should fail since it has been 'locked'
     self.assertFalse(EnforceSingleTask.lock(task_id, seconds_expire=threshold))
     self.assertIsNotNone(EnforceSingleTask.release(task_id))
     self.assertTrue(EnforceSingleTask.lock(task_id, seconds_expire=threshold))
 def test_release_from_diff_pid(self):
     # Create an entry from a dummy pid
     task_id = "test_release_from_diff_pid_task_id"
     pid = os.getpid() + 1
     entry = SingleTaskInfo(task_id=task_id, owner_pid=pid)
     entry.save()
     self.assertEquals(1, SingleTaskInfo.objects(task_id=task_id).count())
     self.assertIsNone(EnforceSingleTask.release(task_id))
     # Verify the remove did nothing because our 'pid' didn't match the entrie's pid
     self.assertEquals(1, SingleTaskInfo.objects(task_id=task_id).count())