*/
@SuppressWarnings(value="deprecation")
public void testResolvedJndiNamesWithKnownIfacesEntity()
{
// Obtain MD
JBossEntityBeanMetaData beanMD = getEntityMetaData();
// Declare Interfaces
String local = "org.jboss.ifaces.LocalIF";
String localHome = "org.jboss.ifaces.LocalHomeIF";
String home = "org.jboss.ifaces.HomeIF";
String remote = "org.jboss.ifaces.RemoteIF";
String randomInterface = "org.jboss.test.some.IFace";
// Manually set interfaces on MD
beanMD.setLocal(local);
beanMD.setLocalHome(localHome);
beanMD.setHome(home);
beanMD.setRemote(remote);
// Define expected results
String expectedRemote = "base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name";
String expectedHome = "base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/home";
String expectedLocalHome = "base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/localHome";
String expectedRandomInterface = "base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/" + randomInterface;
// Resolve
String resolvedDefault = JbossEnterpriseBeanJndiNameResolver.resolveJndiName(beanMD, null);
String resolvedHomeUsingInterface = JbossEnterpriseBeanJndiNameResolver.resolveJndiName(beanMD, home);
String resolvedHomeUsingType = JbossEnterpriseBeanJndiNameResolver.resolveJndiName(beanMD, KnownInterfaces.HOME);
String resolvedLocalHomeUsingInterface = JbossEnterpriseBeanJndiNameResolver.resolveJndiName(beanMD, localHome);
String resolvedLocalHomeUsingType = JbossEnterpriseBeanJndiNameResolver.resolveJndiName(beanMD, KnownInterfaces.LOCAL_HOME);
String resolvedInterfaceSpecific = JbossEnterpriseBeanJndiNameResolver.resolveJndiName(beanMD, randomInterface);
// Test
assertEquals(expectedRemote, resolvedDefault);
assertEquals(expectedHome, resolvedHomeUsingInterface);
assertEquals(expectedHome, resolvedHomeUsingType);
assertEquals(expectedLocalHome, resolvedLocalHomeUsingInterface);
assertEquals(expectedLocalHome, resolvedLocalHomeUsingType);
assertEquals(expectedRandomInterface, resolvedInterfaceSpecific);
// Test Deprecated, backwards-compat behavior (may be removed when these methods no longer exist, JBMETA-68)
String resolvedJndiNameD = beanMD.determineResolvedJndiName(null, null);
assertEquals(expectedRemote, resolvedJndiNameD);
String resolvedJndiNameHomeD = beanMD.determineResolvedJndiName(home, null);
assertEquals(expectedHome, resolvedJndiNameHomeD);
String resolvedJndiNameLocalHomeD = beanMD.determineResolvedJndiName(localHome, null);
assertEquals(expectedLocalHome, resolvedJndiNameLocalHomeD);
String resolvedJndiNameIfaceD = beanMD.determineResolvedJndiName(randomInterface, null);
assertEquals(expectedRandomInterface, resolvedJndiNameIfaceD);
}