All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jvnet.hudson.test.recipes.PresetData Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 *
 * 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 {

        public void setup(HudsonTestCase testCase, PresetData recipe) {
            testCase.withPresetData(recipe.value().name().toLowerCase(Locale.ENGLISH).replace('_', '-'));
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy