public void ExecuteTuningForkForServer_Int_Error()
        {
            //Arrange
            var serverName = "localHost";
            var server     = new Server {
                ServerName = serverName, ServerTypeId = 3
            };
            var processControl = new ProcessControl();

            _sqlRepo.Setup(r => r.AdminScriptsInstalled()).Returns(true);
            _sqlRepo.Setup(
                r =>
                r.ConfigurationRepository.ReadConfigurationValue(ConfigurationKeys.Section,
                                                                 ConfigurationKeys.EnableInstantFileInitializationCheck)).Returns("true");
            _sqlRepo.Setup(r => r.EnvironmentCheckRepository.ExecuteTuningForkSystem(server.ServerName)).Throws(new Exception("abc"));
            _sqlRepo.Setup(r => r.ConfigurationRepository.ReadConfigurationValue(ConfigurationKeys.Section, ConfigurationKeys.EnableInstantFileInitializationCheck)).Returns("false");
            _logger.Setup(l => l.LogError(It.Is <String>(m => m.Contains("Failure Running tunning for")), "Environment Check SQL Configuration"));
            _sqlRepo.Setup(r => r.PerformanceServerRepository.ReadAllActiveAsync())
            .ReturnsAsync(new[] { server });

            //Act
            var task   = new EnvironmentCheckSqlConfigTask(_logger.Object, _sqlRepo.Object, 123);
            var result = task.Execute(processControl);

            //Assert
            Assert.That(result, Is.False);
            _sqlRepo.VerifyAll();
            Assert.That(processControl.LastErrorMessage, Is.StringContaining("abc"));
            Assert.That(_data.Rows.Count, Is.EqualTo(1));
        }
        public void EnvironmentCheckSqlConfig_Execute()
        {
            //Arrange
            var serverName = "localhost";
            var server     = new Server {
                ServerName = serverName, ServerTypeId = 3
            };
            var databaseDirs = new DatabaseDirectoryInfo {
            };

            _sqlRepo.Setup(r => r.AdminScriptsInstalled()).Returns(true);
            _sqlRepo.Setup(r => r.EnvironmentCheckRepository.ExecuteTuningForkSystem(server.ServerName)).Returns(_data);
            _sqlRepo.Setup(r => r.EnvironmentCheckRepository.SaveTuningForkSystemData(server.ServerName, _data));
            _sqlRepo.Setup(r => r.ConfigurationRepository.ReadConfigurationValue(ConfigurationKeys.Section, ConfigurationKeys.EnableInstantFileInitializationCheck)).Returns("true");
            _sqlRepo.Setup(r => r.DeploymentRepository.ReadMdfLdfDirectories(server.ServerName)).Returns(databaseDirs);
            _sqlRepo.Setup(r => r.EnvironmentCheckRepository.ReadCheckIFISettings(databaseDirs)).Returns(true);
            _sqlRepo.Setup(r => r.PerformanceServerRepository.ReadAllActiveAsync())
            .ReturnsAsync(new List <Server>()
            {
                server
            });

            //Act
            var task   = new EnvironmentCheckSqlConfigTask(_logger.Object, _sqlRepo.Object, 123);
            var result = task.Execute(new ProcessControl());

            //Assert
            Assert.That(result, Is.True);
            _sqlRepo.VerifyAll();
            Assert.That(_data.Rows.Count, Is.EqualTo(2));
        }
        public void ExecuteTuningForkForServer()
        {
            //Arrange
            var serverName = "abc";
            var server     = new Server {
                ServerName = serverName
            };
            var databaseDirs = new DatabaseDirectoryInfo {
            };

            _sqlRepo.Setup(r => r.EnvironmentCheckRepository.ExecuteTuningForkSystem(server.ServerName)).Returns(_data);
            _sqlRepo.Setup(r => r.EnvironmentCheckRepository.SaveTuningForkSystemData(server.ServerName, _data));

            //Act
            var task = new EnvironmentCheckSqlConfigTask(_logger.Object, _sqlRepo.Object, 123);

            task.ExecuteTuningForkForServer(server, false);

            //Assert
            _sqlRepo.VerifyAll();
            Assert.That(_data.Rows.Count, Is.EqualTo(1));
        }
        public void ExecuteTuningForkForServer_GetIFISettings()
        {
            //Arrange
            var server = new Server {
                ServerName = "abc"
            };
            var databaseDirs = new DatabaseDirectoryInfo {
            };

            _sqlRepo.Setup(r => r.EnvironmentCheckRepository.ExecuteTuningForkSystem(server.ServerName)).Returns(_data);
            _sqlRepo.Setup(r => r.EnvironmentCheckRepository.SaveTuningForkSystemData(server.ServerName, _data));
            _sqlRepo.Setup(r => r.DeploymentRepository.ReadMdfLdfDirectories(server.ServerName)).Returns(databaseDirs);
            _sqlRepo.Setup(r => r.EnvironmentCheckRepository.ReadCheckIFISettings(databaseDirs)).Returns(true);

            //Act
            var task = new EnvironmentCheckSqlConfigTask(_logger.Object, _sqlRepo.Object, 123);

            task.ExecuteTuningForkForServer(server, true);

            //Assert
            _sqlRepo.VerifyAll();
            Assert.That(_data.Rows.Count, Is.EqualTo(2));
        }