private ScriptRunner CreateScriptRunner() { var logFactory = TestOutputHelper.CreateTestLogFactory(); var scriptCompiler = new ScriptCompiler(logFactory, false); return(new ScriptRunner(scriptCompiler, logFactory, ScriptConsole.Default)); }
public void ShouldThrowExceptionOnRestoreError() { using (var projectFolder = new DisposableFolder()) { var pathToProjectFile = Path.Combine(projectFolder.Path, "script.csproj"); var projectFile = new ProjectFile(); projectFile.PackageReferences.Add(ValidPackageReferenceA); projectFile.PackageReferences.Add(InvalidPackageReferenceA); projectFile.PackageReferences.Add(ValidPackageReferenceB); projectFile.Save(pathToProjectFile); var projectFileInfo = new ProjectFileInfo(pathToProjectFile, string.Empty); var logFactory = TestOutputHelper.CreateTestLogFactory(); var commandRunner = new CommandRunner(logFactory); var restorer = new DotnetRestorer(commandRunner, logFactory); var exception = Assert.Throws <Exception>(() => { restorer.Restore(projectFileInfo, Array.Empty <string>()); }); Assert.Contains("NU1101", exception.Message); // unable to find package } }
public void ShouldRestoreProjectPackageReferences() { using (var projectFolder = new DisposableFolder()) { var pathToProjectFile = Path.Combine(projectFolder.Path, "script.csproj"); var projectFile = new ProjectFile(); projectFile.PackageReferences.Add(ValidPackageReferenceA); projectFile.PackageReferences.Add(ValidPackageReferenceB); projectFile.Save(pathToProjectFile); var projectFileInfo = new ProjectFileInfo(pathToProjectFile, string.Empty); var logFactory = TestOutputHelper.CreateTestLogFactory(); var commandRunner = new CommandRunner(logFactory); var restorer = new DotnetRestorer(commandRunner, logFactory); var pathToProjectObjDirectory = Path.Combine(projectFolder.Path, "obj"); Assert.False(Directory.Exists(pathToProjectObjDirectory)); restorer.Restore(projectFileInfo, Array.Empty <string>()); Assert.True(Directory.Exists(pathToProjectObjDirectory)); } }
public void ShouldThrowMeaningfulExceptionWhenPassingAnInvalidAssetsFile() { var pathToAssetsFile = Path.Combine(Path.GetTempPath(), "project.assets.json"); var dependencyResolver = new ScriptDependencyContextReader(TestOutputHelper.CreateTestLogFactory()); var exception = Assert.Throws <InvalidOperationException>(() => dependencyResolver.ReadDependencyContext(pathToAssetsFile)); Assert.Contains("Make sure that the file exists and that it is a valid 'project.assets.json' file.", exception.Message); }
private static Scaffolder CreateTestScaffolder(string installLocation) { var scriptEnvironment = (ScriptEnvironment)Activator.CreateInstance(typeof(ScriptEnvironment), nonPublic: true); var installLocationField = typeof(ScriptEnvironment).GetField("_installLocation", BindingFlags.NonPublic | BindingFlags.Instance); installLocationField.SetValue(scriptEnvironment, new Lazy <string>(() => installLocation)); var scriptConsole = new ScriptConsole(StringWriter.Null, StringReader.Null, StreamWriter.Null); var scaffolder = new Scaffolder(TestOutputHelper.CreateTestLogFactory(), scriptConsole, scriptEnvironment); return(scaffolder); }
public void ShouldThrowMeaningfulExceptionWhenRuntimeTargetIsMissing() { using (var projectFolder = new DisposableFolder()) { ProcessHelper.RunAndCaptureOutput("dotnet", "new console -n SampleLibrary", projectFolder.Path); ProcessHelper.RunAndCaptureOutput("dotnet", "restore", projectFolder.Path); var pathToAssetsFile = Path.Combine(projectFolder.Path, "SampleLibrary", "obj", "project.assets.json"); var dependencyResolver = new ScriptDependencyContextReader(TestOutputHelper.CreateTestLogFactory()); var exception = Assert.Throws <InvalidOperationException>(() => dependencyResolver.ReadDependencyContext(pathToAssetsFile)); Assert.Contains("Make sure that the project file was restored using a RID (runtime identifier).", exception.Message); } }
private ScriptParser CreateParser() { return(new ScriptParser(TestOutputHelper.CreateTestLogFactory())); }
private CompilationDependencyResolver CreateCompilationDependencyResolver() { var resolver = new CompilationDependencyResolver(TestOutputHelper.CreateTestLogFactory()); return(resolver); }
static ScriptTestRunner() { // Redirect log messages to the test output window when running in process (DEBUG) Program.CreateLogFactory = (verbosity, debugMode) => TestOutputHelper.CreateTestLogFactory(); }
private RuntimeDependencyResolver CreateRuntimeDependencyResolver() { var resolver = new RuntimeDependencyResolver(TestOutputHelper.CreateTestLogFactory(), useRestoreCache: false); return(resolver); }
private LogFactory GetLogFactory() { return(TestOutputHelper.CreateTestLogFactory()); }
private ScriptProjectProvider CreateProvider() { ScriptProjectProvider provider = new ScriptProjectProvider(TestOutputHelper.CreateTestLogFactory()); return(provider); }