public void CreateExchangeReturnsCorrectType()
        {
            var services = new ServiceCollection();

            RabbitListenerDeclareAtrributeProcessor.ProcessDeclareAttributes(services, null, typeof(TestTarget));
            var exchanges = services.BuildServiceProvider().GetServices <IExchange>();

            Assert.Contains(exchanges, (ex) => ex.Type == ExchangeType.DIRECT);
            Assert.Contains(exchanges, (ex) => ex.Type == ExchangeType.TOPIC);
            Assert.Contains(exchanges, (ex) => ex.Type == ExchangeType.FANOUT);
            Assert.Contains(exchanges, (ex) => ex.Type == ExchangeType.HEADERS);
            Assert.Contains(exchanges, (ex) => ex.Type == ExchangeType.SYSTEM);
        }
Exemple #2
0
        public static IServiceCollection AddRabbitListeners(this IServiceCollection services, IConfiguration config, params Type[] listenerServices)
        {
            if (services == null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            foreach (var t in listenerServices)
            {
                var metadata = RabbitListenerMetadata.BuildMetadata(services, t);
                if (metadata != null)
                {
                    services.AddSingleton(metadata);
                }

                RabbitListenerDeclareAtrributeProcessor.ProcessDeclareAttributes(services, config, t);
            }

            return(services);
        }