public void MessageTypeToProcess()
        {
            var endpointStorage   = new Mock <IStoreEndpointApprovalState>();
            var systemDiagnostics = new SystemDiagnostics((p, s) => { }, null);

            var action = new EndpointDisconnectProcessAction(endpointStorage.Object, systemDiagnostics);

            Assert.AreEqual(typeof(EndpointDisconnectMessage), action.MessageTypeToProcess);
        }
        public void Invoke()
        {
            var endpoint        = new EndpointId("a");
            var endpointStorage = new Mock <IStoreEndpointApprovalState>();
            {
                endpointStorage.Setup(e => e.TryRemoveEndpoint(It.IsAny <EndpointId>()))
                .Callback <EndpointId>(e => Assert.AreSame(endpoint, e))
                .Returns(true)
                .Verifiable();
            }

            var systemDiagnostics = new SystemDiagnostics((p, s) => { }, null);

            var action = new EndpointDisconnectProcessAction(endpointStorage.Object, systemDiagnostics);

            var disconnectMsg = new EndpointDisconnectMessage(endpoint);

            action.Invoke(disconnectMsg);

            endpointStorage.Verify(e => e.TryRemoveEndpoint(It.IsAny <EndpointId>()), Times.Once());
        }