public void Constructor_ChannelName()
        {
            // Arrange
            string channelName = "Channel9";

            // Act
            RedisTriggerAttribute attribute = new RedisTriggerAttribute(channelName);

            // Assert
            Assert.Equal(channelName, attribute.ChannelOrKey);
            Assert.Equal(Mode.PubSub, attribute.Mode);
            Assert.Null(attribute.ConnectionStringSetting);
        }
        public void Constructor_ChannelModeAndConnectionString()
        {
            // Arrange
            string channelName      = "Channel9";
            Mode   mode             = Mode.Cache;
            string connectionString = "connection";

            // Act
            RedisTriggerAttribute attribute = new RedisTriggerAttribute(channelName, mode, connectionString);

            // Assert
            Assert.Equal(channelName, attribute.ChannelOrKey);
            Assert.Equal(mode, attribute.Mode);
            Assert.Equal(connectionString, attribute.ConnectionStringSetting);
        }
Пример #3
0
        public Task <ITriggerBinding> TryCreateAsync(TriggerBindingProviderContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            ParameterInfo         parameter = context.Parameter;
            RedisTriggerAttribute attribute = parameter.GetCustomAttribute <RedisTriggerAttribute>(inherit: false);

            if (attribute == null)
            {
                return(Task.FromResult <ITriggerBinding>(null));
            }

            ITriggerBinding binding = new RedisTriggerBinding(_configuration, parameter, attribute);

            return(Task.FromResult(binding));
        }
        public Task <ITriggerBinding> TryCreateAsync(TriggerBindingProviderContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            ParameterInfo         parameter = context.Parameter;
            RedisTriggerAttribute attribute = parameter.GetCustomAttribute <RedisTriggerAttribute>(inherit: false);

            if (attribute == null)
            {
                return(Task.FromResult <ITriggerBinding>(null));
            }

            RedisAccount    account = RedisAccount.CreateDbFromConnectionString(_config.ConnectionString);
            ITriggerBinding binding = new RedisTriggerBinding(parameter, account, attribute.ChannelOrKey, attribute.Mode, _config, _trace);

            return(Task.FromResult(binding));
        }