void PicksUpExistingConfiguration() => WithValidPreflightChecks(s => s .Elasticsearch(e => e .EsConfigMachineVariable(LocationsModel.DefaultConfigDirectory) ) .FileSystem(fs => { fs.AddFile(Path.Combine(LocationsModel.DefaultConfigDirectory, "jvm.options"), new MockFileData(@"-Xmx8000m -SomeOtherJvmOption")); return(fs); }) ) .AssertTask( (m, s, fs) => new EditJvmOptionsTask(m, s, fs), (m, t) => { var dir = m.LocationsModel.ConfigDirectory; var jvmOptionsFile = Path.Combine(dir, "jvm.options"); var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile); jvmOptionsFileContents.Should() .NotBeEmpty() .And.Contain("-Xmx8000m") .And.Contain("-SomeOtherJvmOption") ; var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem); jvmOptions.ConfiguredHeapSize.Should().Be((ulong)8000); } );
void WritesConfiguredMemory() => WithValidPreflightChecks(s => s .Elasticsearch(es => es .EsConfigMachineVariable(LocationsModel.DefaultConfigDirectory) ) .FileSystem(fs => { fs.AddFile(Path.Combine(LocationsModel.DefaultConfigDirectory, "jvm.options"), new MockFileData("")); return(fs); }) ) .OnStep(m => m.ConfigurationModel, s => s.SelectedMemory = 1024) .AssertTask( (m, s, fs) => new EditJvmOptionsTask(m, s, fs), (m, t) => { var dir = m.LocationsModel.ConfigDirectory; var jvmOptionsFile = Path.Combine(dir, "jvm.options"); var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile); jvmOptionsFileContents.Should() .NotBeEmpty() .And.Contain($"-Xmx1024m") .And.Contain($"-Xms1024m"); var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem); jvmOptions.ConfiguredHeapSize.Should().Be((ulong)1024); } );
public InstallationModelTester( MockWixStateProvider wixState, MockJavaEnvironmentStateProvider javaState, MockElasticsearchEnvironmentStateProvider esState, NoopServiceStateProvider serviceState, NoopPluginStateProvider pluginState, MockFileSystem fileSystem, NoopSession session, string[] args) { if (wixState == null) { throw new ArgumentNullException(nameof(wixState)); } if (javaState == null) { throw new ArgumentNullException(nameof(javaState)); } if (esState == null) { throw new ArgumentNullException(nameof(esState)); } this.JavaState = javaState; this.EsState = esState; this.PluginState = pluginState; this.JavaConfig = new JavaConfiguration(javaState); this.EsConfig = ElasticsearchYamlConfiguration.FromFolder(esState.ConfigDirectory, fileSystem); this.JvmConfig = LocalJvmOptionsConfiguration.FromFolder(esState.ConfigDirectory, fileSystem); this.InstallationModel = new InstallationModel( wixState, JavaConfig, esState, serviceState, pluginState, EsConfig, JvmConfig, session, args); this.FileSystem = fileSystem; }
void WritesExpectedDefaults() => DefaultValidModelForTasks(s => s .Elasticsearch(es => es .EsConfigMachineVariable(LocationsModel.DefaultConfigDirectory) ) .FileSystem(fs => { fs.AddFile(Path.Combine(LocationsModel.DefaultConfigDirectory, "jvm.options"), new MockFileData("")); return(fs); }) ) .AssertTask( (m, s, fs) => new EditJvmOptionsTask(m, s, fs), (m, t) => { var dir = m.LocationsModel.ConfigDirectory; var jvmOptionsFile = Path.Combine(dir, "jvm.options"); var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile); jvmOptionsFileContents.Should() .NotBeEmpty() .And.Contain($"-Xmx{ConfigurationModel.DefaultHeapSize}m") .And.Contain($"-Xms{ConfigurationModel.DefaultHeapSize}m"); var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem); jvmOptions.ConfiguredHeapSize.Should().Be(ConfigurationModel.DefaultHeapSize); } );
public static InstallationModel Create(IWixStateProvider wixState, ISession session, params string[] args) { var javaConfig = JavaConfiguration.Default; var esState = ElasticsearchEnvironmentStateProvider.Default; var serviceState = ServiceStateProvider.FromSession(session); var pluginState = PluginStateProvider.Default; var esConfig = ElasticsearchYamlConfiguration.FromFolder(esState.ConfigDirectory); var jvmConfig = LocalJvmOptionsConfiguration.FromFolder(esState.ConfigDirectory); return(new InstallationModel(wixState, javaConfig, esState, serviceState, pluginState, esConfig, jvmConfig, session, args)); }
protected override bool ExecuteTask() { this.Session.SendActionStart(1000, ActionName, "Updating Elasticsearch JVM options", "Elasticsearch JVM options: [1]"); var selectedMemory = this.InstallationModel.ConfigurationModel.SelectedMemory; var heapSize = $"{selectedMemory}m"; var configDirectory = this.InstallationModel.LocationsModel.ConfigDirectory; var options = LocalJvmOptionsConfiguration.FromFolder(configDirectory, this.FileSystem); options.Xmx = heapSize; options.Xms = heapSize; options.Save(); this.Session.SendProgress(1000, "updated heap size to " + selectedMemory + "m"); return(true); }
[Fact] void WritesExpectedDefauls() => WithValidPreflightChecks() .AssertTask( (m, s, fs) => new EditJvmOptionsTask(m, s, fs), (m, t) => { var dir = m.LocationsModel.ConfigDirectory; var jvmOptionsFile = Path.Combine(dir, "jvm.options"); var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile); jvmOptionsFileContents.Should().NotBeEmpty() .And.Contain($"-Xmx{ConfigurationModel.DefaultHeapSize}m") .And.Contain($"-Xms{ConfigurationModel.DefaultHeapSize}m"); var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem); jvmOptions.ConfiguredHeapSize.Should().Be(ConfigurationModel.DefaultHeapSize); } );
public static ElasticsearchInstallationModel Create(IWixStateProvider wixState, ISession session, params string[] args) { var javaConfig = JavaConfiguration.Default; var esEnvironmentConfig = ElasticsearchEnvironmentConfiguration.Default; var serviceState = ServiceStateProvider.FromSession(session, "Elasticsearch"); var pluginState = PluginStateProviderBase.ElasticsearchDefault(session); var esConfig = ElasticsearchYamlConfiguration.FromFolder(esEnvironmentConfig.ConfigDirectory); var jvmConfig = LocalJvmOptionsConfiguration.FromFolder(esEnvironmentConfig.ConfigDirectory); var tempDirConfig = new TempDirectoryConfiguration(session, ElasticsearchEnvironmentStateProvider.Default, null); return(new ElasticsearchInstallationModel(wixState, javaConfig, esEnvironmentConfig, serviceState, pluginState, esConfig, jvmConfig, tempDirConfig, session, args)); }
[Fact] void WritesConfiguredMemory() => WithValidPreflightChecks() .OnStep(m => m.ConfigurationModel, s => s.SelectedMemory = 1024) .AssertTask( (m, s, fs) => new EditJvmOptionsTask(m, s, fs), (m, t) => { var dir = m.LocationsModel.ConfigDirectory; var jvmOptionsFile = Path.Combine(dir, "jvm.options"); var jvmOptionsFileContents = t.FileSystem.File.ReadAllText(jvmOptionsFile); jvmOptionsFileContents.Should().NotBeEmpty() .And.Contain($"-Xmx1024m") .And.Contain($"-Xms1024m"); var jvmOptions = LocalJvmOptionsConfiguration.FromFolder(dir, t.FileSystem); jvmOptions.ConfiguredHeapSize.Should().Be((ulong)1024); } );