def test_stack_lock_steal_fail_stolen(self): db_api.stack_lock_create(self.stack.id, UUID1) # Simulate stolen lock db_api.stack_lock_release(self.stack.id, UUID1) db_api.stack_lock_create(self.stack.id, UUID2) observed = db_api.stack_lock_steal(self.stack.id, UUID3, UUID2) self.assertEqual(UUID2, observed)
def create_stack_lock(ctx, stack_id, engine_id): return db_api.stack_lock_create(ctx, stack_id, engine_id)
def test_stack_lock_release_fail_wrong_engine_id(self): db_api.stack_lock_create(self.stack.id, UUID1) observed = db_api.stack_lock_release(self.stack.id, UUID2) self.assertTrue(observed)
def test_stack_lock_release_fail_double(self): db_api.stack_lock_create(self.stack.id, UUID1) db_api.stack_lock_release(self.stack.id, UUID1) observed = db_api.stack_lock_release(self.stack.id, UUID1) self.assertTrue(observed)
def test_stack_lock_release_success(self): db_api.stack_lock_create(self.stack.id, UUID1) observed = db_api.stack_lock_release(self.stack.id, UUID1) self.assertIsNone(observed)
def test_stack_lock_steal_fail_gone(self): db_api.stack_lock_create(self.stack.id, UUID1) db_api.stack_lock_release(self.stack.id, UUID1) observed = db_api.stack_lock_steal(self.stack.id, UUID1, UUID2) self.assertTrue(observed)
def test_stack_lock_steal_success(self): db_api.stack_lock_create(self.stack.id, UUID1) observed = db_api.stack_lock_steal(self.stack.id, UUID1, UUID2) self.assertIsNone(observed)
def test_stack_lock_create_fail_double_different(self): db_api.stack_lock_create(self.stack.id, UUID1) observed = db_api.stack_lock_create(self.stack.id, UUID2) self.assertEqual(UUID1, observed)
def create(cls, context, stack_id, engine_id): return db_api.stack_lock_create(context, stack_id, engine_id)