def test_action_create_conflict(self, mock_lock, mock_active, mock_store): mock_store.return_value = 'FAKE_ID' uuid1 = 'ce982cd5-26da-4e2c-84e5-be8f720b7478' uuid2 = 'ce982cd5-26da-4e2c-84e5-be8f720b7479' mock_active.return_value = [ao.Action(id=uuid1), ao.Action(id=uuid2)] mock_lock.return_value = False error_message = ( 'The NODE_CREATE action for target {} conflicts with the following' ' action\(s\): {},{}').format(OBJID, uuid1, uuid2) with self.assertRaisesRegexp(exception.ActionConflict, error_message): ab.Action.create(self.ctx, OBJID, 'NODE_CREATE', name='test') mock_store.assert_not_called() mock_active.assert_called_once_with(mock.ANY, OBJID)
def test_action_create_node_operation_no_conflict(self, mock_lock, mock_active, mock_store): mock_store.return_value = 'FAKE_ID' uuid1 = 'ce982cd5-26da-4e2c-84e5-be8f720b7478' uuid2 = 'ce982cd5-26da-4e2c-84e5-be8f720b7479' mock_active.return_value = [ ao.Action(id=uuid1, action='NODE_DELETE'), ao.Action(id=uuid2, action='NODE_DELETE') ] mock_lock.return_value = True result = ab.Action.create(self.ctx, OBJID, 'NODE_OPERATION', name='test') self.assertEqual('FAKE_ID', result) mock_store.assert_called_once_with(self.ctx) mock_active.assert_called_once_with(mock.ANY, OBJID)