Example #1
0
        public WebHookManager(IWebHookSender sender, IWebHookStore store, ILogger <WebHookManager> logger)
        {
            _sender = sender;
            _store  = store;

            Logger = logger;
        }
Example #2
0
        public void GetSender_ReturnsDefaultInstance_IfNoneRegistered()
        {
            // Act
            IWebHookSender actual = _resolverMock.Object.GetSender();

            // Assert
            Assert.IsType <DataflowWebHookSender>(actual);
        }
Example #3
0
        /// <summary>
        /// Initialize a new instance of the <see cref="WebHookManager"/> with the given <paramref name="httpClient"/>. This
        /// constructor is intended for unit testing purposes.
        /// </summary>
        internal WebHookManager(IWebHookStore webHookStore, IWebHookSender webHookSender, ILogger logger, HttpClient httpClient)
        {
            _webHookStore  = webHookStore ?? throw new ArgumentNullException(nameof(webHookStore));
            _webHookSender = webHookSender ?? throw new ArgumentNullException(nameof(webHookSender));
            _logger        = logger ?? throw new ArgumentNullException(nameof(logger));

            _httpClient = httpClient ?? new HttpClient();
        }
 /// <summary>
 /// For testing purposes
 /// </summary>
 internal static void Reset()
 {
     _filterManager        = null;
     _store                = null;
     _sender               = null;
     _manager              = null;
     _registrationsManager = null;
     _user = null;
 }
        /// <inheritdoc />
        protected override void Initialize(HttpControllerContext controllerContext)
        {
            base.Initialize(controllerContext);

            _manager = Configuration.DependencyResolver.GetManager();
            _store   = Configuration.DependencyResolver.GetStore();
            _user    = Configuration.DependencyResolver.GetUser();
            _sender  = Configuration.DependencyResolver.GetSender();
        }
Example #6
0
 /// <summary>
 /// For testing purposes
 /// </summary>
 internal static void Reset()
 {
     _filterManager   = null;
     _filterProviders = null;
     _store           = null;
     _sender          = null;
     _manager         = null;
     _user            = null;
 }
        public IWebHookSender GetWebHookSender()
        {
            if (_webHookSender == null)
            {
                _webHookSender = new ApiWebHookSender(_logger);
            }

            return(_webHookSender);
        }
        public static IWebHookSender GetSender(this IDependencyScope services)
        {
            IWebHookSender sender = services.GetService <IWebHookSender>();

            if (sender == null)
            {
                ILogger logger = services.GetLogger();
                sender = CustomServices.GetSender(logger);
            }
            return(sender);
        }
        public void GetSender_ReturnsDefaultInstance_IfNoneRegistered()
        {
            // Arrange
            _config.InitializeCustomWebHooksApis();

            // Act
            IWebHookSender actual = _resolverMock.Object.GetSender();

            // Assert
            Assert.IsType <DataflowWebHookSender>(actual);
        }
        public void GetSender_ReturnsSingleInstance()
        {
            // Arrange
            ILogger logger = CommonServices.GetLogger();

            // Act
            IWebHookSender actual1 = CustomServices.GetSender(logger);
            IWebHookSender actual2 = CustomServices.GetSender(logger);

            // Assert
            Assert.Same(actual1, actual2);
        }
        public void GetSender_ReturnsSameInstance_IfNoneRegistered()
        {
            // Arrange
            _config.InitializeCustomWebHooks();

            // Act
            IWebHookSender actual1 = _resolverMock.Object.GetSender();
            IWebHookSender actual2 = _resolverMock.Object.GetSender();

            // Assert
            Assert.Same(actual1, actual2);
        }
 public WebHookManager(IRegisteredEventStore registeredEventStore,
                       IHandlerRegistrar eventHandlerRegistrar,
                       IWebHookSearchService webHookSearchService,
                       IWebHookSender webHookSender,
                       IBackgroundJobClient backgroundJobClient)
 {
     _registeredEventStore  = registeredEventStore;
     _eventHandlerRegistrar = eventHandlerRegistrar;
     _webHookSearchService  = webHookSearchService;
     _webHookSender         = webHookSender;
     _backgroundJobClient   = backgroundJobClient;
 }
        public void Initialize_SetSender()
        {
            //Arrange
            HttpConfiguration config = new HttpConfiguration();
            ILogger           logger = new TraceLogger();

            //Act
            config.InitializeAuthenticatedWebHooksSender();
            IWebHookSender actual = CustomServices.GetSender(logger);

            //Assert
            Assert.IsInstanceOfType(actual, typeof(AuthorizedWebHookSender));
        }
