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)); }
/// <summary> /// Obtains information about the MDF/LDF directories used for Relativity databases on this environment /// </summary> /// <param name="server"></param> /// <returns></returns> public DatabaseDirectoryInfo ReadMdfLdfDirectories(string server = "") { var directoryInfo = new DatabaseDirectoryInfo(); using (var conn = (SqlConnection)this.connectionFactory.GetEddsConnection()) { using (var command = new SqlCommand()) { var serverName = command.CreateParameter(); serverName.ParameterName = "@serverName"; serverName.DbType = DbType.String; serverName.Value = server ?? ""; var results = SqlHelper.ExecuteDataset(conn, CommandType.Text, Resources.ReadMdfLdfDirectories, new[] { serverName }); if (results.Tables.Count > 0 && results.Tables[0].Rows.Count > 0) { directoryInfo.MdfPath = results.Tables[0].Rows[0].Field <string>("MDF"); directoryInfo.LdfPath = results.Tables[0].Rows[0].Field <string>("LDF"); // Doing this because when we use the path in SQL, it assumes the trailing slash already exists if (!directoryInfo.MdfPath.EndsWith("\\")) { directoryInfo.MdfPath += "\\"; } if (!directoryInfo.LdfPath.EndsWith("\\")) { directoryInfo.LdfPath += "\\"; } } } } return(directoryInfo); }
public bool?ReadCheckIFISettings(DatabaseDirectoryInfo mdfldfDirs) { using (var conn = this.connectionFactory.GetPdbResourceConnection()) { var dynamicParam = new DynamicParameters(); dynamicParam.Add("@enabled", dbType: DbType.Boolean, direction: ParameterDirection.Output); dynamicParam.Add("@mdfPath", mdfldfDirs.MdfPath); dynamicParam.Add("@ldfPath", mdfldfDirs.LdfPath); conn.Execute(Names.Database.PdbResource + ".eddsdbo.CheckInstantFileInitialization", dynamicParam, commandType: CommandType.StoredProcedure); return(dynamicParam.Get <bool>("@enabled")); } }
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)); }