/****************************************************************************** * Copyright (c) 2006, 2010 VMware Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Apache License v2.0 which accompanies this distribution. * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html and the Apache License v2.0 * is available at http://www.opensource.org/licenses/apache2.0.php. * You may elect to redistribute this code under either of these licenses. * * Contributors: * VMware Inc. *****************************************************************************/ package org.eclipse.gemini.blueprint.extender.internal.util; import java.util.Dictionary; import java.util.Properties; import org.eclipse.gemini.blueprint.extender.support.internal.ConfigUtils; import junit.framework.TestCase; /** * @author Costin Leau * */ public class HeaderConstantsTest extends TestCase { private Dictionary headers; /* * (non-Javadoc) * @see junit.framework.TestCase#setUp() */ protected void setUp() throws Exception { headers = new Properties(); headers.put("some key", new Object()); headers.put("another header", new Object()); headers.put(ConfigUtils.SPRING_CONTEXT_HEADER + "1", new Object()); } /* * (non-Javadoc) * @see junit.framework.TestCase#tearDown() */ protected void tearDown() throws Exception { headers = null; } /** * Test method for * {@link org.eclipse.gemini.blueprint.util.internal.ConfigUtils#getSpringContextHeader(java.util.Dictionary)}. */ public void testGetServiceContextHeader() { assertNull(ConfigUtils.getSpringContextHeader(headers)); String headerValue = "correct header"; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, headerValue); assertSame(headerValue, ConfigUtils.getSpringContextHeader(headers)); } /** * Test method for * {@link org.eclipse.gemini.blueprint.util.internal.ConfigUtils#getDirectiveValue(java.lang.String, java.lang.String)}. */ public void testGetDirectiveValue() { String header = "bla bla"; assertNull(ConfigUtils.getDirectiveValue(header, "bla")); assertNull(ConfigUtils.getDirectiveValue(header, header)); String directive = "directive"; String value = "value"; header = directive + ConfigUtils.EQUALS + value; assertEquals(value, ConfigUtils.getDirectiveValue(header, directive)); assertNull(ConfigUtils.getDirectiveValue(header, value)); assertNull(ConfigUtils.getDirectiveValue(header, "directiv")); header = directive + ConfigUtils.EQUALS + value + ConfigUtils.EQUALS + value; assertNull(ConfigUtils.getDirectiveValue(header, directive)); } /** * Test method for * {@link org.eclipse.gemini.blueprint.util.internal.ConfigUtils#getPublishContext(java.util.Dictionary)}. */ public void testGetDontPublishContext() { String header = "nothing"; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertTrue(ConfigUtils.getPublishContext(headers)); header = ConfigUtils.DIRECTIVE_PUBLISH_CONTEXT + ConfigUtils.EQUALS + true; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertTrue(ConfigUtils.getPublishContext(headers)); header = ConfigUtils.DIRECTIVE_PUBLISH_CONTEXT + ConfigUtils.EQUALS + false; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertFalse(ConfigUtils.getPublishContext(headers)); header = ConfigUtils.DIRECTIVE_PUBLISH_CONTEXT + ConfigUtils.EQUALS + "bla"; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertFalse(ConfigUtils.getPublishContext(headers)); } /** * Test method for * {@link org.eclipse.gemini.blueprint.util.internal.ConfigUtils#getCreateAsync(java.util.Dictionary)}. */ public void testGetCreateAsync() { String header = "nothing"; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertTrue(ConfigUtils.getPublishContext(headers)); header = ConfigUtils.DIRECTIVE_CREATE_ASYNCHRONOUSLY + ConfigUtils.EQUALS + true; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertTrue(ConfigUtils.getCreateAsync(headers)); header = ConfigUtils.DIRECTIVE_CREATE_ASYNCHRONOUSLY + ConfigUtils.EQUALS + false; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertFalse(ConfigUtils.getCreateAsync(headers)); header = ConfigUtils.DIRECTIVE_CREATE_ASYNCHRONOUSLY + ConfigUtils.EQUALS + "bla"; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertFalse(ConfigUtils.getCreateAsync(headers)); } /** * Test method for * {@link org.eclipse.gemini.blueprint.util.internal.ConfigUtils#getTimeout(java.util.Dictionary)}. */ public void testGetTimeout() { String header = "nothing"; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertEquals(new Long(ConfigUtils.DIRECTIVE_TIMEOUT_DEFAULT), new Long(ConfigUtils.getTimeOut(headers))); header = ConfigUtils.DIRECTIVE_TIMEOUT + ConfigUtils.EQUALS + "500"; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertEquals(new Long(500), new Long(ConfigUtils.getTimeOut(headers))); header = ConfigUtils.DIRECTIVE_TIMEOUT + ConfigUtils.EQUALS + ConfigUtils.DIRECTIVE_TIMEOUT_VALUE_NONE; headers.put(ConfigUtils.SPRING_CONTEXT_HEADER, header); assertEquals(new Long(-2), new Long(ConfigUtils.getTimeOut(headers))); } }