Example #14
0
        public void InitializeSender_SetsSender()
        {
            // Arrange
            ILogger           logger = new Mock <ILogger>().Object;
            HttpConfiguration config = new HttpConfiguration();

            // Act
            config.InitializeCustomWebHooksAzureQueueSender();
            IWebHookSender actual = CustomServices.GetSender(logger);

            // Assert
            Assert.IsType <AzureWebHookSender>(actual);
        }
        public static IWebHookManager GetManager(this IDependencyScope services)
        {
            IWebHookManager manager = services.GetService <IWebHookManager>();

            if (manager == null)
            {
                IWebHookStore  store  = services.GetStore();
                IWebHookSender sender = services.GetSender();
                ILogger        logger = services.GetLogger();
                manager = CustomServices.GetManager(store, sender, logger);
            }
            return(manager);
        }
        public void SetSender_GetSender_Roundtrips()
        {
            // Arrange
            ILogger logger = CommonServices.GetLogger();
            Mock <IWebHookSender> senderMock = new Mock <IWebHookSender>();

            // Act
            CustomServices.SetSender(senderMock.Object);
            IWebHookSender actual = CustomServices.GetSender(logger);

            // Assert
            Assert.Same(senderMock.Object, actual);
        }
Example #17
0
        public object GetService(Type serviceType)
        {
            if (typeof(IWebHookManager).Equals(serviceType))
            {
                IWebHookStore   store    = this.GetStore();
                IWebHookSender  sender   = this.GetSender();
                ILogger         logger   = this.GetLogger();
                IWebHookManager instance = new MyWebHookManager(store, sender, logger);

                return(instance);
            }

            return(null);
        }
Example #18
0
        public void GetSender_ReturnsDependencyInstance_IfRegistered()
        {
            // Arrange
            Mock <IWebHookSender> instanceMock = new Mock <IWebHookSender>();

            _resolverMock.Setup(r => r.GetService(typeof(IWebHookSender)))
            .Returns(instanceMock.Object)
            .Verifiable();

            // Act
            IWebHookSender actual = _resolverMock.Object.GetSender();

            // Assert
            Assert.Same(instanceMock.Object, actual);
            instanceMock.Verify();
        }
Example #19
0
        /// <summary>
        /// Initialize a new instance of the <see cref="WebHookManager"/> with the given <paramref name="httpClient"/>. This
        /// constructor is intended for unit testing purposes.
        /// </summary>
        internal WebHookManager(IWebHookStore webHookStore, IWebHookSender webHookSender, ILogger logger, HttpClient httpClient)
        {
            if (webHookStore == null)
            {
                throw new ArgumentNullException("webHookStore");
            }
            if (webHookSender == null)
            {
                throw new ArgumentNullException("webHookSender");
            }
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            _webHookStore  = webHookStore;
            _webHookSender = webHookSender;
            _logger        = logger;

            _httpClient = httpClient ?? new HttpClient();
        }
