public void ShouldSetPortHintFromEnvironmentWhenAvailable() { // Arrange using var resetter = new AutoResetter <int?>( StoreCurrentPortHint, RestorePortHint); var expected = GetRandomInt(15000, 20000); Environment.SetEnvironmentVariable( TempDbMySqlServerSettings.EnvironmentVariables.PORT_HINT, expected.ToString() ); Expect( Environment.GetEnvironmentVariable( TempDbMySqlServerSettings.EnvironmentVariables.PORT_HINT ) ).To.Equal(expected.ToString()); // Act var sut = new TempDbMySqlServerSettings() { Options = { DefaultSchema = GetRandomAlphaString(8, 8) }, InnodbFlushLogAtTrxCommit = 2, SlowQueryLog = 0 }; // Assert Expect(sut.Options.PortHint) .To.Equal(expected); }
/// <summary> /// Create a TempDbMySql instance with provided options, an action to run before initializing and /// zero or more creation scripts /// </summary> /// <param name="settings"></param> /// <param name="beforeInit"></param> /// <param name="creationScripts"></param> public TempDBMySql( TempDbMySqlServerSettings settings, Action <object> beforeInit, params string[] creationScripts ) : base( settings, o => BeforeInit(o as TempDBMySqlBase <MySqlConnection>, beforeInit, settings), creationScripts ) { }
public void WhenOptimizedForPerformance_ShouldReturnSelf() { // arrange var sut = new TempDbMySqlServerSettings(); // act var result = sut.OptimizeForPerformance(); // assert Expect(result).To.Be.An.Instance.Of <TempDbMySqlServerSettings>(); }
public void WhenOptimizedForPerformanceOnSSD_ShouldIncreaseIOCapacity() { // arrange var sut = new TempDbMySqlServerSettings(); // act sut.OptimizeForPerformance(isRunningOnSsdDisk: true); // assert Expect(sut.InnoDbIoCapacity).To.Equal(3000); }
/// <summary> /// Create a TempDbMySql instance with provided options and zero or more creation scripts /// </summary> /// <param name="settings"></param> /// <param name="creationScripts"></param> public TempDBMySql( TempDbMySqlServerSettings settings, params string[] creationScripts ) : base( settings, o => { }, creationScripts) { }
public void WhenOptimizedForPerformance_ShouldUpdateConfigAppropriately() { // arrange var sut = new TempDbMySqlServerSettings(); // act sut.OptimizeForPerformance(); // assert Expect(sut.GeneralLog).To.Equal(0); Expect(sut.SlowQueryLog).To.Equal(0); Expect(sut.SyncBinLog).To.Equal(0); Expect(sut.InnoDbIoCapacity).To.Equal(200); Expect(sut.InnodbThreadConcurrency).To.Equal(0); Expect(sut.InnodbFlushLogAtTimeout).To.Equal(10); Expect(sut.InnodbFlushLogAtTrxCommit).To.Equal(2); }
public void WhenCustomSettingsSetToNull_ShouldStillGenerate() { // Arrange var defaultIni = new INIFile.INIFile(); defaultIni.Parse(DEFAULTS); var sut = Create(); var settings = new TempDbMySqlServerSettings { CustomConfiguration = null }; // Act var rawResult = sut.GenerateFor(settings); var resultIni = new INIFile.INIFile(); resultIni.Parse(rawResult); // Assert Expect(defaultIni.Sections) .To.Be.Equivalent.To(resultIni.Sections); }
public void WhenCustomSettingIsDuplicateOfFirstClassSetting_ShouldOverrideFirstClassSetting() { // Arrange var defaultIni = new INIFile.INIFile(); defaultIni.Parse(DEFAULTS); var sut = Create(); var settings = new TempDbMySqlServerSettings { MaxConnections = -GetRandomInt(), CustomConfiguration = { ["max_connections"] = GetRandomInt(1000, 2000).ToString() } }; // Act var rawResult = sut.GenerateFor(settings); var resultIni = new INIFile.INIFile(); resultIni.Parse(rawResult); // Assert var resultValue = resultIni.GetValue(MySqlConfigGenerator.SECTION, "max_connections"); Expect(resultValue).To.Equal(settings.CustomConfiguration["max_connections"]); }
public void WhenHasCustomSettings_ShouldEmitCustomSettings() { // Arrange var defaultIni = new INIFile.INIFile(); defaultIni.Parse(DEFAULTS); var sut = Create(); var settings = new TempDbMySqlServerSettings(); var key = GetRandomString(32); var value = GetRandomString(32); settings.CustomConfiguration[key] = value; // Act var rawResult = sut.GenerateFor(settings); var resultIni = new INIFile.INIFile(); resultIni.Parse(rawResult); // Assert var resultValue = resultIni.GetValue(MySqlConfigGenerator.SECTION, key); Expect(resultValue).To.Equal(value); }