Пример #1
0
 /// <summary>
 /// Resets all values for testing purposes.
 /// </summary>
 internal static void Reset()
 {
     _receiverManager = null;
     _receiverConfig  = null;
     _handlerSorter   = null;
     _receivers       = null;
     _handlers        = null;
 }
        public void GetHandlerSorter_ReturnsDefaultInstance_IfNoneRegistered()
        {
            // Act
            IWebHookHandlerSorter actual = _resolverMock.Object.GetHandlerSorter();

            // Assert
            Assert.IsType <WebHookHandlerSorter>(actual);
        }
        public void GetHandlerSorter_ReturnsSameInstance_IfNoneRegistered()
        {
            // Act
            IWebHookHandlerSorter actual1 = _resolverMock.Object.GetHandlerSorter();
            IWebHookHandlerSorter actual2 = _resolverMock.Object.GetHandlerSorter();

            // Assert
            Assert.Same(actual1, actual2);
        }
Пример #4
0
        public void GetHandlerSorter_ReturnsSingletonInstance()
        {
            // Act
            IWebHookHandlerSorter actual1 = ReceiverServices.GetHandlerSorter();
            IWebHookHandlerSorter actual2 = ReceiverServices.GetHandlerSorter();

            // Assert
            Assert.Same(actual1, actual2);
        }
Пример #5
0
        /// <summary>
        /// Gets an <see cref="IWebHookHandlerSorter"/> implementation registered with the Dependency Injection engine
        /// or a default implementation if none is registered.
        /// </summary>
        /// <param name="services">The <see cref="IDependencyScope"/> implementation.</param>
        /// <returns>The registered <see cref="IWebHookReceiverManager"/> instance or a default implementation if none are registered.</returns>
        public static IWebHookHandlerSorter GetHandlerSorter(this IDependencyScope services)
        {
            IWebHookHandlerSorter handlerSorter = services.GetService <IWebHookHandlerSorter>();

            if (handlerSorter == null)
            {
                handlerSorter = ReceiverServices.GetHandlerSorter();
            }
            return(handlerSorter);
        }
Пример #6
0
        /// <summary>
        /// Gets the set of <see cref="IWebHookHandler"/> instances registered with the Dependency Injection engine
        /// or an empty collection if none are registered.
        /// </summary>
        /// <param name="services">The <see cref="IDependencyScope"/> implementation.</param>
        /// <returns>An <see cref="IEnumerable{T}"/> containing the registered instances.</returns>
        public static IEnumerable <IWebHookHandler> GetHandlers(this IDependencyScope services)
        {
            IEnumerable <IWebHookHandler> handlers = services.GetServices <IWebHookHandler>();

            if (handlers == null || !handlers.Any())
            {
                handlers = ReceiverServices.GetHandlers();
            }

            // Sort handlers
            IWebHookHandlerSorter sorter = services.GetHandlerSorter();

            return(sorter.SortHandlers(handlers));
        }
        public void GetHandlerSorter_ReturnsDependencyInstance_IfRegistered()
        {
            // Arrange
            Mock <IWebHookHandlerSorter> instanceMock = new Mock <IWebHookHandlerSorter>();

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

            // Act
            IWebHookHandlerSorter actual = _resolverMock.Object.GetHandlerSorter();

            // Assert
            Assert.Same(instanceMock.Object, actual);
            instanceMock.Verify();
        }
Пример #8
0
 /// <summary>
 /// Resets all values for testing purposes.
 /// </summary>
 internal static void Reset()
 {
     _receiverManager = null;
     _receiverConfig = null;
     _handlerSorter = null;
     _receivers = null;
     _handlers = null;
 }
Пример #9
0
 public WebHookHandlerSorterTests()
 {
     _sorter = new WebHookHandlerSorter();
 }
Пример #10
0
 public WebHookHandlerSorterTests()
 {
     _sorter = new WebHookHandlerSorter();
 }