public void IsUnderHighLoad_Threads_ReturnsExpectedResults(int currentValue, bool expected)
        {
            var counters = new ApplicationPerformanceCounters
            {
                Threads     = currentValue,
                ThreadLimit = 512
            };

            Assert.Equal(expected, HostPerformanceManager.IsUnderHighLoad(counters));
        }
        public void IsUnderHighLoad_Connections_ReturnsExpectedResults(int currentValue, bool expected)
        {
            var counters = new ApplicationPerformanceCounters
            {
                Connections     = currentValue,
                ConnectionLimit = 300
            };

            Assert.Equal(expected, HostPerformanceManager.IsUnderHighLoad(counters));
        }
        public void IsUnderHighLoad_NamedPipes_ReturnsExpectedResults(int currentValue, bool expected)
        {
            var counters = new ApplicationPerformanceCounters
            {
                NamedPipes     = currentValue,
                NamedPipeLimit = 128
            };

            Assert.Equal(expected, HostPerformanceManager.IsUnderHighLoad(counters));
        }
        public static void IsUnderHighLoad_Processes_ReturnsExpectedResults(int currentValue, bool expected)
        {
            var counters = new ApplicationPerformanceCounters
            {
                Processes    = currentValue,
                ProcessLimit = 32
            };

            Assert.Equal(expected, HostPerformanceManager.IsUnderHighLoad(counters));
        }
        public void IsUnderHighLoad_ActiveConnections_ReturnsExpectedResults(int currentValue, bool expected)
        {
            var counters = new ApplicationPerformanceCounters
            {
                ActiveConnections     = currentValue,
                ActiveConnectionLimit = 600
            };
            Collection <string> exceededCounters = new Collection <string>();

            Assert.Equal(expected, HostPerformanceManager.IsUnderHighLoad(counters, exceededCounters: exceededCounters));
            if (expected)
            {
                Assert.Equal(1, exceededCounters.Count);
                Assert.Equal("ActiveConnections", exceededCounters[0]);
            }
        }
        public void PerformanceCounterThresholdsExceeded_NamedPipes_ReturnsExpectedResults(int currentValue, bool expected)
        {
            var counters = new ApplicationPerformanceCounters
            {
                NamedPipes     = currentValue,
                NamedPipeLimit = 128
            };
            Collection <string> exceededCounters = new Collection <string>();

            Assert.Equal(expected, HostPerformanceManager.PerformanceCounterThresholdsExceeded(counters, exceededCounters: exceededCounters));
            if (expected)
            {
                Assert.Equal(1, exceededCounters.Count);
                Assert.Equal("NamedPipes", exceededCounters[0]);
            }
        }
        public void PerformanceCounterThresholdsExceeded_RemoteDirMonitors_ReturnsExpectedResults(int currentValue, bool expected)
        {
            var counters = new ApplicationPerformanceCounters
            {
                RemoteDirMonitors     = currentValue,
                RemoteDirMonitorLimit = 500
            };
            Collection <string> exceededCounters = new Collection <string>();

            Assert.Equal(expected, HostPerformanceManager.PerformanceCounterThresholdsExceeded(counters, exceededCounters: exceededCounters));
            if (expected)
            {
                Assert.Equal(1, exceededCounters.Count);
                Assert.Equal("RemoteDirMonitors", exceededCounters[0]);
            }
        }
        public void IsUnderHighLoad_MultipleExceededThrottles_ReturnsExpectedResults()
        {
            var counters = new ApplicationPerformanceCounters
            {
                NamedPipes     = 130,
                NamedPipeLimit = 128,
                Processes      = 40,
                ProcessLimit   = 32,
                Threads        = 600,
                ThreadLimit    = 512
            };
            Collection <string> exceededCounters = new Collection <string>();

            Assert.Equal(true, HostPerformanceManager.IsUnderHighLoad(counters, exceededCounters));
            Assert.Equal(3, exceededCounters.Count);
            Assert.Equal("Threads, Processes, NamedPipes", string.Join(", ", exceededCounters));
        }