blob: 44a4e0199d81c98ec443caa4f9dbb6e3e9d09973 [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.queries;
import org.eclipse.persistence.queries.*;
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.testing.framework.*;
/**
* This tests if refresh with no cache and no identity map works.
*/
public class RefreshNoCacheWithNoIdentityMapTest extends org.eclipse.persistence.testing.framework.AutoVerifyTestCase {
public TestClass1 firstField;
public TestClass1 test1;
public ReadObjectQuery query;
public ClassDescriptor descript;
/**
* RefreshNoCacheWithNoIdentityMapTest constructor comment.
*/
public RefreshNoCacheWithNoIdentityMapTest() {
setDescription("Tests if Refresh with no cache works with" + " No Identity Map");
}
@Override
public void test() {
// read one object
firstField = (TestClass1)getSession().readObject(TestClass1.class);
// create a new object and assign it the primary key of the previous one that was read
test1 = new TestClass1();
test1.setPkey((firstField.getPkey()));
// set up a read object query on TestClass1
query = new ReadObjectQuery();
query.setReferenceClass(TestClass1.class);
//load the first object read into the second one. Since no cache is used
//this is how refresh is done.
query.setSelectionObject(test1);
query.loadResultIntoSelectionObject();
getSession().executeQuery(query);
}
// compare both objects to ensure they are equal.
@Override
protected void verify() {
if (!compareObjects(test1, firstField)) {
throw new TestException(" Refresh with no identity and no cache does not work");
}
}
}