public void WebConfigTransform_Throws_ForInValidHostingModel(string attributeValue) { // Template uses AspNetCoreModuleV1 var input = WebConfigTransformTemplates.WebConfigTemplate; Assert.Throws <Exception>(() => WebConfigTransform.Transform(null, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: attributeValue, environmentName: null, projectFullPath: null)); }
public void WebConfigTransform_HandlesLocations_Correctly(XDocument template) { var input = template; var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null); Assert.True(XNode.DeepEquals(output, template)); }
public void WebConfigTransform_creates_ProcessPath_WithCorrectExtension() { Assert.True(XNode.DeepEquals(WebConfigTransformTemplates.WebConfigTemplate, WebConfigTransform.Transform(null, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null))); Assert.True(XNode.DeepEquals(WebConfigTransformTemplates.WebConfigTemplateWithOutExe, WebConfigTransform.Transform(null, "test.dll", configureForAzure: false, useAppHost: true, extension: null, aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null))); }
public void WebConfigTransform_overwrites_processPath() { var newProcessPath = (string)WebConfigTransform.Transform(WebConfigTransformTemplates.WebConfigTemplate, "app.exe", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null) .Descendants("aspNetCore").Single().Attribute("processPath"); Assert.Equal(@".\app.exe", newProcessPath); }
public void WebConfigTransform_will_append_Env_IfPassed() { var input = WebConfigTransformTemplates.WebConfigTemplate; var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: "Production"); Assert.True(XNode.DeepEquals(output, WebConfigTransformTemplates.WebConfigTemplateWithEnvironmentVariable)); }
public void WebConfigTransform_will_Override_Env_IfUpdated() { var input = WebConfigTransformTemplates.WebConfigTemplateWithEnvironmentVariable; var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: "Staging"); Assert.Equal("Staging", (string)output.Descendants("environmentVariable").Single().Attribute("value")); }
public void WebConfigTransform_creates_new_config_if_one_does_not_exist() { Assert.True(XNode.DeepEquals(WebConfigTransformTemplates.WebConfigTemplate, WebConfigTransform.Transform(null, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null))); Assert.True(XNode.DeepEquals(WebConfigTransformTemplates.WebConfigTemplatePortable, WebConfigTransform.Transform(null, "test.dll", configureForAzure: false, useAppHost: false, extension: null, aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null))); }
public void WebConfigTransform_DoesNotSet_HostingModelIfEmpty(string elementName, string attributeName, string attributeValue) { var input = WebConfigTransformTemplates.WebConfigTemplate; var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: attributeValue, environmentName: null); Assert.Null((string)output.Descendants(elementName).Single().Attribute(attributeName)); }
public void WebConfigTransform_creates_ProcessPath_WithCorrectExtension() { Assert.True(XNode.DeepEquals(WebConfigTemplate, WebConfigTransform.Transform(null, "test.dll", configureForAzure: false, isPortable: false, extension: ".exe", aspNetCoreHostingModel: null))); Assert.True(XNode.DeepEquals(WebConfigTemplateWithOutExe, WebConfigTransform.Transform(null, "test.dll", configureForAzure: false, isPortable: false, extension: null, aspNetCoreHostingModel: null))); }
public void WebConfigTransform_UsesAspNetCoreHostingModelValue_ForHostingModel(string elementName, string attributeName, string attributeValue) { var input = WebConfigTemplate; var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, isPortable: false, extension: ".exe", aspNetCoreHostingModel: attributeValue); Assert.Equal(attributeValue, (string)output.Descendants(elementName).Single().Attribute(attributeName)); }
public void WebConfigTransform_WillNot_AddLocation_IfNotPresentInWebConfig() { var input = WebConfigTemplateWithoutLocation; var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreHostingModel: null, environmentName: null); Assert.True(XNode.DeepEquals(output, WebConfigTemplateWithoutLocation)); }
public void WebConfigTransform_overwrites_processPath() { var newProcessPath = (string)WebConfigTransform.Transform(WebConfigTemplate, "app.exe", configureForAzure: false, isPortable: false) .Descendants("aspNetCore").Single().Attribute("processPath"); Assert.Equal(@".\app.exe", newProcessPath); }
public void WebConfigTransform_creates_new_config_if_one_does_not_exist() { Assert.True(XNode.DeepEquals(WebConfigTemplate, WebConfigTransform.Transform(null, "test.dll", configureForAzure: false, isPortable: false, extension: ".exe"))); Assert.True(XNode.DeepEquals(WebConfigTemplatePortable, WebConfigTransform.Transform(null, "test.dll", configureForAzure: false, isPortable: true, extension: null))); }
public void WebConfigTransform_fixes_aspnetcore_casing() { var input = WebConfigTransformTemplates.WebConfigTemplate; input.Descendants("add").Single().SetAttributeValue("name", "aspnetcore"); Assert.True(XNode.DeepEquals(WebConfigTransformTemplates.WebConfigTemplate, WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null))); }
public void WebConfigTransform_UsingAspNetCoreModule_SupportsOutOfProc(string elementName, string attributeName, string attributeValue) { // Template uses AspNetCoreModuleV1 var input = WebConfigTransformTemplates.WebConfigTemplate; var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: attributeValue, environmentName: null); Assert.Equal(attributeValue, (string)output.Descendants(elementName).Single().Attribute(attributeName)); }
public void WebConfigTransform_overwrites_stdoutLogPath_for_Azure() { var input = WebConfigTransformTemplates.WebConfigTemplate; var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: true, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null); Assert.Equal( @"\\?\%home%\LogFiles\stdout", (string)output.Descendants("aspNetCore").Single().Attribute("stdoutLogFile")); }
public void WebConfigTransform_fixes_aspnetcore_casing() { var input = WebConfigTemplate; input.Descendants("add").Single().SetAttributeValue("name", "aspnetcore"); Assert.True(XNode.DeepEquals(WebConfigTemplate, WebConfigTransform.Transform(input, "test.exe", configureForAzure: false, isPortable: false))); }
public void WebConfigTransform_overwrites_stdoutLogPath_for_Azure() { var input = WebConfigTemplate; var output = WebConfigTransform.Transform(input, "test.exe", configureForAzure: true, isPortable: false); Assert.Equal( @"\\?\%home%\LogFiles\stdout", (string)output.Descendants("aspNetCore").Single().Attribute("stdoutLogFile")); }
public void WebConfigTransform_wont_override_custom_values(string elementName, string attributeName, string attributeValue) { var input = WebConfigTemplate; input.Descendants(elementName).Single().SetAttributeValue(attributeName, attributeValue); var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreHostingModel: null, environmentName: null); Assert.Equal(attributeValue, (string)output.Descendants(elementName).Single().Attribute(attributeName)); }
public void WebConfigTransform_wont_override_custom_values(string elementName, string attributeName, string attributeValue) { var input = WebConfigTemplate; input.Descendants(elementName).Single().SetAttributeValue(attributeName, attributeValue); var output = WebConfigTransform.Transform(input, "test.exe", configureForAzure: false, isPortable: false); Assert.Equal(attributeValue, (string)output.Descendants(elementName).Single().Attribute(attributeName)); }
public void WebConfigTransform_will_UseHostingModel_FromWebConfigIfPresent(string elementName, string attributeName, string attributeValue) { var input = WebConfigTransformTemplates.WebConfigTemplate; input.Descendants(elementName).Single().SetAttributeValue(attributeName, attributeValue); var output = WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: "foo", environmentName: null); Assert.Equal(attributeValue, (string)output.Descendants(elementName).Single().Attribute(attributeName)); }
public void WebConfigTransform_adds_stdoutLogEnabled_if_attribute_is_missing() { var input = WebConfigTransformTemplates.WebConfigTemplate; input.Descendants("aspNetCore").Attributes("stdoutLogEnabled").Remove(); Assert.Equal( "false", (string)WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null) .Descendants().Attributes("stdoutLogEnabled").Single()); }
public void WebConfigTransform_configures_portable_apps_correctly() { var aspNetCoreElement = WebConfigTransform.Transform(WebConfigTemplate, "test.exe", configureForAzure: false, isPortable: true) .Descendants("aspNetCore").Single(); Assert.True(XNode.DeepEquals( XDocument.Parse(@"<aspNetCore processPath=""dotnet"" arguments="".\test.exe"" stdoutLogEnabled=""false"" stdoutLogFile="".\logs\stdout"" />").Root, aspNetCoreElement)); }
public void WebConfigTransform_adds_stdoutLogEnabled_if_attribute_is_missing() { var input = WebConfigTemplate; input.Descendants("aspNetCore").Attributes("stdoutLogEnabled").Remove(); Assert.Equal( "false", (string)WebConfigTransform.Transform(input, "test.exe", configureForAzure: false, isPortable: false) .Descendants().Attributes("stdoutLogEnabled").Single()); }
public void WebConfigTransform_configures_full_framework_apps_correctly() { var aspNetCoreElement = WebConfigTransform.Transform(WebConfigTransformTemplates.WebConfigTemplate, "test.exe", configureForAzure: false, useAppHost: false, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null) .Descendants("aspNetCore").Single(); Assert.True(XNode.DeepEquals( XDocument.Parse(@"<aspNetCore processPath="".\test.exe"" stdoutLogEnabled=""false"" stdoutLogFile="".\logs\stdout"" />").Root, aspNetCoreElement)); }
public void WebConfigTransform_adds_missing_elements(string[] elementNames) { var input = WebConfigTemplate; foreach (var elementName in elementNames) { input.Descendants(elementName).Remove(); } Assert.True(XNode.DeepEquals(WebConfigTemplate, WebConfigTransform.Transform(input, "test.exe", configureForAzure: false, isPortable: false))); }
private bool VerifyMissingElementCreated(params string[] elementNames) { var input = WebConfigTemplate; foreach (var elementName in elementNames) { input.Descendants(elementName).Remove(); } return(XNode.DeepEquals(WebConfigTemplate, WebConfigTransform.Transform(input, "test.exe", configureForAzure: false, isPortable: false))); }
public void WebConfigTransform_wont_override_existing_args_for_portable_apps(string inputArguments, string outputArguments) { var input = WebConfigTemplate; input.Descendants("aspNetCore").Single().SetAttributeValue("arguments", inputArguments); var aspNetCoreElement = WebConfigTransform.Transform(input, "myapp.dll", configureForAzure: false, isPortable: true) .Descendants("aspNetCore").Single(); Assert.Equal(outputArguments, (string)aspNetCoreElement.Attribute("arguments")); }
public void WebConfigTransform_removes_LAUNCHER_ARGS_from_arguments_for_standalone_apps(string inputArguments, string outputArguments) { var input = WebConfigTemplate; input.Descendants("aspNetCore").Single().SetAttributeValue("arguments", inputArguments); var aspNetCoreElement = WebConfigTransform.Transform(input, "test.exe", configureForAzure: false, isPortable: false) .Descendants("aspNetCore").Single(); Assert.Equal(outputArguments, (string)aspNetCoreElement.Attribute("arguments")); }
public void WebConfigTransform_adds_missing_elements(string[] elementNames) { var input = WebConfigTransformTemplates.WebConfigTemplate; foreach (var elementName in elementNames) { input.Descendants(elementName).Remove(); } Assert.True(XNode.DeepEquals(WebConfigTransformTemplates.WebConfigTemplate, WebConfigTransform.Transform(input, "test.dll", configureForAzure: false, useAppHost: true, extension: ".exe", aspNetCoreModuleName: null, aspNetCoreHostingModel: null, environmentName: null))); }
protected void Page_Load(object sender, EventArgs e) { var transform = new WebConfigTransform(); litOutput.Text = HttpUtility.HtmlEncode(transform.Process("Release")); }