/******************************************************************************* * * Copyright (c) 2004-2009 Oracle Corporation. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * * Kohsuke Kawaguchi * * *******************************************************************************/ package org.jvnet.hudson.test.recipes; import org.jvnet.hudson.test.HudsonTestCase; import java.lang.annotation.Documented; import static java.lang.annotation.ElementType.METHOD; import java.lang.annotation.Retention; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Target; import java.util.Locale; /** * Runs a test case with one of the preset HUDSON_HOME data set. * * @author Kohsuke Kawaguchi * @see LocalData */ @Documented @Recipe(PresetData.RunnerImpl.class) @Target(METHOD) @Retention(RUNTIME) public @interface PresetData { /** * One of the preset data to choose from. */ DataSet value(); public enum DataSet { /** * Secured Hudson that has no anonymous read access. Any logged in user * can do anything. */ NO_ANONYMOUS_READACCESS, /** * Secured Hudson where anonymous user is read-only, and any logged in * user has a full access. */ ANONYMOUS_READONLY,} public class RunnerImpl extends Recipe.Runner<PresetData> { public void setup(HudsonTestCase testCase, PresetData recipe) { testCase.withPresetData(recipe.value().name().toLowerCase(Locale.ENGLISH).replace('_', '-')); } } }