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