package org.marketcetera.util.ws.stateless; import java.util.Locale; import org.junit.Before; import org.marketcetera.util.log.ActiveLocale; import org.marketcetera.util.test.TestCaseBase; import org.marketcetera.util.ws.tags.AppId; import org.marketcetera.util.ws.tags.NodeId; import org.marketcetera.util.ws.tags.VersionId; import org.marketcetera.util.ws.tags.VersionIdTest; import org.marketcetera.util.ws.wrappers.LocaleWrapper; import static org.junit.Assert.*; import static org.marketcetera.util.test.EqualityAssert.*; /** * @author tlerios@marketcetera.com * @since 1.0.0 * @version $Id: ClientContextTestBase.java 16154 2012-07-14 16:34:05Z colin $ */ /* $License$ */ public class ClientContextTestBase extends TestCaseBase { private static final VersionId TEST_VERSION= VersionIdTest.TEST_VERSION; private static final VersionId TEST_VERSION_D= VersionIdTest.TEST_VERSION_D; private static final AppId TEST_APP= new AppId("testApp"); private static final AppId TEST_APP_D= new AppId("testAppD"); private static final NodeId TEST_CLIENT= NodeId.generate(); private static final NodeId TEST_CLIENT_D= NodeId.generate(); private static final LocaleWrapper TEST_LOCALE= new LocaleWrapper(new Locale("la","CO","va")); private static final LocaleWrapper TEST_LOCALE_D= new LocaleWrapper(new Locale("lad","COD","vad")); @Before public void setupClientContextTestBase() { ActiveLocale.setProcessLocale(Locale.ROOT); } protected static void fillContext (StatelessClientContext context) { context.setVersionId(TEST_VERSION); context.setAppId(TEST_APP); context.setClientId(TEST_CLIENT); context.setLocale(TEST_LOCALE); } protected static void single (StatelessClientContext context, StatelessClientContext copy, StatelessClientContext empty, String suffix) { assertEquality(context,copy,empty); assertEquals(TEST_VERSION,context.getVersionId()); assertEquals(TEST_APP,context.getAppId()); assertEquals(TEST_CLIENT,context.getClientId()); assertEquals(TEST_LOCALE,context.getLocale()); assertEquals("Protocol version testVersion; application testApp; "+ "client "+TEST_CLIENT+"; locale 'la_CO_va'"+suffix, context.toString()); assertNull(empty.getVersionId()); assertNull(empty.getAppId()); assertNull(empty.getClientId()); assertNull(empty.getLocale()); context.setVersionId(TEST_VERSION_D); assertEquals(TEST_VERSION_D,context.getVersionId()); assertEquals("Protocol version testVersionD; application testApp; "+ "client "+TEST_CLIENT+"; locale 'la_CO_va'"+suffix, context.toString()); context.setVersionId(null); assertNull(context.getVersionId()); assertEquals("Protocol version null; application testApp; "+ "client "+TEST_CLIENT+"; locale 'la_CO_va'"+suffix, context.toString()); context.setAppId(TEST_APP_D); assertEquals(TEST_APP_D,context.getAppId()); assertEquals("Protocol version null; application testAppD; "+ "client "+TEST_CLIENT+"; locale 'la_CO_va'"+suffix, context.toString()); context.setAppId(null); assertNull(context.getAppId()); assertEquals("Protocol version null; application null; "+ "client "+TEST_CLIENT+"; locale 'la_CO_va'"+suffix, context.toString()); context.setClientId(TEST_CLIENT_D); assertEquals(TEST_CLIENT_D,context.getClientId()); assertEquals("Protocol version null; application null; "+ "client "+TEST_CLIENT_D+"; locale 'la_CO_va'"+suffix, context.toString()); context.setClientId(null); assertNull(context.getClientId()); assertEquals("Protocol version null; application null; "+ "client null; locale 'la_CO_va'"+suffix, context.toString()); context.setLocale(TEST_LOCALE_D); assertEquals(TEST_LOCALE_D,context.getLocale()); assertEquals("Protocol version null; application null; "+ "client null; locale 'lad_COD_vad'"+suffix, context.toString()); LocaleWrapper wrapper=new LocaleWrapper(null); context.setLocale(wrapper); assertEquals(wrapper,context.getLocale()); assertEquals("Protocol version null; application null; "+ "client null; locale ''"+suffix, context.toString()); context.setLocale(null); assertNull(context.getLocale()); assertEquals("Protocol version null; application null; "+ "client null; locale ''"+suffix, context.toString()); } }