@@ -22,6 +22,7 @@ public void ResolveAllPublicInstancesFromPlugins()
2222 var pluginOptions = new PluginOptions
2323 {
2424 Assemblies = { PluginPaths . TestPlugin , PluginPaths . TestPlugin2 } ,
25+ Enabled = { { "*" , true } } ,
2526 } ;
2627
2728 var manager = new PluginManager ( new DefaultActivator ( ) , Options . Create ( pluginOptions ) ) ;
@@ -48,6 +49,7 @@ public void ResolveAllInstancesFromPlugins()
4849 {
4950 ResolvePrivateTypes = true ,
5051 Assemblies = { PluginPaths . TestPlugin , PluginPaths . TestPlugin2 } ,
52+ Enabled = { { "*" , true } } ,
5153 } ;
5254
5355 var manager = new PluginManager ( new DefaultActivator ( ) , Options . Create ( pluginOptions ) ) ;
@@ -80,6 +82,7 @@ public void GetAllPlugins()
8082 var options = new PluginOptions ( ) ;
8183 options . Assemblies . Add ( PluginPaths . TestPlugin ) ;
8284 options . Assemblies . Add ( PluginPaths . TestPlugin2 ) ;
85+ options . Enabled [ "*" ] = true ;
8386
8487 var manager = new PluginManager ( new DefaultActivator ( ) , Options . Create ( options ) ) ;
8588 manager . Plugins . Select ( p => p . Info )
@@ -107,6 +110,7 @@ public void LoadPluginsIgnoresUnknownPaths()
107110 options . Assemblies . Add ( PluginPaths . TestPlugin ) ;
108111 options . Assemblies . Add ( PluginPaths . TestPlugin2 ) ;
109112 options . Assemblies . Add ( "ThisPluginDoesNotExist.dll" ) ;
113+ options . Enabled [ "*" ] = true ;
110114
111115 var manager = new PluginManager ( new DefaultActivator ( ) , Options . Create ( options ) ) ;
112116 manager . LoadPlugins ( ) ;
@@ -143,11 +147,13 @@ public void ResolveAllInjectsServices()
143147 }
144148
145149 [ Fact ]
150+ [ Obsolete ]
146151 public void LoadDoesNotLoadDisabled ( )
147152 {
148153 var options = new PluginOptions ( ) ;
149154 options . Assemblies . Add ( PluginPaths . TestPlugin ) ;
150155 options . Assemblies . Add ( PluginPaths . TestPlugin2 ) ;
156+ options . Enabled [ "*" ] = true ;
151157 options . Disabled . Add ( "AppCoreNet.Extensions.Hosting.Plugins.TestPlugin2" ) ;
152158
153159 var manager = new PluginManager ( new DefaultActivator ( ) , Options . Create ( options ) ) ;
@@ -156,4 +162,66 @@ public void LoadDoesNotLoadDisabled()
156162 manager . Plugins . Should ( )
157163 . HaveCount ( 1 ) ;
158164 }
165+
166+ [ Fact ]
167+ public void LoadsOnlyExplicitlyEnabled ( )
168+ {
169+ var options = new PluginOptions ( ) ;
170+ options . Assemblies . Add ( PluginPaths . TestPlugin ) ;
171+ options . Assemblies . Add ( PluginPaths . TestPlugin2 ) ;
172+ options . Enabled [ "*" ] = false ;
173+ options . Enabled [ "AppCoreNet.Extensions.Hosting.Plugins.TestPlugin2" ] = true ;
174+
175+ var manager = new PluginManager ( new DefaultActivator ( ) , Options . Create ( options ) ) ;
176+ manager . LoadPlugins ( ) ;
177+
178+ manager . Plugins . Should ( )
179+ . HaveCount ( 1 ) ;
180+ }
181+
182+ [ Fact ]
183+ public void DoesNotLoadExplicitlyDisabled ( )
184+ {
185+ var options = new PluginOptions ( ) ;
186+ options . Assemblies . Add ( PluginPaths . TestPlugin ) ;
187+ options . Assemblies . Add ( PluginPaths . TestPlugin2 ) ;
188+ options . Enabled [ "*" ] = true ;
189+ options . Enabled [ "AppCoreNet.Extensions.Hosting.Plugins.TestPlugin2" ] = false ;
190+
191+ var manager = new PluginManager ( new DefaultActivator ( ) , Options . Create ( options ) ) ;
192+ manager . LoadPlugins ( ) ;
193+
194+ manager . Plugins . Should ( )
195+ . HaveCount ( 1 ) ;
196+ }
197+
198+ [ Fact ]
199+ public void LoadsAllPlugins ( )
200+ {
201+ var options = new PluginOptions ( ) ;
202+ options . Assemblies . Add ( PluginPaths . TestPlugin ) ;
203+ options . Assemblies . Add ( PluginPaths . TestPlugin2 ) ;
204+ options . Enabled [ "*" ] = true ;
205+
206+ var manager = new PluginManager ( new DefaultActivator ( ) , Options . Create ( options ) ) ;
207+ manager . LoadPlugins ( ) ;
208+
209+ manager . Plugins . Should ( )
210+ . HaveCount ( 2 ) ;
211+ }
212+
213+ [ Fact ]
214+ public void LoadsNoPlugins ( )
215+ {
216+ var options = new PluginOptions ( ) ;
217+ options . Assemblies . Add ( PluginPaths . TestPlugin ) ;
218+ options . Assemblies . Add ( PluginPaths . TestPlugin2 ) ;
219+ options . Enabled [ "*" ] = false ;
220+
221+ var manager = new PluginManager ( new DefaultActivator ( ) , Options . Create ( options ) ) ;
222+ manager . LoadPlugins ( ) ;
223+
224+ manager . Plugins . Should ( )
225+ . HaveCount ( 0 ) ;
226+ }
159227}
0 commit comments