From 362ea03104276c564934b861f7f17000ea316835 Mon Sep 17 00:00:00 2001 From: Buddhika Chathuranga Date: Wed, 12 Aug 2020 14:07:42 +0530 Subject: [PATCH] Add unit test for SharedDirectoryMapper yaml config --- .../YamlExtensionConfiguration.cs | 2 +- .../Extensions/RunawayProcessKillerTest.cs | 2 +- .../Extensions/SharedDirectoryMapperTest.cs | 50 ++++++++++++++++++- 3 files changed, 51 insertions(+), 3 deletions(-) diff --git a/src/Core/WinSWCore/Configuration/YamlExtensionConfiguration.cs b/src/Core/WinSWCore/Configuration/YamlExtensionConfiguration.cs index cfc4a6f..3d72cc3 100644 --- a/src/Core/WinSWCore/Configuration/YamlExtensionConfiguration.cs +++ b/src/Core/WinSWCore/Configuration/YamlExtensionConfiguration.cs @@ -9,7 +9,7 @@ namespace WinSW.Configuration [YamlMember(Alias = "id")] public string? ExtensionId { get; set; } - [YamlMember(Alias = "classname")] + [YamlMember(Alias = "className")] public string? ExtensionClassName { get; set; } [YamlMember(Alias = "enabled")] diff --git a/src/Test/winswTests/Extensions/RunawayProcessKillerTest.cs b/src/Test/winswTests/Extensions/RunawayProcessKillerTest.cs index ae86acc..dea027a 100644 --- a/src/Test/winswTests/Extensions/RunawayProcessKillerTest.cs +++ b/src/Test/winswTests/Extensions/RunawayProcessKillerTest.cs @@ -56,7 +56,7 @@ arguments: >- extensions: - id: killRunawayProcess enabled: yes - classname: ""{this.testExtension}"" + className: ""{this.testExtension}"" settings: pidfile: 'foo/bar/pid.txt' stopTimeOut: 5000 diff --git a/src/Test/winswTests/Extensions/SharedDirectoryMapperTest.cs b/src/Test/winswTests/Extensions/SharedDirectoryMapperTest.cs index e0217a4..3b0136c 100644 --- a/src/Test/winswTests/Extensions/SharedDirectoryMapperTest.cs +++ b/src/Test/winswTests/Extensions/SharedDirectoryMapperTest.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using WinSW; +using WinSW.Configuration; using WinSW.Extensions; using WinSW.Plugins.SharedDirectoryMapper; @@ -8,7 +9,8 @@ namespace winswTests.Extensions [TestFixture] class SharedDirectoryMapperTest : ExtensionTestBase { - ServiceDescriptor _testServiceDescriptor; + IWinSWConfiguration _testServiceDescriptor; + IWinSWConfiguration _testServiceDescriptorYaml; readonly string testExtension = GetExtensionClassNameWithAssembly(typeof(SharedDirectoryMapper)); @@ -39,6 +41,44 @@ $@" "; this._testServiceDescriptor = ServiceDescriptor.FromXML(seedXml); + + string seedYaml = $@"--- +id: jenkins +name: Jenkins +description: This service runs Jenkins automation server. +env: + - + name: JENKINS_HOME + value: '%LocalAppData%\Jenkins.jenkins' +executable: java +arguments: >- + -Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle + -jar E:\Winsw Test\yml6\jenkins.war --httpPort=8081 +extensions: + - id: mapNetworDirs + className: ""{this.testExtension}"" + enabled: true + settings: + mapping: + - enabled: false + label: N + uncpath: \\UNC + - enabled: false + label: M + uncpath: \\UNC2 + - id: mapNetworDirs2 + className: ""{this.testExtension}"" + enabled: true + settings: + mapping: + - enabled: false + label: X + uncpath: \\UNC + - enabled: false + label: Y + uncpath: \\UNC2"; + + this._testServiceDescriptorYaml = ServiceDescriptorYaml.FromYaml(seedYaml).Configurations; } [Test] @@ -49,6 +89,14 @@ $@" Assert.AreEqual(2, manager.Extensions.Count, "Two extensions should be loaded"); } + [Test] + public void LoadExtensionsYaml() + { + WinSWExtensionManager manager = new WinSWExtensionManager(this._testServiceDescriptorYaml); + manager.LoadExtensions(); + Assert.AreEqual(2, manager.Extensions.Count, "Two extensions should be loaded"); + } + [Test] public void StartStopExtension() {