def test_remove_by_owner(self):
     task_id = "test_remove_by_owner_task_id"
     pid = os.getpid()
     entry = SingleTaskInfo(task_id=task_id, owner_pid=pid)
     entry.save()
     self.assertEquals(1, SingleTaskInfo.objects(task_id=task_id).count())
     retval = EnforceSingleTask.remove_by_owner(task_id, pid)
     self.assertIsNotNone(retval)
     self.assertEquals(0, SingleTaskInfo.objects(task_id=task_id).count())
     ##
     # Simulate how another process that used there own pid wouldn't
     # delete the entry
     ##
     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())
     retval = EnforceSingleTask.remove_by_owner(task_id, os.getpid())
     self.assertIsNone(retval)
     self.assertEquals(1, SingleTaskInfo.objects(task_id=task_id).count())