/** * Determines the parameter injection of the initialization method. */ private Object lookUp(Class<?> type) { Jenkins j = Jenkins.getInstance(); assert j != null : "This method is only invoked after the Jenkins singleton instance has been set"; if (type==Jenkins.class || type==Hudson.class) return j; Injector i = j.getInjector(); if (i!=null) return i.getInstance(type); throw new IllegalArgumentException("Unable to inject "+type); }
@Override protected AdminWhitelistRule instance(Mapping mapping, ConfigurationContext context) { Injector injector = Jenkins.getInstance().getInjector(); return injector.getInstance(AdminWhitelistRule.class); }
@Override public Set<Attribute<Jenkins,?>> describe() { final Set<Attribute<Jenkins,?>> attributes = super.describe(); // Add remoting security, all legwork will be done by a configurator attributes.add(new Attribute<Jenkins, AdminWhitelistRule>("remotingSecurity", AdminWhitelistRule.class) .getter( j -> j.getInjector().getInstance(AdminWhitelistRule.class) ) .setter( noop() )); // Override "nodes" getter so we don't export Nodes registered by Cloud plugins Attribute.<Jenkins,List<Node>>get(attributes, "nodes").ifPresent(a -> a.getter(j -> j.getNodes().stream() .filter(node -> node.getDescriptor().isInstantiable()) .collect(Collectors.toList()) ) ); return attributes; }
long running = Jenkins.getInstance().getInjector().getInstance(Uptime.class).getUptime(); long remaining = TimeUnit.MINUTES.toMillis(10)-running; if (remaining>0 && /* this logic breaks tests of polling */!Functions.getIsUnitTest()) {
jenkins.getInjector().getInstance(AdminWhitelistRule.class) .setMasterKillSwitch(false);
@Test @Issue("Issue #28") @ConfiguredWithCode("AdminWhitelistRuleConfigurator/Agent2MasterSecurityKillSwitch_disabled.yml") public void checkM2ASecurityKillSwitch_enabled() throws Exception { final Jenkins jenkins = Jenkins.getInstance(); AdminWhitelistRule rule = jenkins.getInjector().getInstance(AdminWhitelistRule.class); Assert.assertTrue("MasterToAgent Security should be enabled", rule.getMasterKillSwitch()); }
@Test @Issue("Issue #28") @ConfiguredWithCode("AdminWhitelistRuleConfigurator/Agent2MasterSecurityKillSwitch_enabled.yml") public void checkM2ASecurityKillSwitch_disabled() throws Exception { final Jenkins jenkins = Jenkins.getInstance(); AdminWhitelistRule rule = jenkins.getInjector().getInstance(AdminWhitelistRule.class); Assert.assertFalse("MasterToAgent Security should be disabled", rule.getMasterKillSwitch()); }
@Override public void evaluate() throws Throwable { j.jenkins.getInjector().injectMembers(step); j.jenkins.getInjector().injectMembers(target); step.evaluate(); } }, expectedToStartCorrectly);
/** * Determines the parameter injection of the initialization method. */ private Object lookUp(Class<?> type) { Jenkins j = Jenkins.getInstance(); assert j != null : "This method is only invoked after the Jenkins singleton instance has been set"; if (type==Jenkins.class || type==Hudson.class) return j; Injector i = j.getInjector(); if (i!=null) return i.getInstance(type); throw new IllegalArgumentException("Unable to inject "+type); }
@Override protected AdminWhitelistRule instance(Mapping mapping, ConfigurationContext context) { Injector injector = Jenkins.getInstance().getInjector(); return injector.getInstance(AdminWhitelistRule.class); }
@Override public void evaluate() throws Throwable { j.jenkins.getInjector().injectMembers(step); j.jenkins.getInjector().injectMembers(target); step.evaluate(); simulateAbruptShutdown(); } }, true);
public static DockerGlobalConfiguration dockerGlobalConfig() { return Jenkins.getInstance().getInjector().getInstance(DockerGlobalConfiguration.class); }
public static DownloadSettings get() { return Jenkins.getInstance().getInjector().getInstance(DownloadSettings.class); }
public static QueueItemAuthenticatorConfiguration get() { return Jenkins.getInstance().getInjector().getInstance(QueueItemAuthenticatorConfiguration.class); }
public static ArtifactManagerConfiguration get() { return Jenkins.getInstance().getInjector().getInstance(ArtifactManagerConfiguration.class); }
/** * Creates an {@link Injector} that performs injection to {@link Inject} and {@link StepContextParameter}. */ protected static Injector prepareInjector(final StepContext context, @Nullable final Step step) { return Jenkins.getActiveInstance().getInjector().createChildInjector(new ContextParameterModule(step,context)); } }
/** * Creates an {@link Injector} that performs injection to {@link Inject} and {@link StepContextParameter}. */ protected static Injector prepareInjector(final StepContext context, @Nullable final Step step) { return Jenkins.getActiveInstance().getInjector().createChildInjector(new ContextParameterModule(step,context)); } }
@Override public Set<Attribute<Jenkins,?>> describe() { final Set<Attribute<Jenkins,?>> attributes = super.describe(); // Add remoting security, all legwork will be done by a configurator attributes.add(new Attribute<Jenkins, AdminWhitelistRule>("remotingSecurity", AdminWhitelistRule.class) .getter( j -> j.getInjector().getInstance(AdminWhitelistRule.class) ) .setter( noop() )); // Override "nodes" getter so we don't export Nodes registered by Cloud plugins Attribute.<Jenkins,List<Node>>get(attributes, "nodes").ifPresent(a -> a.getter(j -> j.getNodes().stream() .filter(node -> node.getDescriptor().isInstantiable()) .collect(Collectors.toList()) ) ); return attributes; }
@Before public void setUp() throws Exception { jenkins.jenkins.getInjector().injectMembers(this); rootDir = tmp.newFolder(); TEST = this; }
@Before public void setUp() { j.getInstance().getInjector().injectMembers(this); }