01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */
19: package org.apache.openjpa.enhance;
20:
21: import javax.persistence.EntityManager;
22:
23: import org.apache.openjpa.persistence.test.SingleEMFTestCase;
24: import org.apache.openjpa.util.ImplHelper;
25:
26: public class TestEnhancementConfiguration extends SingleEMFTestCase {
27:
28: public void testEnhancementConfiguration() {
29: try {
30: emf = createEMF("openjpa.RuntimeUnenhancedClasses",
31: "unsupported", UnenhancedFieldAccess.class,
32: CLEAR_TABLES);
33: assertFalse(ImplHelper
34: .isManagedType(emf.getConfiguration(),
35: UnenhancedFieldAccess.class));
36: emf.createEntityManager().close();
37: fail("should not be possible to fully-initialize a system "
38: + "that depends on unenhanced types but disables runtime"
39: + "redefinition.");
40: } catch (Exception e) {
41: assertTrue(e
42: .getMessage()
43: .contains(
44: "This configuration disallows runtime optimization"));
45: }
46: }
47: }
|