/* * 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.ivy.core.settings; import java.io.IOException; import java.text.ParseException; import org.apache.ivy.Ivy; import org.apache.ivy.plugins.resolver.DependencyResolver; import junit.framework.TestCase; public class IvySettingsTest extends TestCase { public void testChangeDefaultResolver() throws ParseException, IOException { Ivy ivy = new Ivy(); ivy.configureDefault(); IvySettings settings = ivy.getSettings(); DependencyResolver defaultResolver = settings.getDefaultResolver(); assertNotNull(defaultResolver); assertEquals("default", defaultResolver.getName()); assertSame("default resolver cached", defaultResolver, settings.getDefaultResolver()); settings.setDefaultResolver("public"); DependencyResolver newDefault = settings.getDefaultResolver(); assertNotNull(newDefault); assertNotSame("default resolver has changed", defaultResolver, newDefault); assertEquals("resolver changed successfully", "public", newDefault.getName()); } public void testVariables() throws Exception { Ivy ivy = new Ivy(); ivy.configureDefault(); IvySettings settings = ivy.getSettings(); // test set assertNull(settings.getVariable("foo")); settings.setVariable("foo", "bar", false, null, null); assertEquals("bar", settings.getVariable("foo")); // test no override settings.setVariable("foo", "wrong", false, null, null); assertEquals("bar", settings.getVariable("foo")); // test override settings.setVariable("foo", "right", true, null, null); assertEquals("right", settings.getVariable("foo")); // test ifset no exist assertNull(settings.getVariable("bar")); settings.setVariable("bar", "foo", true, "noexist", null); assertNull(settings.getVariable("bar")); // test ifset exist settings.setVariable("bar", "foo", true, "foo", null); assertEquals("foo", settings.getVariable("bar")); // test unlessset exist assertNull(settings.getVariable("thing")); settings.setVariable("thing", "foo", true, null, "foo"); assertNull(settings.getVariable("thing")); // test unlessset noexist settings.setVariable("thing", "foo", true, null, "noexist"); assertEquals("foo", settings.getVariable("thing")); // test ifset no exist and unlessset exist assertNull(settings.getVariable("ivy")); settings.setVariable("ivy", "rocks", true, "noexist", "foo"); assertNull(settings.getVariable("ivy")); // test ifset no exist and unlessset no exist settings.setVariable("ivy", "rocks", true, "noexist", "noexist"); assertNull(settings.getVariable("ivy")); // test ifset exist and unlessset exist settings.setVariable("ivy", "rocks", true, "foo", "foo"); assertNull(settings.getVariable("ivy")); // test ifset exist and unlessset no exist settings.setVariable("ivy", "rocks", true, "foo", "noexist"); assertEquals("rocks", settings.getVariable("ivy")); } }