blob: 5a58b3cdf52b4c2b7ea5fba8912d3aa8715375c5 [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.testing.tests.lob;
import org.eclipse.persistence.testing.framework.DeleteObjectTest;
import org.eclipse.persistence.queries.ReadObjectQuery;
import org.eclipse.persistence.sessions.UnitOfWork;
/**
* <p>
* <b>Purpose</b>: Define a test for deleting CLOB/BLOB from the database.
* <p>
* <b>Responsibilities</b>:
* <ul>
* <li> Insert a new object (with BLOB/CLOB value) ready for deleting
* <li> Execute the delete object query to delete the inserted object and verify no errors occurred.
* <li> Verify the object has been completely deleted from the database.
* </ul>
*
* @author King Wang (Aug. 2002)
* @since TopLink/Java 5.0
*/
public class LOBDeleteTest extends DeleteObjectTest {
public LOBDeleteTest(Object originalObject) {
this.originalObject = originalObject;
setName("LOBDeleteTest(" + originalObject + ")");
setDescription("This case tests the BLOB/CLOB delete with size less or bigger than 4k and checks if it was deleted properly");
}
@Override
protected void setup() {
getAbstractSession().beginTransaction();
//insert the object into database during the setup (assume the brand new object)
UnitOfWork uow = getSession().acquireUnitOfWork();
uow.registerObject(this.originalObject);
uow.assignSequenceNumber(originalObject);
uow.commit();
this.query = new ReadObjectQuery();
this.query.setSelectionObject(this.originalObject);
objectFromDatabase = getSession().executeQuery(this.query);
}
}