/// <summary> /// Add a web.config file if we detect a Node site /// </summary> private void AddIISNodeConfig(DeploymentContext context) { var nodeSiteEnabler = new NodeSiteEnabler( new FileSystem(), repoFolder: _sourcePath, siteFolder: context.OutputPath, scriptPath: _scriptPath, settings: _settings); // Check if need to do anythng related to Node if (nodeSiteEnabler.NeedNodeHandling()) { // If we can figure out the start file, create the config file. // Otherwise give a warning string nodeStartFile = nodeSiteEnabler.GetNodeStartFile(); if (nodeStartFile != null) { context.Logger.Log(Resources.Log_CreatingNodeConfig); nodeSiteEnabler.CreateConfigFile(nodeStartFile); } else { context.Logger.Log(Resources.Log_NodeWithMissingServerJs); } } }
public void TestJsFileWithExtraNonNodeFile(string nonNodeFile) { var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData> { { @"c:\site\hello.js", new MockFileData("some js") }, { @"c:\site\" + nonNodeFile, new MockFileData("some file") }, }); var nodeSiteEnabler = new NodeSiteEnabler(fileSystem, @"c:\repo", @"c:\site"); Assert.False(nodeSiteEnabler.NeedNodeHandling()); }
public void TestServerJsWithExistingRepoConfig() { var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData> { { @"c:\site\server.js", new MockFileData("some js") }, { @"c:\repo\web.config", new MockFileData("some config") }, }); var nodeSiteEnabler = new NodeSiteEnabler(fileSystem, @"c:\repo", @"c:\site", null, new MockDeploymentSettingsManager()); Assert.False(nodeSiteEnabler.NeedNodeHandling()); }
public void TestJsFileWithExtraRandomFile() { var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData> { { @"c:\site\hello.js", new MockFileData("some js") }, { @"c:\site\foo.blah", new MockFileData("some file") }, }); var nodeSiteEnabler = new NodeSiteEnabler(fileSystem, @"c:\repo", @"c:\site"); Assert.True(nodeSiteEnabler.NeedNodeHandling()); Assert.Equal(null, nodeSiteEnabler.GetNodeStartFile()); }
public void TestJsFileWithAspxAndNodesModuleFolder() { var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData> { { @"c:\site\hello.js", new MockFileData("some js") }, { @"c:\site\hello.aspx", new MockFileData("some aspx") }, { @"c:\site\node_modules\foo.txt", new MockFileData("some file") }, }); var nodeSiteEnabler = new NodeSiteEnabler(fileSystem, @"c:\repo", @"c:\site"); Assert.True(nodeSiteEnabler.NeedNodeHandling()); Assert.Equal(null, nodeSiteEnabler.GetNodeStartFile()); }
public void TestServerJsWithExistingSiteConfig() { var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData> { { @"c:\site\server.js", new MockFileData("some js") }, { @"c:\site\web.config", new MockFileData("some config") }, }); var nodeSiteEnabler = new NodeSiteEnabler(fileSystem, @"c:\repo", @"c:\site", null, new MockDeploymentSettingsManager()); Assert.True(nodeSiteEnabler.NeedNodeHandling()); nodeSiteEnabler.CreateConfigFile("server.js"); Assert.True(fileSystem.File.ReadAllText(@"c:\site\web.config").Contains("server.js")); }
public void TestJustOneStartFile(string existingStartFile) { var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData> { { @"c:\site\" + existingStartFile, new MockFileData("some js") }, { @"c:\site\foo.blah", new MockFileData("some file") }, }); var nodeSiteEnabler = new NodeSiteEnabler(fileSystem, @"c:\repo", @"c:\site"); Assert.True(nodeSiteEnabler.NeedNodeHandling()); string startFile = nodeSiteEnabler.GetNodeStartFile(); Assert.Equal(existingStartFile, startFile); Assert.False(fileSystem.File.Exists(@"c:\site\web.config")); nodeSiteEnabler.CreateConfigFile(startFile); Assert.True(fileSystem.File.Exists(@"c:\site\web.config")); Assert.True(fileSystem.File.ReadAllText(@"c:\site\web.config").Contains(existingStartFile)); }
/// <summary> /// Add a web.config file if we detect a Node site /// </summary> private void AddIISNodeConfig(DeploymentContext context) { var nodeSiteEnabler = new NodeSiteEnabler( new FileSystem(), repoFolder: _sourcePath, siteFolder: context.OutputPath, scriptPath: _scriptPath); // Check if need to do anythng related to Node if (nodeSiteEnabler.NeedNodeHandling()) { // If we can figure out the start file, create the config file. // Otherwise give a warning string nodeStartFile = nodeSiteEnabler.GetNodeStartFile(); if (nodeStartFile != null) { context.Logger.Log(Resources.Log_CreatingNodeConfig); nodeSiteEnabler.CreateConfigFile(nodeStartFile); } else { context.Logger.Log(Resources.Log_NodeWithMissingServerJs); } } }