public void Should_Execute_Script_Code() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script, fixture.ArgumentDictionary); // Then fixture.Session.Received(1).Execute(fixture.GetExpectedSource()); }
public void Should_Create_Session_Via_Session_Factory() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script, fixture.ArgumentDictionary); // Then fixture.Engine.Received(1).CreateSession(fixture.Host); }
public void Should_Execute_Script_Code() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script); // Then fixture.Session.Received(1).Execute(Arg.Any <Script>()); }
public void Should_Throw_If_Script_Is_Null() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When var result = Record.Exception(() => runner.Run(fixture.Host, null, fixture.ArgumentDictionary)); // Then Assert.IsArgumentNullException(result, "script"); }
public void Should_Throw_If_Arguments_Are_Null() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When var result = Record.Exception(() => runner.Run(fixture.Host, fixture.Script, null)); // Then Assert.IsArgumentNullException(result, "arguments"); }
public void Should_Add_Namespaces_To_Session(string @namespace) { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Options); // Then fixture.Session.Received(1).ImportNamespace(@namespace); }
public void Should_Set_Working_Directory_To_Script_Directory() { // Given var fixture = new ScriptRunnerFixture("/build/build.cake"); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script, fixture.ArgumentDictionary); // Then Assert.Equal("/build", fixture.Environment.WorkingDirectory.FullPath); }
public void Should_Execute_Script_Code() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Options); // Then fixture.Session.Received(1).Execute(fixture.Source); }
public void Should_Initialize_Script_Session_Factory() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Options); // Then fixture.SessionFactory.Received(1).Initialize(); }
public void Should_Create_Session_Via_Session_Factory() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Options); // Then fixture.SessionFactory.Received(1).CreateSession(fixture.Host); }
public void Should_Add_References_To_Session(string @assemblyName) { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Options); // Then fixture.Session.Received(1).AddReference( Arg.Is <Assembly>(a => a.FullName.StartsWith(assemblyName + ", ", StringComparison.OrdinalIgnoreCase))); }
public void Should_Throw_If_Session_Factory_Is_Null() { // Given var fixture = new ScriptRunnerFixture(); fixture.SessionFactory = null; // When var result = Record.Exception(() => fixture.CreateScriptRunner()); // Then Assert.IsArgumentNullException(result, "sessionFactory"); }
public void Should_Set_Working_Directory_To_Script_Directory() { // Given var fixture = new ScriptRunnerFixture("/build/build.cake"); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Options); // Then fixture.Environment.Received(1).WorkingDirectory = Arg.Is <DirectoryPath>(p => p.FullPath == "/build"); }
public void Should_Throw_If_Script_Conventions_Is_Null() { // Given var fixture = new ScriptRunnerFixture(); fixture.ScriptConventions = null; // When var result = Record.Exception(() => fixture.CreateScriptRunner()); // Then Assert.IsArgumentNullException(result, "conventions"); }
public void Should_Generate_Script_Aliases() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script, fixture.ArgumentDictionary); // Then fixture.AliasFinder.Received(1).FindAliases( Arg.Any <IEnumerable <Assembly> >()); }
public void Should_Throw_If_Environment_Is_Null() { // Given var fixture = new ScriptRunnerFixture(); fixture.Environment = null; // When var result = Record.Exception(() => fixture.CreateScriptRunner()); // Then Assert.IsArgumentNullException(result, "environment"); }
public void Should_Throw_If_Script_Alias_Generator_Is_Null() { // Given var fixture = new ScriptRunnerFixture(); fixture.AliasGenerator = null; // When var result = Record.Exception(() => fixture.CreateScriptRunner()); // Then Assert.IsArgumentNullException(result, "aliasGenerator"); }
public void Should_Throw_If_AssemblyLoader_Is_Null() { // Given var fixture = new ScriptRunnerFixture(); fixture.AssemblyLoader = null; // When var result = Record.Exception(() => fixture.CreateScriptRunner()); // Then Assert.IsArgumentNullException(result, "assemblyLoader"); }
public void Should_Throw_If_Script_Host_Is_Null() { // Given var fixture = new ScriptRunnerFixture(); fixture.Host = null; // When var result = Record.Exception(() => fixture.CreateScriptRunner()); // Then Assert.IsType <ArgumentNullException>(result); Assert.Equal("host", ((ArgumentNullException)result).ParamName); }
public void Should_Set_Arguments() { // Given var fixture = new ScriptRunnerFixture(); fixture.Options.Arguments.Add("A", "B"); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Options); // Then Assert.True(fixture.Arguments.HasArgument("A")); }
public void Should_Send_Absolute_Install_Path_To_Script_Processor_When_Installing_Tools() { // Given var fixture = new ScriptRunnerFixture("/Working/foo/build.cake"); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, "./foo/build.cake"); // Then fixture.ScriptProcessor.Received(1).InstallTools( Arg.Any <IReadOnlyCollection <PackageReference> >(), Arg.Is <DirectoryPath>(p => p.FullPath == "/Working/foo/tools")); }
public void Should_Set_Arguments() { // Given var fixture = new ScriptRunnerFixture(); fixture.ArgumentDictionary.Add("A", "B"); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script, fixture.ArgumentDictionary); // Then fixture.Arguments.Received(1).SetArguments(fixture.ArgumentDictionary); }
public void Should_Install_Addins_At_Default_Location_If_No_Configuration_Is_Present() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script, fixture.ArgumentDictionary); // Then fixture.ScriptProcessor.Received(1).InstallAddins( Arg.Any <ScriptAnalyzerResult>(), Arg.Is <DirectoryPath>(path => path.FullPath == "/Working/tools/Addins")); }
public void Should_Send_Absolute_Install_Path_To_Script_Processor_When_Installing_Tools() { // Given var fixture = new ScriptRunnerFixture("/Working/foo/build.cake"); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, "./foo/build.cake", fixture.ArgumentDictionary); // Then fixture.ScriptProcessor.Received(1).InstallTools( Arg.Any <ScriptAnalyzerResult>(), Arg.Is <DirectoryPath>(p => p.FullPath == "/Working/foo/tools")); }
public void Should_Install_Addins_At_Default_Location_If_No_Configuration_Is_Present() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script); // Then fixture.ScriptProcessor.Received(1).InstallAddins( Arg.Any <IReadOnlyCollection <PackageReference> >(), Arg.Is <DirectoryPath>(path => path.FullPath == "/Working/tools/Addins")); }
public void Should_Generate_Script_Aliases() { // Given var fixture = new ScriptRunnerFixture(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Options); // Then fixture.AliasGenerator.Received(1).GenerateScriptAliases( Arg.Any <ScriptProcessorContext>(), Arg.Any <IEnumerable <Assembly> >()); }
public void Should_Remove_Directory_From_Script_Path(string path) { // Given var fixture = new ScriptRunnerFixture(path); fixture.ScriptProcessor = Substitute.For <IScriptProcessor>(); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script, fixture.ArgumentDictionary); // Then fixture.ScriptProcessor.Received(1).Process( Arg.Is <FilePath>(p => p.FullPath == "build.cake"), Arg.Any <ScriptProcessorContext>()); }
public void Should_Install_Addins_At_Location_In_Configuration() { // Given var fixture = new ScriptRunnerFixture(); fixture.Configuration.GetValue(Constants.Paths.Addins).Returns("./stuff"); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script, fixture.ArgumentDictionary); // Then fixture.ScriptProcessor.Received(1).InstallAddins( Arg.Any <ScriptAnalyzerResult>(), Arg.Is <DirectoryPath>(path => path.FullPath == "/Working/stuff")); }
public void Should_Install_Addins_At_Location_In_Configuration() { // Given var fixture = new ScriptRunnerFixture(); fixture.Configuration.GetValue(Constants.Paths.Addins).Returns("./stuff"); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script); // Then fixture.ScriptProcessor.Received(1).InstallAddins( Arg.Any <IReadOnlyCollection <PackageReference> >(), Arg.Is <DirectoryPath>(path => path.FullPath == "/Working/stuff")); }
public void Should_Remove_Directory_From_Script_Path(string path) { // Given var fixture = new ScriptRunnerFixture(path); fixture.ScriptAnalyzer = Substitute.For <IScriptAnalyzer>(); fixture.ScriptAnalyzer.Analyze(Arg.Any <FilePath>()) .Returns(new ScriptAnalyzerResult(new ScriptInformation(path), new List <string>())); var runner = fixture.CreateScriptRunner(); // When runner.Run(fixture.Host, fixture.Script, fixture.ArgumentDictionary); // Then fixture.ScriptAnalyzer.Received(1).Analyze( Arg.Is <FilePath>(f => f.FullPath == "build.cake")); }