package jenkins.security; import org.junit.rules.ExternalResource; import org.junit.rules.TemporaryFolder; /** * Test rule that injects a temporary {@link DefaultConfidentialStore} * @author Kohsuke Kawaguchi */ public class ConfidentialStoreRule extends ExternalResource { private final TemporaryFolder tmp = new TemporaryFolder(); @Override protected void before() throws Throwable { tmp.create(); ConfidentialStore.TEST.set(new DefaultConfidentialStore(tmp.getRoot())); } @Override protected void after() { ConfidentialStore.TEST.set(null); tmp.delete(); } static { ConfidentialStore.TEST = new ThreadLocal<ConfidentialStore>(); } }