Merge pull request #5032 from Matt Benson
* gh-5032: Fix logic for disabling plugins in CrshAutoConfiguration
This commit is contained in:
commit
72aae34b67
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2015 the original author or authors.
|
||||
* Copyright 2012-2016 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -111,6 +111,7 @@ import org.springframework.util.StringUtils;
|
|||
* {@code shell.command_path_patterns} in your application configuration.
|
||||
*
|
||||
* @author Christian Dupuis
|
||||
* @author Matt Benson
|
||||
* @see ShellProperties
|
||||
*/
|
||||
@Configuration
|
||||
|
|
@ -395,11 +396,11 @@ public class CrshAutoConfiguration {
|
|||
pluginClasses.add(plugin.getClass());
|
||||
|
||||
for (Class<?> pluginClass : pluginClasses) {
|
||||
if (isEnabled(pluginClass)) {
|
||||
return true;
|
||||
if (!isEnabled(pluginClass)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean isEnabled(Class<?> pluginClass) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2015 the original author or authors.
|
||||
* Copyright 2012-2016 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -25,11 +25,13 @@ import java.util.UUID;
|
|||
|
||||
import org.crsh.auth.AuthenticationPlugin;
|
||||
import org.crsh.auth.JaasAuthenticationPlugin;
|
||||
import org.crsh.lang.impl.groovy.GroovyRepl;
|
||||
import org.crsh.lang.impl.java.JavaLanguage;
|
||||
import org.crsh.lang.spi.Language;
|
||||
import org.crsh.plugin.PluginContext;
|
||||
import org.crsh.plugin.PluginLifeCycle;
|
||||
import org.crsh.plugin.ResourceKind;
|
||||
import org.crsh.telnet.term.processor.ProcessorIOHandler;
|
||||
import org.crsh.telnet.term.spi.TermIOHandler;
|
||||
import org.crsh.vfs.Resource;
|
||||
import org.junit.After;
|
||||
import org.junit.Test;
|
||||
|
|
@ -51,10 +53,13 @@ import org.springframework.security.core.AuthenticationException;
|
|||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.hasItem;
|
||||
import static org.hamcrest.CoreMatchers.isA;
|
||||
import static org.hamcrest.CoreMatchers.not;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
|
|
@ -63,6 +68,7 @@ import static org.junit.Assert.assertTrue;
|
|||
* @author Christian Dupuis
|
||||
* @author Andreas Ahlenstorf
|
||||
* @author Eddú Meléndez
|
||||
* @author Matt Benson
|
||||
*/
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
public class CrshAutoConfigurationTests {
|
||||
|
|
@ -80,15 +86,18 @@ public class CrshAutoConfigurationTests {
|
|||
public void testDisabledPlugins() throws Exception {
|
||||
MockEnvironment env = new MockEnvironment();
|
||||
env.setProperty("shell.disabled_plugins",
|
||||
"GroovyREPL, termIOHandler, org.crsh.auth.AuthenticationPlugin");
|
||||
"termIOHandler, org.crsh.auth.AuthenticationPlugin, javaLanguage");
|
||||
load(env);
|
||||
|
||||
PluginLifeCycle lifeCycle = this.context.getBean(PluginLifeCycle.class);
|
||||
assertNotNull(lifeCycle);
|
||||
|
||||
assertNull(lifeCycle.getContext().getPlugin(GroovyRepl.class));
|
||||
assertNull(lifeCycle.getContext().getPlugin(ProcessorIOHandler.class));
|
||||
assertNull(lifeCycle.getContext().getPlugin(JaasAuthenticationPlugin.class));
|
||||
assertThat(lifeCycle.getContext().getPlugins(TermIOHandler.class),
|
||||
not(hasItem(isA(ProcessorIOHandler.class))));
|
||||
assertThat(lifeCycle.getContext().getPlugins(AuthenticationPlugin.class),
|
||||
not(hasItem(isA(JaasAuthenticationPlugin.class))));
|
||||
assertThat(lifeCycle.getContext().getPlugins(Language.class),
|
||||
not(hasItem(isA(JavaLanguage.class))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in New Issue