public void Initialize_PerformsExpectedRegistrations() { JobHostConfiguration config = new JobHostConfiguration(); config.AddService<INameResolver>(new RandomNameResolver()); ServiceBusConfiguration serviceBusConfig = new ServiceBusConfiguration(); ServiceBusExtensionConfig serviceBusExtensionConfig = new ServiceBusExtensionConfig(serviceBusConfig); IExtensionRegistry extensions = config.GetService<IExtensionRegistry>(); ITriggerBindingProvider[] triggerBindingProviders = extensions.GetExtensions<ITriggerBindingProvider>().ToArray(); Assert.Equal(0, triggerBindingProviders.Length); IBindingProvider[] bindingProviders = extensions.GetExtensions<IBindingProvider>().ToArray(); Assert.Equal(0, bindingProviders.Length); ExtensionConfigContext context = new ExtensionConfigContext { Config = config, Trace = new TestTraceWriter(TraceLevel.Verbose) }; serviceBusExtensionConfig.Initialize(context); // ensure the ServiceBusTriggerAttributeBindingProvider was registered triggerBindingProviders = extensions.GetExtensions<ITriggerBindingProvider>().ToArray(); Assert.Equal(1, triggerBindingProviders.Length); ServiceBusTriggerAttributeBindingProvider triggerBindingProvider = (ServiceBusTriggerAttributeBindingProvider)triggerBindingProviders[0]; Assert.NotNull(triggerBindingProvider); // ensure the ServiceBusAttributeBindingProvider was registered bindingProviders = extensions.GetExtensions<IBindingProvider>().ToArray(); Assert.Equal(1, bindingProviders.Length); ServiceBusAttributeBindingProvider bindingProvider = (ServiceBusAttributeBindingProvider)bindingProviders[0]; Assert.NotNull(bindingProvider); }
/// <summary> /// Enables use of ServiceBus job extensions /// </summary> /// <param name="config">The <see cref="JobHostConfiguration"/> to configure.</param> /// <param name="serviceBusConfig">The <see cref="ServiceBusConfiguration"></see> to use./></param> public static void UseServiceBus(this JobHostConfiguration config, ServiceBusConfiguration serviceBusConfig) { if (config == null) { throw new ArgumentNullException("config"); } if (serviceBusConfig == null) { throw new ArgumentNullException("serviceBusConfig"); } ServiceBusExtensionConfig extensionConfig = new ServiceBusExtensionConfig(serviceBusConfig); IExtensionRegistry extensions = config.GetService<IExtensionRegistry>(); extensions.RegisterExtension<IExtensionConfigProvider>(extensionConfig); }