org.apache.openejb.test.stateful.StatefulAllowedOperationsTests Maven / Gradle / Ivy
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.openejb.test.stateful;
import org.apache.openejb.test.object.OperationsPolicy;
/**
* [9] Should be run as the nineth test suite of the BasicStatefulTestClients
*
*
* =========================================================================
* Operations allowed in the methods of a stateful SessionBean with
* container-managed transaction demarcation
* =========================================================================
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* constructor | -
* ______________________|__________________________________________________
* |
* setSessionContext | SessionContext methods:
* | - getEJBHome
* | JNDI access to java:comp/env
* ______________________|__________________________________________________
* |
* ejbCreate | SessionContext methods:
* ejbRemove | - getEJBHome
* ejbActivate | - getCallerPrincipal
* ejbPassivate | - isCallerInRole
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
* |
* business method | SessionContext methods:
* from remote interface | - getEJBHome
* | - getCallerPrincipal
* | - getRollbackOnly
* | - isCallerInRole
* | - setRollbackOnly
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
* |
* afterBegin | SessionContext methods:
* beforeCompletion | - getEJBHome
* | - getCallerPrincipal
* | - getRollbackOnly
* | - isCallerInRole
* | - setRollbackOnly
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
* |
* afterCompletion | SessionContext methods:
* | - getEJBHome
* | - getCallerPrincipal
* | - isCallerInRole
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
*
*/
public class StatefulAllowedOperationsTests extends BasicStatefulTestClient {
public StatefulAllowedOperationsTests() {
super("AllowedOperations.");
}
protected void setUp() throws Exception {
super.setUp();
final Object obj = initialContext.lookup("client/tests/stateful/BasicStatefulHome");
ejbHome = (BasicStatefulHome) javax.rmi.PortableRemoteObject.narrow(obj, BasicStatefulHome.class);
ejbObject = ejbHome.createObject("Fourth Bean");
ejbHandle = ejbObject.getHandle();
/* These tests will only work if the specified
* method has already been called by the container.
*
* TO DO:
* Implement a little application senario to ensure
* that all methods tested for below have been called
* by the container.
*/
}
protected void tearDown() throws Exception {
ejbObject.remove();
super.tearDown();
}
//=====================================
// Test EJBContext allowed operations
//
/**
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* setSessionContext | SessionContext methods:
* | - getEJBHome
* | JNDI access to java:comp/env
* ______________________|__________________________________________________
*
*/
public void test01_setSessionContext() {
try {
final OperationsPolicy policy = new OperationsPolicy();
policy.allow(policy.Context_getEJBHome);
policy.allow(policy.JNDI_access_to_java_comp_env);
final Object expected = policy;
final Object actual = ejbObject.getAllowedOperationsReport("setSessionContext");
assertNotNull("The OperationsPolicy is null", actual);
assertEquals(expected, actual);
} catch (final Exception e) {
fail("Received Exception " + e.getClass() + " : " + e.getMessage());
}
}
/**
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* ejbCreate | SessionContext methods:
* ejbRemove | - getEJBHome
* ejbActivate | - getCallerPrincipal
* ejbPassivate | - isCallerInRole
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
*
*/
public void test02_ejbCreate() {
try {
final OperationsPolicy policy = new OperationsPolicy();
policy.allow(policy.Context_getEJBHome);
policy.allow(policy.Context_getCallerPrincipal);
policy.allow(policy.Context_isCallerInRole);
policy.allow(policy.Context_getEJBObject);
policy.allow(policy.JNDI_access_to_java_comp_env);
final Object expected = policy;
final Object actual = ejbObject.getAllowedOperationsReport("ejbCreate");
assertNotNull("The OperationsPolicy is null", actual);
assertEquals(expected, actual);
} catch (final Exception e) {
fail("Received Exception " + e.getClass() + " : " + e.getMessage());
}
}
/**
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* ejbCreate | SessionContext methods:
* ejbRemove | - getEJBHome
* ejbActivate | - getCallerPrincipal
* ejbPassivate | - isCallerInRole
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
*
*/
public void test03_ejbRemove() {
try {
/* TO DO: This test needs unique functionality to work */
final OperationsPolicy policy = new OperationsPolicy();
policy.allow(policy.Context_getEJBHome);
policy.allow(policy.Context_getCallerPrincipal);
policy.allow(policy.Context_isCallerInRole);
policy.allow(policy.Context_getEJBObject);
policy.allow(policy.JNDI_access_to_java_comp_env);
final Object expected = policy;
final Object actual = ejbObject.getAllowedOperationsReport("ejbRemove");
assertNotNull("The OperationsPolicy is null", actual);
assertEquals(expected, actual);
} catch (final Exception e) {
fail("Received Exception " + e.getClass() + " : " + e.getMessage());
}
}
/**
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* ejbCreate | SessionContext methods:
* ejbRemove | - getEJBHome
* ejbActivate | - getCallerPrincipal
* ejbPassivate | - isCallerInRole
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
*
*/
public void test04_ejbActivate() {
try {
final OperationsPolicy policy = new OperationsPolicy();
policy.allow(policy.Context_getEJBHome);
policy.allow(policy.Context_getCallerPrincipal);
policy.allow(policy.Context_isCallerInRole);
policy.allow(policy.Context_getEJBObject);
policy.allow(policy.JNDI_access_to_java_comp_env);
final Object expected = policy;
final Object actual = ejbObject.getAllowedOperationsReport("ejbActivate");
assertNotNull("The OperationsPolicy is null", actual);
assertEquals(expected, actual);
} catch (final Exception e) {
fail("Received Exception " + e.getClass() + " : " + e.getMessage());
}
}
/**
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* ejbCreate | SessionContext methods:
* ejbRemove | - getEJBHome
* ejbActivate | - getCallerPrincipal
* ejbPassivate | - isCallerInRole
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
*
*/
public void test05_ejbPassivate() {
try {
final OperationsPolicy policy = new OperationsPolicy();
policy.allow(policy.Context_getEJBHome);
policy.allow(policy.Context_getCallerPrincipal);
policy.allow(policy.Context_isCallerInRole);
policy.allow(policy.Context_getEJBObject);
policy.allow(policy.JNDI_access_to_java_comp_env);
final Object expected = policy;
final Object actual = ejbObject.getAllowedOperationsReport("ejbPassivate");
assertNotNull("The OperationsPolicy is null", actual);
assertEquals(expected, actual);
} catch (final Exception e) {
fail("Received Exception " + e.getClass() + " : " + e.getMessage());
}
}
/**
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* business method | SessionContext methods:
* from remote interface | - getEJBHome
* | - getCallerPrincipal
* | - getRollbackOnly
* | - isCallerInRole
* | - setRollbackOnly
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
*
*/
public void test06_businessMethod() {
try {
final OperationsPolicy policy = new OperationsPolicy();
policy.allow(policy.Context_getEJBHome);
policy.allow(policy.Context_getCallerPrincipal);
policy.allow(policy.Context_getRollbackOnly);
policy.allow(policy.Context_isCallerInRole);
policy.allow(policy.Context_setRollbackOnly);
policy.allow(policy.Context_getEJBObject);
policy.allow(policy.JNDI_access_to_java_comp_env);
final Object expected = policy;
final Object actual = ejbObject.getAllowedOperationsReport("businessMethod");
assertNotNull("The OperationsPolicy is null", actual);
assertEquals(expected, actual);
} catch (final Exception e) {
fail("Received Exception " + e.getClass() + " : " + e.getMessage());
}
}
/**
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* afterBegin | SessionContext methods:
* beforeCompletion | - getEJBHome
* | - getCallerPrincipal
* | - getRollbackOnly
* | - isCallerInRole
* | - setRollbackOnly
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
*
*/
public void test07_afterBegin() {
try {
final OperationsPolicy policy = new OperationsPolicy();
policy.allow(policy.Context_getEJBHome);
policy.allow(policy.Context_getCallerPrincipal);
policy.allow(policy.Context_getRollbackOnly);
policy.allow(policy.Context_isCallerInRole);
policy.allow(policy.Context_setRollbackOnly);
policy.allow(policy.Context_getEJBObject);
policy.allow(policy.JNDI_access_to_java_comp_env);
final Object expected = policy;
final Object actual = ejbObject.getAllowedOperationsReport("afterBegin");
assertNotNull("The OperationsPolicy is null", actual);
assertEquals(expected, actual);
} catch (final Exception e) {
fail("Received Exception " + e.getClass() + " : " + e.getMessage());
}
}
/**
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* afterBegin | SessionContext methods:
* beforeCompletion | - getEJBHome
* | - getCallerPrincipal
* | - getRollbackOnly
* | - isCallerInRole
* | - setRollbackOnly
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
*
*/
public void test08_beforeCompletion() {
try {
final OperationsPolicy policy = new OperationsPolicy();
policy.allow(policy.Context_getEJBHome);
policy.allow(policy.Context_getCallerPrincipal);
policy.allow(policy.Context_getRollbackOnly);
policy.allow(policy.Context_isCallerInRole);
policy.allow(policy.Context_setRollbackOnly);
policy.allow(policy.Context_getEJBObject);
policy.allow(policy.JNDI_access_to_java_comp_env);
final Object expected = policy;
final Object actual = ejbObject.getAllowedOperationsReport("beforeCompletion");
assertNotNull("The OperationsPolicy is null", actual);
assertEquals(expected, actual);
} catch (final Exception e) {
fail("Received Exception " + e.getClass() + " : " + e.getMessage());
}
}
/**
*
* Bean method | Bean method can perform the following operations
* ______________________|__________________________________________________
* |
* afterCompletion | SessionContext methods:
* | - getEJBHome
* | - getCallerPrincipal
* | - isCallerInRole
* | - getEJBObject
* | JNDI access to java:comp/env
* | Resource manager access
* | Enterprise bean access
* ______________________|__________________________________________________
*
*/
public void test09_afterCompletion() {
try {
final OperationsPolicy policy = new OperationsPolicy();
policy.allow(policy.Context_getEJBHome);
policy.allow(policy.Context_getCallerPrincipal);
policy.allow(policy.Context_isCallerInRole);
policy.allow(policy.Context_getEJBObject);
policy.allow(policy.JNDI_access_to_java_comp_env);
final Object expected = policy;
final Object actual = ejbObject.getAllowedOperationsReport("afterCompletion");
assertNotNull("The OperationsPolicy is null", actual);
assertEquals(expected, actual);
} catch (final Exception e) {
fail("Received Exception " + e.getClass() + " : " + e.getMessage());
}
}
//
// Test EJBContext allowed operations
//=====================================
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy