public void DeterminePrimaryScriptFile_NoFiles_Returns_Null() { string[] functionFiles = new string[0]; var fileSystem = new MockFileSystem(); fileSystem.AddDirectory(@"c:\functions"); Assert.Null(FunctionMetadataProvider.DeterminePrimaryScriptFile(null, @"c:\functions", fileSystem)); }
public void DeterminePrimaryScriptFile_NoFiles_ReturnsNull() { var functionConfig = new JObject(); string[] functionFiles = new string[0]; var fileSystem = new MockFileSystem(); fileSystem.AddDirectory(@"c:\functions"); Assert.Throws <FunctionConfigurationException>(() => FunctionMetadataProvider.DeterminePrimaryScriptFile(functionConfig, @"c:\functions", fileSystem)); }
public void DeterminePrimaryScriptFile_MultipleFiles_ConfigTrumpsConvention(string scriptFileProperty, string expedtedScriptFilePath) { var files = new Dictionary <string, MockFileData> { { expedtedScriptFilePath, new MockFileData(string.Empty) } }; var fileSystem = new MockFileSystem(files); string actualScriptFilePath = FunctionMetadataProvider.DeterminePrimaryScriptFile(scriptFileProperty, @"c:\functions", fileSystem); Assert.Equal(expedtedScriptFilePath, actualScriptFilePath); }
public void DeterminePrimaryScriptFile_SingleFile() { var files = new Dictionary <string, MockFileData> { { @"c:\functions\Run.csx", new MockFileData(string.Empty) } }; var fileSystem = new MockFileSystem(files); string scriptFile = FunctionMetadataProvider.DeterminePrimaryScriptFile(null, @"c:\functions", fileSystem); Assert.Equal(@"c:\functions\Run.csx", scriptFile); }
public void DeterminePrimaryScriptFile_MultipleFiles_SourceFileSpecified(string scriptFileName) { var files = new Dictionary <string, MockFileData> { { @"c:\functions\queueTrigger.py", new MockFileData(string.Empty) }, { @"c:\functions\helper.py", new MockFileData(string.Empty) }, { @"c:\functions\test.txt", new MockFileData(string.Empty) } }; var fileSystem = new MockFileSystem(files); string scriptFile = FunctionMetadataProvider.DeterminePrimaryScriptFile(scriptFileName, @"c:\functions", fileSystem); Assert.Equal(@"c:\functions\queueTrigger.py", scriptFile, StringComparer.OrdinalIgnoreCase); }
public void DeterminePrimaryScriptFile_MultipleFiles_IndexFilePresent() { var files = new Dictionary <string, MockFileData> { { @"c:\functions\index.js", new MockFileData(string.Empty) }, { @"c:\functions\test.txt", new MockFileData(string.Empty) } }; var fileSystem = new MockFileSystem(files); string scriptFile = FunctionMetadataProvider.DeterminePrimaryScriptFile("index.js", @"c:\functions", fileSystem); Assert.Equal(@"c:\functions\index.js", scriptFile); }
public void DeterminePrimaryScriptFile_MultipleFiles_NoClearPrimary_Returns_Null() { var functionConfig = new JObject(); var files = new Dictionary <string, MockFileData> { { @"c:\functions\foo.py", new MockFileData(string.Empty) }, { @"c:\functions\queueTrigger.py", new MockFileData(string.Empty) }, { @"c:\functions\helper.py", new MockFileData(string.Empty) }, { @"c:\functions\test.txt", new MockFileData(string.Empty) } }; var fileSystem = new MockFileSystem(files); Assert.Null(FunctionMetadataProvider.DeterminePrimaryScriptFile(null, @"c:\functions", fileSystem)); }
public void DeterminePrimaryScriptFile_MultipleFiles_RunFilePresent() { var functionConfig = new JObject(); var files = new Dictionary <string, MockFileData> { { @"c:\functions\Run.csx", new MockFileData(string.Empty) }, { @"c:\functions\Helper.csx", new MockFileData(string.Empty) }, { @"c:\functions\test.txt", new MockFileData(string.Empty) } }; var fileSystem = new MockFileSystem(files); string scriptFile = FunctionMetadataProvider.DeterminePrimaryScriptFile(null, @"c:\functions", fileSystem); Assert.Equal(@"c:\functions\Run.csx", scriptFile); }
public void DeterminePrimaryScriptFile_MultipleFiles_RunTrumpsIndex() { var functionConfig = new JObject(); var files = new Dictionary <string, MockFileData> { { @"c:\functions\run.js", new MockFileData(string.Empty) }, { @"c:\functions\index.js", new MockFileData(string.Empty) }, { @"c:\functions\test.txt", new MockFileData(string.Empty) } }; var fileSystem = new MockFileSystem(files); string scriptFile = FunctionMetadataProvider.DeterminePrimaryScriptFile(functionConfig, @"c:\functions", fileSystem); Assert.Equal(@"c:\functions\run.js", scriptFile); }
public void DeterminePrimaryScriptFile_MultipleFiles_ConfigTrumpsConvention() { JObject functionConfig = new JObject() { { "scriptFile", "queueTrigger.py" } }; var files = new Dictionary <string, MockFileData> { { @"c:\functions\run.py", new MockFileData(string.Empty) }, { @"c:\functions\queueTrigger.py", new MockFileData(string.Empty) }, { @"c:\functions\helper.py", new MockFileData(string.Empty) }, { @"c:\functions\test.txt", new MockFileData(string.Empty) } }; var fileSystem = new MockFileSystem(files); string scriptFile = FunctionMetadataProvider.DeterminePrimaryScriptFile(functionConfig, @"c:\functions", fileSystem); Assert.Equal(@"c:\functions\queueTrigger.py", scriptFile); }
public void DeterminePrimaryScriptFile_RelativeSourceFileSpecified() { JObject functionConfig = new JObject() { { "scriptFile", @"..\shared\queuetrigger.py" } }; var files = new Dictionary <string, MockFileData> { { @"c:\shared\queueTrigger.py", new MockFileData(string.Empty) }, { @"c:\functions\queueTrigger.py", new MockFileData(string.Empty) }, { @"c:\functions\helper.py", new MockFileData(string.Empty) }, { @"c:\functions\test.txt", new MockFileData(string.Empty) } }; var fileSystem = new MockFileSystem(files); string scriptFile = FunctionMetadataProvider.DeterminePrimaryScriptFile(functionConfig, @"c:\functions", fileSystem); Assert.Equal(@"c:\shared\queueTrigger.py", scriptFile, StringComparer.OrdinalIgnoreCase); }