public void Should_Create_new_Config_File() { var defaultEntrypointDetector = new MockedDefaultEntrypointDetector(); var fileSystem = new FakeFileSystem("--", "{ 'name':'MyTest' }"); var resolver = new ConfigFileResolver(fileSystem); var parser = new ScriptsFileParser(defaultEntrypointDetector); var executor = new FakeExecutor(); var app = new Application(fileSystem, resolver, parser, executor); var result = app.Run(new string[] { "config-init" }); Assert.Equal(0, result); Assert.Equal(fileSystem.fileName, "./.dotnetexec.json"); // should be parsable var stream = fileSystem.OpenText("./.dotnetexec.json"); var pkg = parser.Parse(stream); Assert.Equal("app", pkg.Name); Assert.Equal("/bin/bash", pkg.Entrypoint); Assert.Equal(0, (int)pkg.Variables.Length); Assert.Equal(2, (int)pkg.Commands.Length); Assert.Equal("build", pkg.Commands[0].Name); Assert.Equal("dotnet build", pkg.Commands[0].Scripts[0]); Assert.Equal("test", pkg.Commands[1].Name); Assert.Equal("dotnet test", pkg.Commands[1].Scripts[0]); }
public void Should_Exists_Should_Return_False_If_File_Not_Found() { var fileSystem = new FakeFileSystem("dummy", ""); var resolver = new ConfigFileResolver(fileSystem); Assert.False(resolver.Exists(".dotnetexec.json")); }
public void Should_Exists_Should_Return_Content() { var fileSystem = new FakeFileSystem(".dotnetexec.json", "MyData"); var resolver = new ConfigFileResolver(fileSystem); var reader = resolver.OpenText(".dotnetexec.json"); var data = reader.ReadToEnd(); Assert.Equal("MyData", data); }
public void Should_Raise_If_File_Not_Found() { var fileSystem = new FakeFileSystem("dummy", ""); var resolver = new ConfigFileResolver(fileSystem); var parser = new ScriptsFileParser(new DefaultEntrypointDetector()); var executor = new Executor(); var app = new Application(fileSystem, resolver, parser, executor); Assert.Throws <FileNotFoundException>(() => app.Run(new string[] { })); }
public void Should_Return_Executed_Method_Result() { var fileSystem = new FakeFileSystem("./.dotnetexec.json", "{ 'name':'MyTest' }"); var resolver = new ConfigFileResolver(fileSystem); var parser = new ScriptsFileParser(new DefaultEntrypointDetector()); var executor = new FakeExecutor(); var app = new Application(fileSystem, resolver, parser, executor); Assert.Equal(-10, app.Run(new string[] { })); }
public void Should_Raise_If_Args_Null() { var fileSystem = new FakeFileSystem("./.dotnetexec.json", "Data"); var resolver = new ConfigFileResolver(fileSystem); var parser = new ScriptsFileParser(new DefaultEntrypointDetector()); var executor = new Executor(); var app = new Application(fileSystem, resolver, parser, executor); Assert.Throws <ArgumentNullException>(() => app.Run(null)); }