blob: fce4919bd93ba9d7b8225e7e9e9f05b65c91b2ff [file] [log] [blame]
/**
* 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.util;
import junit.framework.TestCase;
import java.net.URI;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
/**
* @version $Rev$ $Date$
*/
public class URISupportTest extends TestCase {
public void test() throws Exception {
final URI absoluteA = new URI("/Users/dblevins/work/openejb3/container/openejb-jee/apple/");
final URI absoluteB = new URI("/Users/dblevins/work/openejb3/container/openejb-core/foo.jar");
final URI relativeB = URISupport.relativize(absoluteA, absoluteB);
assertEquals("../../openejb-core/foo.jar", relativeB.toString());
final URI resolvedB = absoluteA.resolve(relativeB);
assertTrue(resolvedB.equals(absoluteB));
}
public void testFragment() throws Exception {
final URI absoluteA = new URI("/Users/dblevins/work/openejb3/container/openejb-jee/apple/");
final URI absoluteB = new URI("/Users/dblevins/work/openejb3/container/openejb-core/foo.jar#foo");
final URI relativeB = URISupport.relativize(absoluteA, absoluteB);
assertEquals("../../openejb-core/foo.jar#foo", relativeB.toString());
final URI resolvedB = absoluteA.resolve(relativeB);
assertTrue(resolvedB.equals(absoluteB));
}
public void testAddNewParameters() throws Exception {
final Map<String, String> parameters = new HashMap<String, String>();
parameters.put("create", "false");
final URI uri = URISupport.addParameters(URLs.uri("vm://broker"), parameters);
assertEquals("vm://broker?create=false", uri.toString());
}
public void testDoNotReplaceAnExistingParameters() throws Exception {
final Map<String, String> parameters = new HashMap<String, String>();
parameters.put("create", "false");
final URI uri = URISupport.addParameters(URLs.uri("vm://broker?create=true"), parameters);
assertEquals("vm://broker?create=true", uri.toString());
}
public void testAddToSetOfAlreadyExistingParameters() throws Exception {
final Map<String, String> parameters = new HashMap<String, String>();
parameters.put("create", "false");
final URI uri = URISupport.addParameters(URLs.uri("vm://broker?foo=bar&boo=baz&welcome=helloworld"), parameters);
final Map<String, String> actual = URISupport.parseParamters(uri);
assertEquals(4, actual.size());
assertEquals("bar", actual.get("foo"));
assertEquals("baz", actual.get("boo"));
assertEquals("helloworld", actual.get("welcome"));
assertEquals("false", actual.get("create"));
}
public void testAddToSetOfAlreadyExistingParametersButDontOverwriteExistingParameter() throws Exception {
final Map<String, String> parameters = new HashMap<String, String>();
parameters.put("create", "false");
final URI uri = URISupport.addParameters(URLs.uri("vm://broker?foo=bar&boo=baz&welcome=helloworld&create=true"), parameters);
final Map<String, String> actual = URISupport.parseParamters(uri);
assertEquals(4, actual.size());
assertEquals("bar", actual.get("foo"));
assertEquals("baz", actual.get("boo"));
assertEquals("helloworld", actual.get("welcome"));
assertEquals("true", actual.get("create"));
}
public void testNullParameters() throws Exception {
final URI initial = URLs.uri("vm://broker?foo=bar&boo=baz&welcome=helloworld&create=true");
final URI uri = URISupport.addParameters(initial, null);
assertEquals(initial, uri);
}
public void testEmptyParameters() throws Exception {
final URI initial = URLs.uri("vm://broker?foo=bar&boo=baz&welcome=helloworld&create=true");
final URI uri = URISupport.addParameters(initial, Collections.<String, String>emptyMap());
assertEquals(initial, uri);
}
}