public void ShouldShowErrorIfOneOfPackagesFail() { var callbacks = new List <string>(); var provider = new Mock <IInstallationProvider>(); provider.Setup( i => i.InstallPackage(It.IsAny <IPackageReference>(), It.IsAny <bool>(), It.IsAny <Action <string> >())) .Returns(true); provider.Setup( i => i.InstallPackage(It.Is <IPackageReference>(x => x.PackageId == "testId"), It.IsAny <bool>(), It.IsAny <Action <string> >())) .Returns(false); var references = new List <IPackageReference> { new PackageReference("testId", VersionUtility.ParseFrameworkName("net40"), new Version("3.0")), new PackageReference("testId2", VersionUtility.ParseFrameworkName("net40"), new Version("4.0")), new PackageReference("testId3", VersionUtility.ParseFrameworkName("net40"), new Version("5.0")) }; var installer = new PackageInstaller(provider.Object); installer.InstallPackages(references, true, msg => callbacks.Add(msg)); provider.Verify(i => i.InstallPackage(It.IsAny <IPackageReference>(), It.IsAny <bool>(), It.IsAny <Action <string> >()), Times.Exactly(3)); callbacks.Count.ShouldEqual(1); callbacks.Count(x => x.EndsWith("unsuccessful.")).ShouldEqual(1); }
private void InstallPackages() { System.Diagnostics.Stopwatch stopwatch = System.Diagnostics.Stopwatch.StartNew(); using (Trace.WithIndent().Information("Installing NuGet packages")) { PackageInstaller.InstallPackages(); stopwatch.Stop(); Trace.Information($"NuGet packages installed in {stopwatch.ElapsedMilliseconds} ms"); } }
private void InstallPackages(FilePath configFilePath) { Stopwatch stopwatch = Stopwatch.StartNew(); using (Trace.WithIndent().Information("Installing NuGet packages")) { PackageInstaller.InstallPackages(configFilePath); stopwatch.Stop(); Trace.Information($"NuGet packages installed in {stopwatch.ElapsedMilliseconds} ms"); } }
// Initialize the assembly manager (includes searching for module types) private void Initialize() { // Install packages using (Trace.WithIndent().Information("Installing NuGet packages")) { PackageInstaller.InstallPackages(); } // Scan assemblies using (Trace.WithIndent().Information("Loading assemblies and scanning for types")) { AssemblyLoader.LoadAssemblies(); } }
public async Task InstallDependencies() { if (MissingDepdencies.Any()) { await PackageInstaller.InstallPackages(MissingDepdencies); var readMeGenerator = ActivatorUtilities.CreateInstance <ReadMeGenerator>(ServiceProvider); var isReadMe = await readMeGenerator.GenerateStartupOrReadme(StartupContents.ToList()); if (isReadMe) { Logger.LogMessage("There are probably still some manual steps required"); Logger.LogMessage("Checkout the " + Constants.ReadMeOutputFileName + " file that got generated"); } } }
public void ShouldInstallAllPassedPackages() { var provider = new Mock <IInstallationProvider>(); var references = new List <IPackageReference> { new PackageReference("testId", VersionUtility.ParseFrameworkName("net40"), new Version("3.0")), new PackageReference("testId2", VersionUtility.ParseFrameworkName("net40"), new Version("4.0")), new PackageReference("testId3", VersionUtility.ParseFrameworkName("net40"), new Version("5.0")) }; var installer = new PackageInstaller(provider.Object, new TestLogProvider()); installer.InstallPackages(references); provider.Verify(i => i.InstallPackage(It.IsAny <IPackageReference>(), It.IsAny <bool>()), Times.Exactly(3)); }
public void ShouldNotInstallExistingPackages() { var provider = new Mock<IInstallationProvider>(); provider.Setup( i => i.IsInstalled(It.Is<IPackageReference>(x => x.PackageId == "testId"), It.IsAny<bool>())) .Returns(true); var references = new List<IPackageReference> { new PackageReference("testId", VersionUtility.ParseFrameworkName("net40"), new Version("3.0")), new PackageReference("testId2", VersionUtility.ParseFrameworkName("net40"), new Version("4.0")), new PackageReference("testId3", VersionUtility.ParseFrameworkName("net40"), new Version("5.0")) }; var installer = new PackageInstaller(provider.Object); installer.InstallPackages(references); provider.Verify(i => i.InstallPackage(It.Is<IPackageReference>(x => x.PackageId == "testId"), It.IsAny<bool>(), It.IsAny<Action<string>>()), Times.Never()); }
public void ShouldNotInstallExistingPackages() { var provider = new Mock <IInstallationProvider>(); provider.Setup( i => i.IsInstalled(It.Is <IPackageReference>(x => x.PackageId == "testId"), It.IsAny <bool>())) .Returns(true); var references = new List <IPackageReference> { new PackageReference("testId", VersionUtility.ParseFrameworkName("net40"), new Version("3.0")), new PackageReference("testId2", VersionUtility.ParseFrameworkName("net40"), new Version("4.0")), new PackageReference("testId3", VersionUtility.ParseFrameworkName("net40"), new Version("5.0")) }; var installer = new PackageInstaller(provider.Object); installer.InstallPackages(references); provider.Verify(i => i.InstallPackage(It.Is <IPackageReference>(x => x.PackageId == "testId"), It.IsAny <bool>(), It.IsAny <Action <string> >()), Times.Never()); }
public void ShouldShowSuccessIfNoneOfPackagesFail() { var logger = new Mock <ILog>(); var provider = new Mock <IInstallationProvider>(); provider.Setup( i => i.InstallPackage(It.IsAny <IPackageReference>(), It.IsAny <bool>())) .Returns(true); var references = new List <IPackageReference> { new PackageReference("testId", VersionUtility.ParseFrameworkName("net40"), new Version("3.0")), new PackageReference("testId2", VersionUtility.ParseFrameworkName("net40"), new Version("4.0")), new PackageReference("testId3", VersionUtility.ParseFrameworkName("net40"), new Version("5.0")) }; var installer = new PackageInstaller(provider.Object, logger.Object); installer.InstallPackages(references, true); logger.Verify(i => i.Info(It.Is <string>(x => x.EndsWith("successful."))), Times.Once()); }
public void ShouldShowErrorIfOneOfPackagesFail() { var provider = new Mock <IInstallationProvider>(); provider.Setup( i => i.InstallPackage(It.Is <IPackageReference>(x => x.PackageId == "testId"), It.IsAny <bool>())) .Throws <Exception>(); var references = new List <IPackageReference> { new PackageReference("testId", VersionUtility.ParseFrameworkName("net40"), new Version("3.0")), new PackageReference("testId2", VersionUtility.ParseFrameworkName("net40"), new Version("4.0")), new PackageReference("testId3", VersionUtility.ParseFrameworkName("net40"), new Version("5.0")) }; var installer = new PackageInstaller(provider.Object, new TestLogProvider()); var exception = Record.Exception(() => installer.InstallPackages(references, true)); provider.Verify(i => i.InstallPackage(It.IsAny <IPackageReference>(), It.IsAny <bool>()), Times.Exactly(3)); exception.ShouldBeType <AggregateException>(); ((AggregateException)exception).InnerExceptions.Count.ShouldEqual(1); }
public async Task InstallDependencies() { if (MissingDepdencies.Any()) { var isReadMe = true; var readMeGenerator = ActivatorUtilities.CreateInstance <ReadMeGenerator>(ServiceProvider); if (IsMsBuildProject) { readMeGenerator.GenerateReadMeWithContent(GetMsBuildMissingDependencyReadMeText(MissingDepdencies)); } else { await PackageInstaller.InstallPackages(MissingDepdencies); isReadMe = await readMeGenerator.GenerateStartupOrReadme(StartupContents.ToList()); } if (isReadMe) { Logger.LogMessage(MessageStrings.AdditionalStepsRequired); Logger.LogMessage(string.Format(MessageStrings.CheckoutReadMe, Constants.ReadMeOutputFileName)); } } }
public void ShouldThrowArgumentNullExWhenNoPackageIdsPassed() { var installer = new PackageInstaller(new Mock <IInstallationProvider>().Object, new Mock <ILog>().Object); Assert.Throws <ArgumentNullException>(() => installer.InstallPackages(null)); }
public void ShouldShowSuccessIfNoneOfPackagesFail() { var callbacks = new List<string>(); var provider = new Mock<IInstallationProvider>(); provider.Setup( i => i.InstallPackage(It.IsAny<IPackageReference>(), It.IsAny<bool>(), It.IsAny<Action<string>>())) .Returns(true); var references = new List<IPackageReference> { new PackageReference("testId", VersionUtility.ParseFrameworkName("net40"), new Version("3.0")), new PackageReference("testId2", VersionUtility.ParseFrameworkName("net40"), new Version("4.0")), new PackageReference("testId3", VersionUtility.ParseFrameworkName("net40"), new Version("5.0")) }; var installer = new PackageInstaller(provider.Object); installer.InstallPackages(references, true, msg => callbacks.Add(msg)); callbacks.Count.ShouldEqual(1); callbacks.Count(x => x.EndsWith("successful.")).ShouldEqual(1); }
public void ShouldThrowArgumentNullExWhenNoPackageIdsPassed() { var installer = new PackageInstaller(new Mock<IInstallationProvider>().Object); Assert.Throws<ArgumentNullException>(() => installer.InstallPackages(null)); }