Example #20
0
        /// <summary>
        /// Initialize a new instance of the <see cref="WebHookManager"/> with the given <paramref name="httpClient"/>. This
        /// constructor is intended for unit testing purposes.
        /// </summary>
        public WebHookManager(IWebHookStore webHookStore, IWebHookSender webHookSender, ILogger logger, HttpClient httpClient)
        {
            if (webHookStore == null)
            {
                throw new ArgumentNullException(nameof(webHookStore));
            }
            if (webHookSender == null)
            {
                throw new ArgumentNullException(nameof(webHookSender));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            _webHookStore  = webHookStore;
            _webHookSender = webHookSender;
            _logger        = logger;

            _httpClient = httpClient ?? new HttpClient();
        }
Example #21
0
        /// <summary>
        /// Initialize a new instance of the <see cref="WebHookManager"/> with the given <paramref name="httpClient"/>. This 
        /// constructor is intended for unit testing purposes.
        /// </summary>
        internal WebHookManager(IWebHookStore webHookStore, IWebHookSender webHookSender, ILogger logger, HttpClient httpClient)
        {
            if (webHookStore == null)
            {
                throw new ArgumentNullException("webHookStore");
            }
            if (webHookSender == null)
            {
                throw new ArgumentNullException("webHookSender");
            }
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            _webHookStore = webHookStore;
            _webHookSender = webHookSender;
            _logger = logger;

            _httpClient = httpClient ?? new HttpClient();
        }
Example #22
0
        public static IWebHookManager GetManager(IWebHookStore store, IWebHookSender sender, ILogger logger)
        {
            if (_manager != null)
            {
                return(_manager);
            }
            if (store == null)
            {
                throw new ArgumentNullException(nameof(store));
            }
            if (sender == null)
            {
                throw new ArgumentNullException(nameof(sender));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            IWebHookManager instance = new WebHookManager(store, sender, logger);

            Interlocked.CompareExchange(ref _manager, instance, null);
            return(_manager);
        }
Example #23
0
 /// <summary>
 /// Initialize a new instance of the <see cref="WebHookManager"/> with a default retry policy.
 /// </summary>
 /// <param name="webHookStore">The current <see cref="IWebHookStore"/>.</param>
 /// <param name="webHookSender">The current <see cref="IWebHookSender"/>.</param>
 /// <param name="logger">The current <see cref="ILogger"/>.</param>
 public WebHookManager(IWebHookStore webHookStore, IWebHookSender webHookSender, ILogger <WebHookManager> logger)
     : this(webHookStore, webHookSender, logger, httpClient : null)
 {
 }
Example #24
0
 /// <summary>Initializes a new instance of the <see cref="WebHookReplayService{TContext}"/> class.</summary>
 public WebHookReplayService(TContext context, IWebHookSender sender, ISecretProtector secretProtector)
 {
     _context         = context ?? throw new ArgumentNullException(nameof(context));
     _sender          = sender ?? throw new ArgumentNullException(nameof(sender));
     _secretProtector = secretProtector ?? throw new ArgumentNullException(nameof(secretProtector));
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EFNotificationProcessor{TContext}"/> class.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="webHookStore"></param>
 /// <param name="webHookSender"></param>
 /// <param name="logger"></param>
 public EFNotificationProcessor(TContext context, IWebHookStore webHookStore, IWebHookSender webHookSender, ILogger <DefaultNotificationProcessor> logger)
     : base(webHookStore, webHookSender, logger)
 {
     _context = context ?? throw new ArgumentNullException(nameof(context));
 }
Example #26
0
 /// <summary>
 /// Sets a default <see cref="IWebHookSender"/> implementation which is used if none are registered with the 
 /// Dependency Injection engine.
 /// </summary>
 /// <param name="instance">The <see cref="IWebHookSender"/> to use. If <c>null</c> then a default implementation is used.</param>
 public static void SetSender(IWebHookSender instance)
 {
     _sender = instance;
 }
Example #27
0
 public IWebHookSender GetWebHookSender()
 {
     return(_webHookSender ?? (_webHookSender = new ApiWebHookSender(_apiWebHookSenderLogger)));
 }
Example #28
0
        public static IWebHookManager GetManager(IWebHookStore store, IWebHookSender sender, ILogger logger)
        {
            if (_manager != null)
            {
                return _manager;
            }
            if (store == null)
            {
                throw new ArgumentNullException("store");
            }
            if (sender == null)
            {
                throw new ArgumentNullException("sender");
            }
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }

            IWebHookManager instance = new WebHookManager(store, sender, logger);
            Interlocked.CompareExchange(ref _manager, instance, null);
            return _manager;
        }
Example #29
0
 /// <summary>
 /// For testing purposes
 /// </summary>
 internal static void Reset()
 {
     _filterManager = null;
     _filterProviders = null;
     _store = null;
     _sender = null;
     _manager = null;
     _user = null;
 }
 public ScionWebhookManager(IWebHookStore webHookStore, IWebHookSender webHookSender, ILogger logger)
     : base(webHookStore, webHookSender, logger)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DefaultNotificationProcessor"/> class.
 /// </summary>
 /// <param name="webHookStore"></param>
 /// <param name="webHookSender"></param>
 public DefaultNotificationProcessor(IWebHookStore webHookStore, IWebHookSender webHookSender)
 {
     _webHookStore  = webHookStore ?? throw new ArgumentNullException(nameof(webHookStore));
     _webHookSender = webHookSender ?? throw new ArgumentNullException(nameof(webHookSender));
 }
Example #32
0
 /// <summary>
 /// Sets a default <see cref="IWebHookSender"/> implementation which is used if none are registered with the
 /// Dependency Injection engine.
 /// </summary>
 /// <param name="instance">The <see cref="IWebHookSender"/> to use. If <c>null</c> then a default implementation is used.</param>
 public static void SetSender(IWebHookSender instance)
 {
     _sender = instance;
 }
Example #33
0
 /// <summary>
 /// Initialize a new instance of the <see cref="WebHookManager"/> with a default retry policy.
 /// </summary>
 /// <param name="webHookStore">The current <see cref="IWebHookStore"/>.</param>
 /// <param name="webHookSender">The current <see cref="IWebHookSender"/>.</param>
 /// <param name="logger">The current <see cref="ILogger"/>.</param>
 public WebHookManager(IWebHookStore webHookStore, IWebHookSender webHookSender, ILogger logger)
     : this(webHookStore, webHookSender, logger, httpClient: null)
 {
 }